div.main {margin-left: 20pt; margin-right: 20pt} Энергосбережение в
Linux
Практически все выпускаемые на сегодняшний день
мониторы поддерживают функции энергосбережения. Но не так уж
много людей знает, что это за функци и как ими управлять в
операционной системе Linux. В данной статье
и хотелось бы затронуть этот вопрос.
Стандарт управления энергопотреблением мониторов,
описывает четырё различных режима работы монитора. Эти режимы
отличаются набором узлов, находящихся в рабочем состоянии.
Продолжительность возврата монитора на нормальную работу из
режима энергосбережения также различна для разных режимов.
Система DPMS (Display Power
Management Signals) позволяет
программно управлять двумя основными узлами монитора: блоком
вертикальной развертки и блоком горизонтальной развертки.
Стоит также сказать, что во всех режимах энергосбережения с
трубки снимается напряжение и гасится электронный луч.
Первый режим работы монитора получил название Normal,
никакого энергосбережения этот режим не реализует, так как это
режим нормальной работы нашего электронного брата. При этом
функционируют все узлы монитора. Это единственный режим
работы, при котором на трубку подаётся высокое напряжение и
луч совершает свои движения по экрану.
Второй режим это всем известный режим Stand-by, в
дословном переводе с английского означает Lрежим
резервирования¦. В этом режиме блок вертикальной развертки
продолжает вырабатывать сигнал, а блок горизонтальной
развёртки отключается. При этом экономится около 10 ватт.
Возврат из этого режима монитор производит практически
мгновенно.
Третий режим получил название Suspend mode, режим
приостановки. В этом режиме отключается блок вертикальной
развёртки, но блок горизонтальной развёртки продолжает
функционировать. Энергопотребление монитора в этом режиме
обычно составляет около 15 ватт. В нормальный режим
монитор возвращается ощутимо дольше, как если бы он выходил из
режима Stand-by.
Четвёртый режим - режим Power-off. Он соответствует
полному отключению питания от узлов развёртки. Выход из этого
режима потребует практически столько же времени, сколько
необходимо монитору при включении питания. В этом режиме
монитор потребляет не более 5 ватт.
Рассмотрев четыре режима работы монитора, перейдем к
описанию управления этими режимами с консоли. Управление
энергосбережением консоли осуществляется при помощи программы
setterm. Консоль поддерживает три состояния: нормальная
работа, погашенный экран (blank screen) и
энергосберегающий режим. Причем, энергосбережение может быть
включено только после того, как будет погашен экран.
Для
установления интервалов времени, через которое консоль будет
менять своё состояние, используется две команды:
setterm -blank
#
setterm
-powerdown #
Первая команда
устанавливает время в минутах, через которое будет гасится
экран. Вторая устанавливает время, по прошествии которого
будет включаться режим энергосбережения.
Здесь уместно отметить, что гашение экрана не имеет
никакого отношения к энергосбережению. При погашенном экране с
него просто удаляется изображение, но все узлы монитора
продолжают функционировать.
Чтобы установить, какой именно режим энергосбережения
мы хотим использовать, следует дать следующие команды:
для режима Stend-by: setterm
-powersave hsync
для режима Suspend: setterm -powersave
vsync или setterm -powersave
on
для режима Power-off:
setterm -powersave powerdown
чтобы просто
запретить энергосбережение: setterm -powersave off
Например, Вы
хотите, чтобы при отсутствии каких-либо действий со стороны
юзера в течение пяти минут, гасла консоль, а по прошествии ещё
десяти минут, монитор переходил в состояние Power-off. Тогда
Вам следует включить куда-нибудь в файл rc.locale следующие
команды:
setterm -blank
5
setterm -powerdown
15
setterm -powersave
powerdown
Замечание. Правильность работы setterm
зависит от версии самой утилиты и версии ядра. As far
as
I
know, надежно работает
только режим Power-off. Остальные режимы могут вызываться не
вполне корректно, например вместо одного - другой.
С
консолью все. А как же управлять энергосбережением из X-Window?
Настроить X-server можно двумя
способами. Первый: использовать утилиту xset, включив её вызов
в скрипт, запускающий X Window System, это обычно startx, или
.xinit. Второй, для некоторых более простой, способ это внести
необходимые изменения в XF86Config. Рассмотрим эти способы
(замечание: речь о скринсейверах здесь идти не будет).
Итак, настройка с помощью утилиты xset. Вся настройка
производится парой вызовов xset. Первой командой xset обязятельно должна быть команда
xset dpms T1 T2
T3
здесь T1, T2,
T3 это интервалы времени в секундах, через которые
активизируются режимы Stend-by, Suspend и Power-off
соответственно. Необходимое условие при этом:
T1>=T2>=T3. Если одно из чисел равно нулю, то
соответствующий режим не включается. Если Ваш X-сервер не
поддерживает энергосбережение по умолчанию (а обычно именно
так и есть), то придётся выполнить ещё одну команду:
xset +dpms
которая
разрешит серверу использовать режимы энергосбережения. Это
можно сделать и передав X-серверу ключ dpms. Например, при
вызове xinit:
xinit --
dpms
Если же вы
вдруг захотели отключить энергосбережение, используйте
команду
xset -dpms
Замечание. С помощью команды xset можно
принудительно включать различные режимы эергосбережения:
xset dpms force
stendby
xset dpms force
suspend
xset dpms force
off
Все эти команды
вызывают переход монитора в экономичный режим только при
условии, что энергосбережение разрешено (xset +dpms).
Настройка энергосбережения с помощью XF86Config
происходит практически также, что и при вызове xset:
необходимо выполнить те же самые установки. Чтобы разрешить
серверу запуск режимов энергосбережения, необходимо добавить в
секцию Device следующую запись:
Option
"power_saver"
Далее, надо
добавить в секцию Screen записи:
StandbyTime
T1
SuspendTime
T2
OffTime
T3
где T1, T2, T3,
как и ранее интервалы времени, через которые активизируются
режимы Stend-by mode, Suspend mode, Power-off mode,
соответственно, но здесь время уже выражается не в секундах, а
в минутах.
X-Stranger
xstranger@tut.by
|