Почему не работает режим сна на Маке или хакинтоше: выясняем причины

Сон Mac

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

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

И на Маке, и на хакинтоше вы можете запустить в окне терминала полезнейшую команду:

[php]pmset -g assertions[/php]

Она выведет на экран полный отчёт о состоянии ситуации со сном компьютера. Пользователю будут интересные первые две его части:

[php]Assertion status system-wide:
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
PreventUserIdleSystemSleep 1
ExternalMedia 0
UserIsActive 0
ApplePushServiceTask 0
BackgroundTask 0

Listed by owning process:
pid 636(iTunes): [0x00000001000005b9] 00:00:56 PreventUserIdleSystemSleep named: "Nameless (via IOPMAssertionCreate)"
pid 158(coreaudiod): [0x00000001000005b8] 00:00:56 NoIdleSleepAssertion named: "com.apple.audio.’AppleHDAEngineOutput:1B,2,1,3:0′.noidlesleep"[/php]

Идеальная ситуация — если во всех строчках в списке «Assertion status system-wide» у вас будут проставлены нули. В таком случае это означает, что режиму сна ничего не мешает. Если же режим сна не работает, то в одной или нескольких строках вы увидите единицы:

  • PreventUserIdleDisplaySleep — означает, что программа или процесс не даёт автоматически отключиться дисплею
  • PreventSystemSleep — означает, что компьютер не войдёт в режим сна даже в том случае, если пользователь выберет соответствующий пункт в меню системы
  • PreventUserIdleSystemSleep — означает, что Мак может заснуть вручную, но не станет засыпать автоматически, по истечении некоторого времени
  • ExternalMedia — сон не сработает из-за подключённой периферии
  • UserIsActive — сон невозможен из-за текущей активности пользователя
  • ApplePushServiceTask — сон блокирует служба уведомлений Apple
  • BackgroundTask — сну мешают прочие системные процессы

А виновника проблем вы можете увидеть в списке ниже («Listed by owning process»). Например, в нашем случае есть две связанных причины — процесс iTunes и драйвер com.apple.audio. Проще говоря, сейчас в iTunes играет музыка, поэтому компьютер не заснёт самостоятельно.

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