He creado un launchd
agente que se abre un no-protegido con contraseña escasa imagen de disco (y monta su solitaria volumen) diariamente a las 2:45 horas, en la preparación para el software de copia de seguridad a escribir en el volumen. El launchd
del agente plist archivo se guarda en ~/Library/LaunchAgents/
. Aquí están las plist del archivo de parámetros:
Label: my.DiskImageOpener
KeepAlive: NO
RunAtLoad: NO
StartCalendar:
Hour: 2
Minute: 45
ProgramArguments:
hdiutil
attach
/path/to/MyDiskImage.sparseimage
Mientras la pantalla de la computadora está despierto, el agente funciona como se anuncia, la apertura de la imagen de disco y el montaje de su volumen en el tiempo especificado en el lanzamiento del agente. Por otro lado, si la pantalla está apagada en el momento especificado en el lanzamiento del agente, la imagen de disco no se abre hasta que la pantalla es despertado de su sueño (incluso si es que después de varias horas), momento en el que la imagen de disco se abre inmediatamente y se monta su volumen. El mismo fenómeno sucede si puedo reemplazar el hdiutil attach /path/to/MyDiskImage.sparseimage
comando con open /path/to/MyDiskImage.sparseimage
, o colocar el comando en un ejecutable independiente script de shell que el lanzamiento del agente se ejecuta. También, aunque la pantalla se duerme cuando el descrito anteriormente, se produce el problema, el equipo en sí está despierto. También, he probado a tener el lanzamiento del agente de ejecutar un maniquí shell script ejecutable (echo $(date)
) en lugar de hdiutil
, y se ejecuta normalmente incluso cuando la pantalla está apagada.
Así que parece que el problema se produce específicamente cuando se trata de abrir una imagen de disco a partir de una launchd
lanzar el agente, mientras que la pantalla de la computadora está dormido. ¿Por qué la pantalla del sueño vs despierto estado tiene ningún efecto sobre la apertura de una imagen de disco? ¿Cómo puedo evitar este problema?
Estoy agradecido por cualquier ayuda con este intrincado problema. (Estoy usando un portátil MacBook Pro con OS X Mountain Lion 10.8.2.)