Я пропоную використовувати демон, як SleepWatcher . Після встановлення SleepWatcher (посилання README, що додається до нього), ви можете запускати такі команди, як нижче.
/usr/local/sbin/sleepwatcher -s /path/to/sleepscript -w /path/to/wakeupscript
Сценарій
#!/bin/sh
osascript -e 'quit app "Mail"'
вийде з пошти та сценарію
#!/bin/sh
open -a /Applications/Mail.app $1
відкриє його. Ви можете зберегти їх у вигляді .sh
файлів і посилатись на них з "сонника", але переконайтеся, що ви запускаєте chmod +x filename.sh
їх, перш ніж спробувати запустити їх. В іншому випадку OS X не визнає їх виконаними.
Тепер у вас є два варіанти завантаження сну-спостерігача: ви можете вручну запустити його, ви можете налаштувати LaunchAgent для цього. Мені подобається останнє, тому створіть файл з /Library/LaunchAgents/
ім'ям com.custom.mailfix.plist
(ім'я неважливо, але я рекомендую вам зберегти форматування, "com" та "plist"). Вміст файлу має нагадувати таке.
<?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>
Як і раніше, замініть контури скриптів на шляхи до скриптів оболонки. Щоб сказати OS X запускати цей агент при запуску, запустіть
sudo launchctl load -w /Library/LaunchAgents/com.custom.mailfix.plist