Решение проблемы сна в Mountain Lion


В ML 10.8.2 появилась небольшая проблема с засыпанием компьютера. Симптомы — экран заснул, а компьютер ни в какую не хочет спать. Решение найдено, расскажу и покажу как его в будущем на всякий случай использовать на практике.

На помощь к нам приходит «Терминал»
Запускаем и вводим команду:

sudo pmset -g assertions


Терминал покажет следующее:

Last login: Thu Dec 20 15:20:03 on ttys000
Mac-macintoshimru:~ macintoshim$ sudo pmset -g assertions
Password:
20.12.12, 15:21:20 GMT+0 
Assertion status system-wide:
   PreventUserIdleDisplaySleep    0
   PreventSystemSleep             0
   PreventUserIdleSystemSleep     0
   ExternalMedia                  0
   UserIsActive                   0
   ApplePushServiceTask           0
   BackgroundTask                 1

Listed by owning process:
  pid 199(helpd): [0x0000000c00000135] 00:01:15 BackgroundTask named: "com.apple.helpd.sdmbuilding" 

Kernel Assertions: 0x0004 
 * Kernel Assertion ID = 500
   Created At = 20.12.12, 15:20:32 GMT+0 
   Modified At = 01.01.70, 4:00:00 GMT+04 
   Owner ID = 0xffffff8034c75000
   Level = 0
   Assertions Set = None (4)

 * Kernel Assertion ID = 501
   Created At = 20.12.12, 15:22:04 GMT+0 
   Modified At = 20.12.12, 15:28:59 GMT+0 
   Owner ID = 0xffffff80b4cba000
   Level = 255
   Assertions Set = None (4)

Mac-macintoshimru:~ macintoshim$


Нас интересует «BackgroundTask». Цифра «1» означает, что один процесс работает в фоновом режиме и мешает заснуть компьютеру. Ниже написано его название:

pid 199(helpd): [0x0000000c00000135] 00:01:15 BackgroundTask named: "com.apple.helpd.sdmbuilding"


Отключаем его на всегда, вводим команду в терминале:
launchctl unload -w /System/Library/LaunchAgents/com.apple.helpd.plist


Примечание: launchctl load -w путь к процессу — вернёт процесс обратно к жизни :)
man pmset — покажет все возможности команды


Проверяем:
sudo pmset -g assertions

и видим:

20.12.12, 15:29:29 GMT+0 
Assertion status system-wide:
   PreventUserIdleDisplaySleep    0
   PreventSystemSleep             0
   PreventUserIdleSystemSleep     0
   ExternalMedia                  0
   UserIsActive                   0
   ApplePushServiceTask           0
   BackgroundTask                 0

Kernel Assertions: 0x0004 
 * Kernel Assertion ID = 500
   Created At = 20.12.12, 15:20:32 GMT+0 
   Modified At = 01.01.70, 4:00:00 GMT+04 
   Owner ID = 0xffffff8034c75000
   Level = 0
   Assertions Set = None (4)

 * Kernel Assertion ID = 501
   Created At = 20.12.12, 15:22:04 GMT+0 
   Modified At = 20.12.12, 15:28:59 GMT+0 
   Owner ID = 0xffffff80b4cba000
   Level = 255
   Assertions Set = None (4)

Mac-macintoshimru:~ macintoshim$


BackgroundTask 0, фоновых процессов мешающих сну нет и компьютер заснет как и раньше.

Дополнение:

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

Анализируем:
sudo pmset -g assertions

Решение проблемы сна в Mountain Lion 10.8.2

Как видите на скриншоте программа для просмотра видео MPlayerX не дает заснуть экрану ноутбука и системе уйти в сон:
pid 165(coreaudiod): [0x00000001000006e0] 00:00:53 NoIdleSleepAssertion named: "com.apple.audio.'AppleHDAEngineOutput:1B,0,1,2:0'.noidlesleep" 
  pid 4410(MPlayerX): [0x00000005000006de] 00:00:53 PreventUserIdleDisplaySleep named: "MPlayerX is in playback." 

даже при «BackgroundTask 0»


PreventUserIdleDisplaySleep    1
CPUBoundAssertion              0
PreventSystemSleep             0
PreventUserIdleSystemSleep     1
ExternalMedia                  1
DisableLowPowerBatteryWarnings 0
UserIsActive                   0
ApplePushServiceTask           0
BackgroundTask                 0


Отсюда следует, что когда фильм закончится, MPlayerX даст компьютеру уйти в сон «PreventUserIdleDisplaySleep 0» и «PreventUserIdleSystemSleep 0».

ExternalMedia 1 — это к моему макбуку подключен внешний USB HDD — с ним спит отлично, однако, например программа Transmission для закачки торрентов, может не давать спать компьютеру из-за своих настроек:
Решение проблемы сна в Mountain Lion 10.8.2

Если убрать галку, тогда компьютер будет засыпать при первой возможности, даже если вы что-то качаете. Если галка отмечена, как только Transmisson перестанет качать торренты либо раздавать в установленном интервале для сна — компьютер заснет сладким сном :).
Решение проблемы сна в Mountain Lion 10.8.2


И последнее. Если компьютер не засыпает, быть может Time Machine делает бекап? :)

6 комментариев

avatar
pid 17(UserEventAgent): [0x000b5e77000b2818] 00:32:54 BackgroundTask named: «com.apple.backupd-auto»
как остановить этот процесс?
avatar
kill -9 и номер процесса, в данном случсе 17
т.е. так:
kill -9 17

-9 означает прибить наглухо
avatar
а это не очень важный процесс
avatar
не могу знать, вы спросили как убить — я ответил
avatar
а как потом вернуть? если что…
спасибо
avatar
да просто перезагрузить компьютер да и все
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.