Suggerisco di usare un demone come SleepWatcher . Una volta installato SleepWatcher (vedi il README incluso in esso), puoi eseguire comandi come i seguenti.
/usr/local/sbin/sleepwatcher -s /path/to/sleepscript -w /path/to/wakeupscript
Lo script
#!/bin/sh
osascript -e 'quit app "Mail"'
uscirà da Mail e lo script
#!/bin/sh
open -a /Applications/Mail.app $1
lo aprirà. Puoi salvarli come .sh
file e farli riferimento da Sleepwatcher, ma assicurati di eseguire chmod +x filename.sh
su di essi prima di provare a eseguirli. Altrimenti, OS X non li riconoscerà come eseguibili.
Ora hai due opzioni per caricare lo sleepwatcher: puoi eseguirlo manualmente, puoi configurare un LaunchAgent per farlo. Mi piace quest'ultimo, quindi crea un file in /Library/LaunchAgents/
denominato com.custom.mailfix.plist
(il nome non è importante, ma ti consiglio di mantenere la formattazione, il "com" e il "plist"). Il contenuto del file dovrebbe essere simile al seguente.
<?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>
Come prima, sostituisci i percorsi di script con i percorsi degli script della shell. Per dire a OS X di lanciare questo agente all'avvio, lancia
sudo launchctl load -w /Library/LaunchAgents/com.custom.mailfix.plist