Как сказал Томас Дики, управление питанием — это довольно -многоуровневая вещь. Он осветил в основном низкоуровневый -уровень/аппаратный интерфейс, но я полагаю, вас больше интересуют механизмы более высокого -уровня.
В самом низу с точки зрения пользователя находится пакет powermgmt-base
, который просто содержит несколько скриптов, таких как /sbin/acpi_available
, /sbin/apm_available
и /usr/bin/on_ac_power
, которые можно использовать для определения текущего состояния питания и общего ACPI. Возможность /APM в других сценариях.
Помимо этого обычно upower
,который представляет собой современный интерфейс между сеансами пользователя и структурой управления питанием. Связь осуществляется по шине D -. Он использует инструменты и сценарии из пакета pm-utils
для фактического запуска операций управления питанием, таких как приостановка -в -ОЗУ или спящий режим, а также пакет PolicyKit (policykit-1
)для принятия решения о том, кому и/или что разрешено предоставлять. порядок таких операций.
В дополнение к upower
есть либоgnome-power-manager
(Gnome ),powerdevil
(KDE ), либоsleepd
(ни один из вышеперечисленных/дополнительных ), которые фактически инициируют действия по управлению питанием по мере необходимости..
Пакет pm-utils
может использовать множество инструментов из различных пакетов, таких как hibernate
, uswsusp
, ethtool
, hdparm
и cpufrequtils
, среди прочих, для выполнения своих действий. Он также имеет множество хуков для настройки :. Эти хуки можно использовать для выполнения действий в режиме сна/пробуждения или для остановки нежелательной операции сна.
Как правило, веб-сервер не спит с точки зрения управления питанием при ожидании клиентов :он, безусловно, простаивает с пониженной тактовой частотой ЦП, хотя делать нечего. Выход из спящего режима занимает некоторое время, и это может привести к слишком большой дополнительной задержке в веб-службе. Но если вы хотите, может быть возможно, чтобы ваша сетевая карта выводила вашу систему из спящего режима (или даже из полного отключения )при обнаружении трафика :, см. ethtool <network interface> | grep Wake-on
, для какого пробуждения -функции, которые поддерживает ваша сетевая карта.
upower --dump
перечислит все батареи, дисплеи и другие важные вещи, о которых знает система управления питанием :на моем рабочем столе, она даже знает о состоянии батареи моей беспроводной мыши.
Если ваша система не включает gnome-power-manager
, powerdevil
или sleepd
, то я не думаю, что она автоматически перейдет в спящий режим в любой ситуации (, за исключением критически низкого заряда батареи ноутбука/ИБП, возможно ). Это компоненты, которые могут решить перевести систему в спящий режим самостоятельно,в соответствии с настроенной политикой электропитания. Вам следует ознакомиться с документацией по этим компонентам, какой бы из них ни был применим к вашей системе.
Я запускаю эквивалентную команду xrandr
как часть сеанса X(~/.xsession
). В качестве альтернативы вы можете настроить X11, чтобы установить выход как первичный для всей системы -;Option "Primary" "true"