запрет сна для Mac

обновлено · автор

долгая загрузка, рендер, сборка, звонок на внешнем мониторе. Mac не знает, что всё это важно, и гасит экран на самом интересном месте. hop не даёт ему уснуть ровно столько, сколько вы сказали, и возвращает сон в ту же секунду, как вы закончили.

панель hop в строке меню macOS: keep awake
keep awake in hop at a glance
what it iskeep awake inside hop, a menu bar app for macOS
pricefree — no trial, no pro tier, no account
licenceMIT, source on GitHub
requiresmacOS 14 or later, Apple silicon or Intel
works offlineyes
data sent anywherenone
download hopfree · macOS 14+ · Apple silicon and Intel

когда Mac нельзя давать уснуть

  • загрузка или выгрузка, которая должна досчитаться без вас
  • рендер, сборка или долгий экспорт, над которым вы не сидите
  • презентация, где гаснущий экран перед залом — отдельный сорт мучения
  • фильм на внешнем экране, с закрытой крышкой ноутбука
  • всё, что идёт по ssh и обрывается, стоит машине задремать

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

бесплатные способы не дать Mac уснуть

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

какой флаг caffeinate вам на самом деле нужен

`caffeinate` лежит в /usr/bin/caffeinate, и ставить его не надо. запущенный без ключей, он мешает только засыпанию по бездействию, больше ничему. `-d` держит экран, `-i` — сон по бездействию, `-m` — диск, `-s` — системный сон, но `-s` действует только от сети, а на батарее молча не делает ничего.

`-t` принимает время в секундах, а не в минутах, и игнорируется целиком, если вы передали caffeinate программу для запуска. флаг, который большинству и нужен, но до которого никто не доходит, — `-w <pid>`: он держит, пока не завершится процесс с этим pid, и это честный способ прикрыть задачу, длину которой заранее не знаешь.

чего не умеет ни один из них — пережить закрытую крышку. caffeinate просит macOS не задремать самой, а закрытая крышка — это не «задремать самой».

недокументированный флаг pmset, который прилипает

есть ещё один переключатель, и из-за него вопрос возвращается снова и снова: `sudo pmset -a disablesleep 1`. он правда не даёт Mac уснуть с закрытой крышкой и без внешнего экрана — тот самый случай, в котором macOS иначе отказывает наотрез.

и он недокументирован в обе стороны. в `man pmset` слова `disablesleep` нет вовсе, а `pmset -g` возвращает его под другим именем — `SleepDisabled`, в блоке «System-wide power settings» сверху. то, что задаёшь, и то, что читаешь, пишется по-разному, и ни одного, ни другого в руководстве нет. проверено на macOS 26.6.2.

дело не в том, что кто-то один невнимательно читал. самый подробный публичный разбор pmset идёт по настройкам одну за другой и этого флага тоже не называет (страница английская). The Eclectic Light Company — power management in detail

и он прилипает. перезагрузку он переживает и снимается только руками, командой `sudo pmset -a disablesleep 0`. поставили на один вечер, забыли — и Mac больше не засыпает никогда, в том числе те часы, что он едет в сумке с закрытой крышкой.

чем платит бесплатный путь

за столом, с задачей на час, хватает `caffeinate -t 3600`. хватает и любого бесплатного однокнопочного приложения, которое уже стоит у вас в строке меню. по самой способности не дать Mac уснуть всё это не лучше и не хуже hop, и менять инструмент ради этого не стоит.

платить приходится за другое. первое — то, что нужно знать до начала: какой флаг какой сон держит, что один из них на батарее мёртв, что таймаут считается в секундах, что закрытую крышку не покрывает ни один, а тот, который покрывает, в руководстве не описан. второе — ни у чего на бесплатном пути нет встроенного конца. caffeinate заканчивается, когда закрывается окно или завершается процесс; флаг pmset — когда вы про него вспомните. ни тому, ни другому нельзя сказать «держи два часа, потом отпусти».

как это устроено в hop

один клик, без пароля, и срок на ваш выбор: пятнадцать минут, восемь часов или пока не выключите. экран при этом может оставаться включённым, а может гаснуть, пока машина работает, и строка меню показывает, что сейчас, — так что вопрос «оно ещё держит?» посреди долгой выгрузки просто не возникает.

где задаются сроки, что нужно режиму закрытой крышки и как читается иконка — подробная сторона, на вашем языке: запрет сна в инструкции

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

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

что вы делаетебесплатный путьс hop
загрузка, и вы за столом и смотрите на неёcaffeinate -i в окне терминала, которое вы не закрываетене нужен — берите команду
сборка, которая когда-нибудь закончится, а вы не смотритеcaffeinate -w <pid>, если вы знаете pidпоставьте восемь часов и уходите
подержать ровно двадцать минутcaffeinate -t 1200 — секунды, а не минутывыберите срок в панели
крышку надо закрыть, а внешнего экрана нетsudo pmset -a disablesleep 1, прилипает, пока не снимете рукамивключите режим закрытой крышки — он держит тот же случай
вы закончили и хотите, чтобы Mac вёл себя как обычноснимите флаг руками, иначе он переживёт и перезагрузкувыйдите из hop, и обычный сон вернётся
download hopfree · macOS 14+ · Apple silicon and Intel

крышку можно закрыть

с закрытой крышкой macOS работает только на своих условиях. Apple перечисляет их прямо: Mac подключён к питанию, подключён внешний экран, есть внешняя клавиатура и мышь или трекпад. вне этих условий закрытая крышка означает сон, и всё, что шло, останавливается вместе с ним (страница английская). Apple Support — внешние мониторы с закрытой крышкой

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

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

что машина делает, пока ей не дают уснуть, — потребление, температуры, во что ночь обошлась батарее — видно в той же панели. монитор системы для Mac

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

он возвращает сон сам

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

поэтому запрет сна заканчивается сам: когда истекает срок или когда вы выходите из hop. состояния, которое пережило бы приложение, не остаётся.

если Mac засыпает или просыпается в моменты, о которых вы не просили, начинать стоит со списка причин у самой Apple (страница английская). Apple Support — если Mac неожиданно засыпает или просыпается

ничего никуда не уходит

в hop нет ни учётных записей, ни профилей, ни телеметрии. запрет сна — это локальный вызов к системе, и ничего об этом с машины не уходит.

frequently asked questions

он держит включённым экран или только Mac?
как решите. по умолчанию не спит Mac, а экран гаснуть может — в этом и смысл, когда крышка закрыта или идёт долгая задача. нужен и включённый экран — для этого есть переключатель «не гасить экран».
держит ли caffeinate Mac с закрытой крышкой?
нет. caffeinate просит macOS не задремать самой, а закрытая крышка — совсем другое дело. без условий режима закрытой крышки — питание, внешний экран, внешняя клавиатура или мышь — Mac засыпает, когда крышку закрывают, с caffeinate или без него.
как отменить sudo pmset disablesleep?
`sudo pmset -a disablesleep 0`. проверить можно через `pmset -g`: там он читается как SleepDisabled в самом верху, а не под тем именем, которым его задают. перезагрузку он переживает, так что сам не отвалится.
меняет ли он настройки энергосбережения?
нет. в «Системных настройках» ничего не трогается. hop не даёт Mac уснуть, пока запрет сна включён, и отпускает в ту же секунду, как его выключили.
что будет, если я забуду его выключить?
поставьте срок, и он закончится сам. выход из hop тоже сразу возвращает обычный сон.
уснёт ли Mac, когда батарея сядет?
у macOS остаются свои предохранители. запрет сна просит систему не засыпать по бездействию и поведение при низком заряде не перебивает.
это правда бесплатно?
полностью. ни пробного периода, ни платной версии, разблокировать нечего — и остальные восемнадцать инструментов идут в комплекте.

other tools in hop

  • color pickerany pixel on screen, in hex, rgb and hsl at once.
  • file converterimages, video, audio and documents. offline, with the size shown up front.
  • time trackerwhere the hours went, kept on this Mac and nowhere else.

об авторе

Антон Шакиров, автор hop

создаёт hop

создаёт hop и все страницы этого сайта. девятнадцать инструментов под одной иконкой в menu bar, MIT и открытый код. на issue и письма отвечает сам.

download hopfree · macOS 14+ · Apple silicon and Intel