Подтвердить что ты не робот

Выполнить команду перед Mac, чтобы спать

Я написал программу C/LaunchDaemon, которая проверяет, находится ли мой MacBook дома (подключен к моей WLAN). Если это так, это отключает мою защиту паролем; если нет, он позволяет это.

Легко. Но проблема в том, что когда я беру свой MacBook где-нибудь еще, и защита паролем отключена, он просыпается без защиты паролем.

Мое исправление для этого было бы: включить защиту паролем каждый раз перед тем, как он перейдет в режим сна.

ВОПРОС: есть ли способ узнать, когда мой Mac готовится ко сну? Какой-то interupt я могу позволить моей программе слушать?

4b9b3361

Ответ 1

Вы можете сделать это с помощью набора I/O Kit, проверьте Apple QA1340: Регистрация и отмена регистрации для уведомлений о сон и бодрствованиях. Вы также можете захотеть проанализируйте источники SleepWatcher или используйте/интегрируйте для своих нужд. На главной странице:

SleepWatcher 2.2 (работает с Mac OS X 10.5 до 10.8, исходный код включен) это инструмент командной строки (демон) для Mac OS X, который контролирует сон, пробуждение и безделье Mac. Он может использоваться для выполнения команды Unix, когда Mac или дисплей Mac переходит в спящий режим или просыпается по истечении заданного времени без взаимодействия с пользователем или когда пользователь возобновляет работу после перерыва или когда блок питания ноутбука Mac подключен или отсоединен. Он также может отправьте Mac в спящий режим или найдите время с момента последнего действия пользователя. немного знаний командной строки Unix требуется для это программное обеспечение.