===== Настройка режима сна с помощью командной строки в OS X ===== Для того чтобы узнать количество минут, спустя которые компьютер уйдёт в режим сна нужно выполнить:
sudo systemsetup -getcomputersleep
Например, чтобы настроить переход компьютера в режим сна через 1 час бездействия:
sudo systemsetup -setcomputersleep 60
Для того чтобы выключить переход в режим сна:
sudo systemsetup -setcomputersleep 0
или
sudo systemsetup -setcomputersleep Never
Как и в любой другой современной ОС, OS X имеет несколько режимов сна. Простой сон - оперативная память компьютера продолжает потреблять питание. Глубокий сон (гибернация) - содержимое оперативной памяти копируется на жёсткий диск. По умолчанию, режим гибернации включен только на MacBook, на остальных моделях его можно включить. Посмотрим текущие настройки электропитания:
sudo pmset -g
Нас интересует параметр **hibernatemode**. Он может принимать несколько значений: * 0 - гибернация выключена; * 3 - гибернация включена, содержимое оперативной памяти копируется на диск, но питание не отключается; * 25 - гибернация включена, содержимое оперативной памяти копируется на жёсткий диск, затем отключается питание. С помощью параметра **standbydelay** можно задать время в секундах, спустя которое компьютер будет автоматически переходить с режима сна в режим гибернации. Для экономии электроэнергии можно настроить настольный Mac следующим образом: Включаем режим гибернации с автоматическим отключением питания через 15 минут.
sudo pmset hibernatemode 3 standbydelay 900
Или включаем более экономный режим, который будет отключать питание сразу после копирования оперативной памяти
sudo pmset hibernatemode 25
Так же, можно вручную отправить Mac в сон
pmset sleepnow
---- В процессе использования OS X некоторые пользователи могут заметить, что система перестала уходить в режим сна автоматически, а все настройки на первый взгляд будут верными. Для того чтобы разобраться с ситуацией, посмотрим сводку энергопотребления, выполним в терминале:
pmset -g assertions
Нас интересует параметр "**PreventUserIdleSystemSleep**", если он имеет значение "**1**", то значит в системе запущено какое-то приложение или служба не позволяющая OS X засыпать. Если взглянуть на вывод внимательнее, то в "Listed by owning process" можно будет увидеть службу, которая мешает автоматическому переходу в режим сна. Вывод с моего компьютера:
Assertion status system-wide:
 BackgroundTask 0
 ApplePushServiceTask 0
 UserIsActive 1
 PreventUserIdleDisplaySleep 0
 PreventSystemSleep 0
 ExternalMedia 1
PreventUserIdleSystemSleep 1
 NetworkClientActive 0
Listed by owning process:
 pid 30(powerd): [..] 121:05:39 ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 
 pid 31(com.apple.serve): [..] 00:14:04 PreventUserIdleSystemSleep named: "com.apple.collabd" 
 pid 75(hidd): [..] 00:01:52 UserIsActive named: "com.apple.iohideventsystem.queue.tickle" 
	Timeout will fire in 21 secs Action=TimeoutActionRelease
Kernel Assertions: 0x10c=USB,BT-HID,MAGICWAKE
 id=503 level=255 0x4=USB mod=09.03.15, 18:44 description=EHC1 owner=AppleUSBEHCI
 id=506 level=255 0x100=MAGICWAKE mod=09.03.15, 19:36 description=en0 owner=en0
 id=508 level=255 0x8=BT-HID mod=01.01.70, 3:00 description=com.apple.driver.IOBluetoothHIDDriver owner=BNBMouseDevice
 id=522 level=255 0x8=BT-HID mod=01.01.70, 3:00 description=com.apple.driver.IOBluetoothHIDDriver owner=AppleBluetoothHIDKeyboard
Как видно, мешает "**com.apple.collabd**", этот компонент входит в набор утилит **OS X Server**, и запускается даже если у Вас нет настроенных служб. Насколько мне удалось понять, эта служба необходима для wiki сервисов которые можно поднять с помощью OS X Server. Для того чтобы отключить службу, необходимо выполнить:
sudo serverctl disable service=com.apple.collabd
Затем можно снова выполнить просмотр сводки, если значение "**PreventUserIdleSystemSleep**", изменилось на "**0**", то при отсутствии других проблем, автоматический переход в режим сна должен заработать. ---- Проверено на следующих конфигурациях: ^ Версия ОС ^ |Apple OS X Yosemite (10.10)| ---- {{:user:vyakob.png?50&nolink |}} Автор первичной редакции:\\ [[user:vyakob|Виталий Якоб]] \\ Время публикации: 09.03.2016 14:45 {{tag>Apple "Mac OS" "OS X" Sleep Hibernate serverctl pmset systemsetup}} ~~DISCUSSION~~