Как принудительно выключать Мак по расписанию в определённое время

Посетитель нашего форума предложил нам подумать над интересной задачкой — как принудительно выключать компьютер под управлением Mac OS X в определённое время. Ключевое слово в предыдущей фразе — «принудительно». Думаем, что многие маководы знают: что в настройках системы, в пульте «Экономия энергии» можно настроить автоматическое включение, выключение, засыпание и пробуждение Мака по расписанию.

Но на практике этот способ отнюдь не идеален. Весьма вероятно, что на утро вы застанете Мак включённым, а на экране будет красоваться сообщение о том, что какая-либо из программ (например, Терминал или Evernote) инициировала отмену выключения.

Если вам нужно 100%-ное выключение Мака без всяких отговорок, то надо идти другим путём.

Разумнее всего создать стартовый агент — скрипт, который будет запускаться при включении компьютера и выполнять определённые действия.

В любом текстовом редакторе создайте файл следующего содержания:

[php]

Label
com.me.shutdown
ProgramArguments

shutdown
-h
now


StartCalendarInterval

Hour
22
Minute
50

[/php]

Обратите внимание на вторую половину файла — там задаётся время выключения компьютера.

Сохраните файл на Рабочий стол, затем переименуйте его в com.me.shutdown и поменяйте расширение на plist (полное название должно быть com.me.shutdown.plist). Затем откройте Терминал и выполните следующие команды (после первой нужно будет ввести пароль от вашего аккаута вслепую):

[php]sudo -s
mv ~/Desktop/com.me.shutdown.plist /Library/LaunchAgents
chown root /Library/LaunchAgents/com.me.shutdown.plist
launchctl load /Library/LaunchAgents/com.me.shutdown.plist[/php]

Теперь ваш Мак будет самопроизвольно выключаться в установленное время без каких-либо предупреждений и подтверждений. Главное — сами не пострадайте от этого :) Не забывайте вовремя сохранять документы, чтобы отключение не застало вас врасплох.