Почему не работает режим сна на Маке или хакинтоше: выясняем причины
Налаживание режима сна — главная головная боль для многих владельцев хакинтоша, однако маководы от подобных проблем тоже не застрахованы. На настоящем Маке режим сна тоже может ломаться: чаще всего, компьютер либо отказывается переходить в режим сна, либо сразу возвращаясь к нормальной работе.
Причин такого поведения очень много. Предотвращать режим сна компьютера могут и драйверы, и системные процессы, и разнообразные скрипты, выполняемые в фоновом режиме. Тем не менее, есть способ разобраться во всём этом. Как вы уже догадались, на помощь в очередной раз приходит Терминал.
И на Маке, и на хакинтоше вы можете запустить в окне терминала полезнейшую команду:
[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 играет музыка, поэтому компьютер не заснёт самостоятельно.
В случае с реальными проблемами сна список может быть намного шире. В любом случае, он намекнёт вам на то, какие процессы и драйверы могут препятствовать переходу в режим сна.