Tengo una nueva Macbook Pro de 13" que ejecuta Mavericks. Esta computadora está conectada a una unidad USB externa que uso para mis copias de seguridad de Time Machine y para el almacenamiento externo. El dia.
Cuando corro a una reunión, a la sala de servidores o me dirijo a casa al final del día, me gustaría hacer lo siguiente:
¿Hay alguna manera de hacer que la computadora desmonte automáticamente todas las unidades externas tan pronto como cierre la tapa de mi Mac?
Actualmente, si olvido desmontar las unidades externas, mi Mac me regaña más tarde con el error "El disco no se expulsó correctamente. Si es posible, expulse siempre un disco antes de desconectarlo o apagarlo".
Sé que es una buena práctica desmontar siempre un disco limpiamente antes de quitar la interfaz del disco, pero estoy buscando una solución automatizada. No me preocupa mucho si una imagen de copia de seguridad de Time Machine se interrumpe o daña, ya que una de las siguientes copias de seguridad posteriores funcionará y muy rara vez necesito restaurar desde la copia de seguridad. Dado que el sistema de archivos es un sistema de archivos de diario, el diario se ocupa de manera transparente de muchos otros errores de corrupción del sistema de archivos.
Hay una serie de aplicaciones que pueden ejecutar scripts en suspensión:
Un script bash como el siguiente desmontará todos los discos especificados:
VOLUMES="/Volumes/drive1 /Volumes/drive2 /Volumes/drive3"
for volume in $VOLUMES ; do [ -d $volume ] && umount -f $volume done
Para desmontar todos los volúmenes excepto /
:
umount -A
o más limpiamente…
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
Otra opción es Jettison (disponible a través de la App Store), es lo que he estado usando durante un par de meses y no he tenido ningún problema. Recientemente obtuvo la opción de volver a montar automáticamente los discos aún conectados cuando se despierta del modo de suspensión.
La versión 1.3.0 más nueva (solo descarga directa, supongo que está en camino a la App Store) cuesta más y explican por qué está en sus preguntas frecuentes.
Si leí correctamente, uno podría comprar la versión de la App Store por dos dólares y luego actualizar a la versión de descarga directa de forma gratuita, pero no lo he confirmado ni probado.
No es exactamente caro a ninguno de los dos precios, pero no es gratis como parece ser la opción SleepWatcher.
Elaboraré la respuesta de @grgarside.
Estoy usando SleepWatcher
Instalar desde puertos:
sudo port install sleepwatcher
Lea el manual en /opt/local/share/doc/sleepwatcher/ReadMe.rtf
y vía man sleepwatcher
. Lea este viejo Machint de Macworld: Cure un Mac insomne con SleepWatcher System . De acuerdo con Machint, simplemente puedo agregar código a ~/.sleep
and ~/.wakeup
, o a los archivos globales /etc/rc.sleep
& /etc/rc.wakeup
.
Coloque el siguiente código en ~/.sleep
:
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
Activar el vigilante del sueño. Cambiar <key>Disabled</key><true/>
a <key>Disabled</key><false/>
.
sudo vim /Library/LaunchDaemons/org.macports.sleepwatcher.plist
sudo launchctl load /Library/LaunchDaemons/org.macports.sleepwatcher.plist
sudo launchctl list | grep sleepwatcher
Verificar:
ps aux |grep [s]leepwatcher
root 421 0.0 0.0 2459568 1012 ?? Ss 2:45PM 0:00.00 /opt/local/bin/daemondo --label=sleepwatcher --start-cmd /opt/local/sbin/sleepwatcher --verbose --sleep /opt/local/etc/rc.sleep --wakeup /opt/local/etc/rc.wakeup ; --pid=exec
root 422 0.0 0.0 2460656 1888 ?? S 2:45PM 0:00.17 /opt/local/sbin/sleepwatcher --verbose --sleep /opt/local/etc/rc.sleep --wakeup /opt/local/etc/rc.wakeup
¡Hecho!
.plist
cosa correctamente.
bmike