Запобігання переходу системи в режим сну, коли процес або команда активні в Mac OS X

Anonim

Багато користувачів Mac використовують утиліти, щоб тимчасово заборонити свій комп’ютер переходити в режим сну, часто покладаючись на кути сну, сторонній інструмент під назвою Caffeine, pmset або нещодавно утиліту командного рядка, яка тепер входить до складу OS X під назвою caffeinate. За замовчуванням елемент панелі меню «Кофеїн» і команда «Кофеїн» запобігатимуть переходу в режим сну, доки їх окремо активовано, що дуже корисно для користувачів комп’ютера під час використання Mac, але не особливо корисно, якщо ви хочете мати функцію сну в OS X залежить від завершення конкретного процесу чи завдання.

Це те, що ми збираємося розглянути тут, використовуючи командний рядок, який має залежне від процесу запобігання сну, яке блокує функцію сну Mac лише під час виконання вказаної команди, завдання або процесу або активний, а коли він завершиться, комп’ютер відновить традиційні звички сну.

Щоб виконати спеціальну команду для уникнення сну, ми використаємо варіант команди кофеїну, яка може перешкоджати сну різними способами. Ми розглянемо кілька прикладів, але довідкова сторінка caffeinate надає кілька додаткових параметрів, які також можуть бути корисними в інших ситуаціях.

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

кофеїнат -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