Секреты Терминала. Часть 22: Управление питанием Мака

Terminal Icon

Продолжаем погружение в магию командной строки OS X, и на этот раз мы затронем тему питания Мака. Из цикла «Секреты Терминала» вы уже знаете, что окошко с мерцающей кареткой является пультом управление, которому также под силу разобраться с включением, перезагрузкой, режимами сна/пробуждения и многими другими функциями. Им и будет посвящена 22-я статья.

На английский язык слова «выключение», «перезагрузка» и «сон» переводятся как «halt», «restart» и «sleep». Из них мы будем брать первые буквы и подставлять в качестве различных аргументов для каждой операции, но лучше, конечно, распишем целиком.

Чтобы выключить систему, достаточно вбить:

sudo shutdown -h now

После нажатия на клавишу Enter придётся напечатать пароль, а уже затем экран моргнёт и быстро появится яблоко с полосой загрузки.

Мгновенная перезагрузка через Терминал осуществляется командой:

sudo shutdown -r now

Далее подтверждение и пароль — всё по аналогии.

Наконец, для погружения в сон напечатайте следующее:

sudo shutdown -s now

Поскольку все эти команды задействуют «sudo», то не стоит удивляться, что система спрашивает пароль.

Контроль сна

Как вы могли догадаться, этот материал не ограничится тремя простыми командами. Терминал довольно гибко настраивает погружение в спячку, и не поделиться этими возможностями — страшное преступление. Здесь, кстати, тоже будут три команды.

Чтобы задать время бездействия, по прошествии которого Мак отправится в мир сновидений, печатайте вот что (в расчёт принимаются минуты):

sudo systemsetup -setcomputersleep 60

Ровно через час компьютер заснёт. Само собой, число «60» вы можете поменять на желаемое.

Для отключения автоматической отправки в спячку вместо чисел напишите «Never», то его никогда не стоит засыпать («Off» тоже подойдёт):

sudo systemsetup -setcomputersleep Never

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

sudo systemsetup -getcomputersleep

Если отобразится время, вы будете знать, какой интервал простоя усыпит систему; высветится «Never» — Мак проигнорирует сон.

Заряжаем Терминал кофеином

Мы не устаём повторять, что Терминал способен заменить загрузку и покупку сторонних приложений с визуальным интерфейсом. Процедуры с кофеином — отличный тому пример, ведь несколько команд ниже оставят программу Caffeine без работы, обеспечив пользователей возможностями для пробуждения и бодрствования системы по расписанию.

Данная команда продержит Мак работающим ровно 1 час (3600 секунд). Амперсанд служит для того, чтобы процедура выполнялась в фоне:

caffeinate -t 3600 &

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

caffeinate -i long_running_script.sh

где аргумент «-i» предотвращает засыпание от бездействия системы. Также он может заменяться на другие аргументы:

  • «-d» — не даёт уснуть дисплею
  • «-m» — не даёт уснуть дискам
  • «-s» — держит всю систему в активном состоянии

Для тонкой настройки пробуждения:

caffeinate -u -t 1

Здесь аргумент «-u» отслеживает активность пользователя, будь то удар по клавишам или движение курсора мышки. Без аргумента «-t» (в нашем случае равен 1 секунде) время выхода из спячки обернётся 5-тью секундами вместо одной, которой более чем достаточно. Иначе вам банально будет действовать на нервы то, что машина загорается огнями не сразу, а как будто подвисая :)

Чтобы разбудить Мак удалённо, следует применить:

ssh mymac.local ‘caffeinate -u -t 1’

А для предотвращения засыпания используйте:

ssh mymac.local ‘caffeinate -u -t 14400’ &

Само собой, «mymac.local» — это пример названия. Сюда вы должны вбить присвоенный Маку адрес для доступа через SSH.

Что ж, теперь наши читатели должны легко обращаться с системными таймерами, настраивать их и подключаться удалённо, используя старый добрый Терминал. Следите за пополнениями циклов статей, которые не заставят себя долго ждать!