Yo sugiero utilizar un demonio como SleepWatcher. Una vez que hayas instalado SleepWatcher (ref. el archivo LÉAME incluido), puede ejecutar comandos como la siguiente.
/usr/local/sbin/sleepwatcher -s /path/to/sleepscript -w /path/to/wakeupscript
La secuencia de comandos
#!/bin/sh
osascript -e 'quit app "Mail"'
se salga de Correo, y la secuencia de comandos
#!/bin/sh
open -a /Applications/Mail.app $1
se abrirá. Usted puede guardar estos como .sh
archivos y hacer referencia a ellos desde sleepwatcher, pero asegúrese de que usted ejecute chmod +x filename.sh
de ellos antes de intentar ejecutarlos. De lo contrario, OS X no reconocerlos como ejecutable.
Ahora, usted tiene dos opciones para cargar sleepwatcher: puede ejecutarlo manualmente, puede configurar un LaunchAgent para hacerlo. Me gusta el último, así que crear un archivo en /Library/LaunchAgents/
nombre com.custom.mailfix.plist
(el nombre no es importante, pero te recomiendo que mantener el formato, el "com" y el "plist"). El contenido del archivo debe ser similar a la siguiente.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.custom.mailfix.plist</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/sleepwatcher</string>
<string></string>
<string>-s /path/to/sleepscript</string>
<string>-w /path/to/wakescript</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Como antes, reemplazar la secuencia de comandos de caminos con rutas de acceso a los scripts de shell. A decir de OS X para el lanzamiento de este agente en el inicio, ejecutar
sudo launchctl load -w /Library/LaunchAgents/com.custom.mailfix.plist