div.main {margin-left: 20pt; margin-right: 20pt}
Энергосбережение в
Linux
Практически все выпускаемые на сегодняшний день мониторы поддерживают
функции энергосбережения. Но не так уж много людей знает, что это за функции и
как ими управлять в операционной системе Linux. В данной статье и хотелось бы
затронуть этот вопрос. Стандарт управления энергопотреблением мониторов
описывает четыре различных режима работы монитора. Эти режимы
отличаются набором узлов, находящихся в рабочем состоянии. Продолжительность
возврата монитора на нормальную работу из режима энергосбережения также
различна для разных режимов. Система DPMS (Display Power Management
Signals) позволяет программно управлять двумя основными узлами монитора:
блоком вертикальной развертки и блоком горизонтальной развертки. Стоит также
сказать, что во всех режимах энергосбережения с трубки снимается напряжение и
гасится электронный луч. Первый режим работы монитора получил название
Normal, никакого энергосбережения он не реализует, так как это режим
нормальной работы нашего электронного брата. При этом функционируют все узлы
монитора. Это единственный режим работы, при котором на трубку подается
высокое напряжение и луч совершает свои движения по экрану. Второй режим —
это всем известный режим Stand-by, в дословном переводе с английского означает
"режим резервирования". В этом режиме блок вертикальной развертки продолжает
вырабатывать сигнал, а блок горизонтальной развертки отключается. При этом
экономится около 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 http://www.linux4u.narod.ru/
|