Управление режимами энергосбережения монитора по VESA DPMS из консольного режима

Нормальное состояние для сервера шуршать вентиляторами где-нибудь если не в стойке, то в укромном углу. Добираются до него обычно с удалённой консоли и монитор постоянно к такой машине тоже не подключен (разве что KVM). Однако, серверы бывают разные, в том числе и домашние. Брать KVM для локального доступа к домашнему серверу обычно не хочется (несколько десятков долларов, лишнии провода с коробочкой самого переключателя — не сильно приятные атрибуты). И тут на помощь приходят современные мониторы, имеющие пару входов (2 VGA или VGA и DVI, к последнему обычно подключен основной компьютер, в то время как аналоговый разъём пустует). В общем, если у вас сравнительно новый монитор, то почти гарантировано устройство вывода у вас имеется, ну, а, компактную клавиатуру для ввода запрятать куда-то не сложнее, чем коробочку KVM-свича.

Но тут возникает интересная проблема: когда вы отключите ваш основной компьютер, то разумный монитор проверит нет ли сигнала на втором входе. На втором входе сигнал (экран с запросом логина или «чёрный экран») скорее всего будет, а потому монитор вместе с основным компьютером не выключится, а займётся демонстрацией консоли сервера. Не руками же каждый раз включать и выключать монитор?

Конечно нет. Надо приучить сервер после некоторого простоя гасить монитор соответствующим сигналом по протоколу VESA в формате DPMS (Display Power Management Signalling)

Если вы хотите применить соответствующие настройки к конкретному пользователю, то, авторизовавшись под ним нужно, нужно выполнить:

setterm -blank 3 # Показать «чёрный экран» после трёх минут простоя. setterm -powersave on # Активировать перевод монитора в режим энергосбережения по VESA.

setterm -powerdown 2 # Выключить монитор по VESA через 2 минуты после перехода в «чёрный экран».

Вместо «выключить», конечно же, правильнее сказать перевести в режим энергосбережения (что-то вроде «stand by» для бытовой техники? потребляем монитор в таком состоянии менее 8 Вт). Важно ещё отметить, что гашение экрана до чёрного как-то берегло ЭЛТ-мониторы, поскольку чёрный экран практически не жёг люминофор. Для ЖК-мониторов толка от чёрного экрана мало: лампы продолжают светиться, просто кристаллы стоят в закрывающем положении. Возможно, лишь режим динамической контрастности немного притушит и, соответсвенно, сбережёт лампы, но такие режиме есть далеко не на всех мониторах и активируются не всеми пользователями.

Вывод: надо монитор не только гасить, но и сразу выключать, а значит последний параметр для ЖК-мониторов разумнее устанавливать как setterm -powerdown 0 — мгновенное отключение после перехода к чёрному экрану.

После перезагрузки параметры все эти не сохраняться, если конечно вы не добавите команды в файл ~username/.bash_profile, читаемый при каждом запуске консоли под пользователем username.

Но и теперь есть небольшая проблема: а что если в настоящий момент никто локально не авторизован на сервере (пользователи вышли или не входили с момента загрузки)? Чтобы на экране входа в систему получить энергосбережение, надо отредактировать файл /etc/console-tools/config, так чтобы указанные ниже настройки получили соответствующее значение:

BLANK_TIME=2 BLANK_DPMS=powerdown

POWERDOWN_TIME=0

Теперь настройки будут действовать даже на экране входа в систему.

Заранее прошу не возмущаться тех, кому постоянно подключенный с серверу монитор кажется совсем уж диким явлением. Таким серьёзным администраторам я рекомендую представить пользователя работающего исключительно в консоли (а то и себя в его роли) — так что полезные применения описанному всё равно есть.

Ну, а, отключать экран из графического окружения конечно же тоже можно, ищите соответствующие настройки прямо в конфигураторах GNOME (Система > Параметры > Управление питанием) и KDE.

Наши спонсоры без проблем оформят разрешение на работу, если оно потребуется вам или вашим знакомым.

»

Оцените статью
Про Ubuntu — блог о популярном СПО GNU/Linux-дистрибутиве Ubuntu (Убунту Линукс)