La solución es sencilla: automatizar con Applescript estas operaciones.
Este script puede adaptarse fácilmente para solo expulsar, o solo montar discos o incluso añadirle un cuadro de diálogo para realizar una de estas acciones:
tell application “Finder”
if disk diskName exists then
eject disk diskName
else
tell current application
set deviceLine to (do shell script “diskutil list | grep “” & diskName & “” | awk ‘{ print substr($0,69,9) }'”)
if deviceLine = “” then
display dialog “El disco “” & diskName & “” no puede encontrarse.” buttons {“OK”} default button 1 with title “Error” with icon caution
end if
set foundDisks to paragraphs of deviceLine
repeat with i from 1 to number of items in foundDisks
set this_item to item i of foundDisks
if this_item contains “disk” then
do shell script “diskutil mountDisk /dev/” & this_item
end if
end repeat
end tell
end if
end tell
Fuente: mac OS X Hints
Gracias
Una cosita:
Cuando el primer IF es FALSE el script funciona perfectamente pero cuando es TRUE, la linea “eject disk diskName” devuelve ” –> error number 0″ y no lo desmonta.
A qué se debe? alguna ayudita?
Creo que sé a que se debe el problema:
En mi caso lo que quiero desmontar es una partición del disco de sistema (tengo Snow y Lion). Existe alguna denominación para la PARTICIÓN en vez de para el DISK?