Предотвращение перехода системы в спящий режим, когда процесс или команда активны в Mac OS X

Anonim

Многие пользователи Mac используют утилиты для временного отключения своего компьютера от спящего режима, часто полагаясь на уголки сна, сторонний инструмент под названием Caffeine, pmset или, в последнее время, утилиту командной строки, которая теперь входит в состав OS X, называемую caffeinate. По умолчанию пункт меню Caffeine и команда caffeinate предотвращают сон, если они активированы по отдельности, что очень полезно для пользователей настольных компьютеров на Mac, но не особенно полезно, если вы хотите иметь функцию сна OS X. в зависимости от завершения конкретного процесса или задачи.

Это то, что мы собираемся рассмотреть здесь, используя командную строку, которая имеет зависящее от процесса предотвращение сна, которое блокирует функцию сна Mac только во время выполнения указанной команды, задачи или процесса или активен, то, когда он закончит, компьютер восстановит традиционные привычки сна.

Чтобы выполнить команду избегания сна, мы будем использовать разновидность команды кофеината, которая может предотвращать сон различными способами. Мы рассмотрим несколько примеров, но справочная страница caffeinate предоставляет несколько дополнительных опций, которые могут быть полезны и в других ситуациях.

Для наших целей здесь, чтобы сделать предотвращение сна зависимым от завершения определенной команды или процесса, вы будете использовать флаг -i следующим образом:

caffeinate -i

Это может быть уже очевидно, но выполнение команды caffeinate таким образом также запустит команду или процесс, указанный в аргументе.

Например, если вы хотите, чтобы Mac не спал, когда активна команда «make», вы должны использовать следующий синтаксис команды:

кофеин -я делаю

Или, возможно, вы просто хотите предотвратить сон, пока активно ssh-соединение с определенным сервером, и вы хотите отправить команду caffeinate в фоновый режим, тогда вы примените амперсанд к концу как ну вот так:

caffeinate -i ssh coffeebeans &

Вы даже можете запустить это со своими собственными скриптами или командами в другом месте:

caffeinate -i /private/tmp/./whatisthis.sh

Или, чтобы активировать предотвращение сна, пока веб-браузер Safari работает в графическом интерфейсе, вы должны использовать следующий синтаксис, обратите внимание, что вы должны указать полный путь к двоичному файлу в файле .app :

caffeinate -i /Applications/Safari.app/Resources/MacOS/Safari

Флаг -i предотвращает спящий режим системы, но вы также можете использовать другие флаги для создания утверждений для предотвращения спящего режима диска или дисплея. Чтобы предотвратить сон дисплея (то есть экран выключается и переходит в заблокированный режим или заставку), необходим флаг -d:

кофеин -d

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

caffeinate -d telnet towel.blinkenlights.nl

Эта команда означает, что пока активен telnet к фильму Star Wars ASCII, дисплей Mac не будет спать. Если telnet закрыт или воспроизведение «Звездных войн» завершено, система может перейти в спящий режим, как это обычно разрешено, что определяется настройками режима сна и энергопотребления в OS X.

Конечно, поскольку caffeinate полностью основан на командной строке, он не будет применим ко всем пользователям, но для тех, кто проводит много времени в Терминале, это может быть отличным трюком. Для пользователей Mac, которым удобнее работать с графическим пользовательским интерфейсом, эффективный уголок против сна и использование приложения Caffeine по-прежнему, вероятно, являются лучшими вариантами для выполнения аналогичных функций.

Если вы хотите выполнить аналогичную задачу, зависящую от процесса, но избежать терминала и командной строки, приложение Wimoweh выполняет то же самое, что и раскрывающееся меню, хотя это платное приложение, которое может сделать его менее желательным для некоторых пользователей, и он не предлагает общий аргумент завершения задачи на основе процесса или командной строки. Таким образом, кофеин с соответствующим флагом по-прежнему предпочитают многие.

Предотвращение перехода системы в спящий режим, когда процесс или команда активны в Mac OS X