Al expulsar la unidad USB a través de AppleScript no se apaga la unidad

1

Al iniciar, expulso mis discos USB externos con el siguiente AppleScript:

try
    do shell script "diskutil eject \"/Volumes/USB Backup\""
end try

Esto funciona como se espera: la unidad se apaga. Sin embargo, cuando mi MacBook se despierta del modo de reposo (no se está utilizando), la unidad gira - no hay particiones montadas, pero la unidad aún está encendida y zumbando. Si reviso la aplicación Utilidad de Discos, veo que todas las unidades USB están en gris. Si hago clic con el botón derecho en una de las particiones y selecciono "Expulsar partición" (aunque son grises y simbolizan que se han expulsado), la unidad se apaga.

Sin embargo, es un poco molesto tener que ir constantemente a la Utilidad de Discos, así que pensé que podía volver a ejecutar mi script de inicio de sesión. Pero eso no funciona. Incluso si lo modifico para que funcione con el DeviceIdentifier

do shell script "diskutil unmountDisk disk1"

o

do shell script "diskutil eject disk1"

no funciona ¿Alguien tiene un consejo para mí sobre cómo puedo apagar el disco para que este horrible zumbido se detenga?

Adición posterior: noté algo interesante. No tiene nada que ver con el modo de suspensión de la computadora portátil, sino cuando mi Cinema Display se pone en suspensión (después de 1 minuto). La unidad USB está conectada a la pantalla de cine y cada vez que la pantalla se "despierta", el motor de la unidad gira. Ahora he intentado conectar la unidad USB a la MacBook Pro (el temporizador de apagado de quién es a los 30 minutos). Tal vez esto resuelva el problema a mitad de camino.

Joseph
fuente

Respuestas:

1

Para empezar, la apariencia atenuada en la Utilidad de Disco significa que el disco está desmontado no expulsado . Un disco expulsado no aparece en absoluto.

La razón por la que aparece es que cuando se despierta la pantalla de cine, la computadora ve que la unidad se muestra como si la hubieras enchufado. Escritorio.)

Una cosa que puede ayudar (particularmente en el caso de su segundo script) es usar el identificador de disco interno en lugar del nombre del disco. Puede encontrar el identificador accediendo a la Utilidad de Discos, seleccionando el disco (o partición) en cuestión, y presionando el botón Información (o presionando + yo ). En esa ventana, mire la etiqueta al lado de "Identificador de disco:". Un disco (disco duro completo) se vería como "disk0" o "disk2", una partición se parece a "disk0s0", "disk0s2" o "disk2s1". En lugar de usar diskutil eject DriveName, utilizar diskutil eject /dev/disk2s0.

CajunLuke
fuente
Eso parece haber hecho el truco ...
Joseph