Display Power Management Signaling (Русский)
VESA Display Power Management Signaling (DPMS) — это технология, позволяющая управлять питанием монитора, когда компьютер не используется. Время неактивности, по истечении которого монитор уходит в режим ожидания (standby), сна (suspend) или отключается (off), может быть задано как описано в DPMSSetTimeouts(3).
Консоль Linux
Для изменения параметров терминала используйте команду setterm. Её синтаксис (0 отключает):
$ setterm --blank [0-60|force|poke] $ setterm --powersave [on|vsync|hsync|powerdown|off] $ setterm --powerdown [0-60]
- Гашение (blanking) консоли само по себе не включает DPMS, и оно отключено по умолчанию. [1]
setterm --powerdown
, похоже, ни на что не влияет, если настройка ядраAPM_DISPLAY_BLANK
не включена. [2]- Гашение консоли также может быть включено параметром ядра
consoleblank
. Подробности смотрите в документации к ядру.
Некоторые команды просто выводят escape-последовательности для взаимодействия с терминалом и благодаря этому могут работать даже в сеансах SSH или screen.
Чтобы посмотреть, какие escape-коды выводит setterm, можно использовать такую команду:
$ setterm --powerdown 2>&1 | exec cat -v 2>&1 | sed "s/\\^\\[/\\\\033/g"
Можно изменить параметры определённого терминала, перенаправив вывод команды на него (если есть права на запись):
$ setterm --powerdown 0 >> /dev/tty3
>>
, а не >
. В случае проблем с правами при использовании sudo в скрипте или чём-то таком вы можете использовать программу tee для дозаписи вывода setterm в устройство tty, которое позволяет дозаписывать, но не перезаписывать.Xorg
Настройка
Чтобы полностью отключить DPMS и гашение экрана в X Window System, создайте такие файлы настроек:
/etc/X11/xorg.conf.d/10-extensions.conf
Section "Extensions" Option "DPMS" "false" EndSection
/etc/X11/xorg.conf.d/10-serverflags.conf
Section "ServerFlags" Option "BlankTime" "0" EndSection
Если вы хотите просто настроить таймауты (в минутах):
/etc/X11/xorg.conf.d/10-serverflags.conf
Section "ServerFlags" Option "StandbyTime" "10" Option "SuspendTime" "20" Option "OffTime" "30" EndSection
OffTime
не работает, используйте вместо неё гашение экрана (то есть опцию BlankTime
).Настройка во время работы
Можно выключить монитор или настроить энергосбережение во время работы Xorg без его перезапуска с помощью команды xset из пакета xorg-xset.
Примеры:
Команда | Описание |
---|---|
xset s off
|
Отключить гашение экрана (screen blanking) |
xset s 3600 3600
|
Задать включение гашения экрана через 1 час |
xset -dpms
|
Отключить DPMS |
xset s off -dpms
|
Отключить DPMS и гашение экрана |
xset dpms force off
|
Немедленно отключить экран |
xset dpms force standby
|
Перейти в режим standby |
xset dpms force suspend
|
Перейти в режим suspend |
Для просмотра текущих настроек:
$ xset q
... Screen Saver: prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600 DPMS (Energy Star): Standby: 600 Suspend: 600 Off: 600 DPMS is Enabled Monitor is On
Для изучения всех доступных команд смотрите xset(1).
- XScreenSaver, xfce4-power-manager и lxqt-powermanagement используют свои собственные настройки DPMS и перекрывают xset. Подробнее смотрите XScreenSaver (Русский)#DPMS и гашение экрана и Xfce (Русский)#Гашение экрана.
- При ручном запуске команд вам может понадобиться приписать
sleep 1;
для корректной работы, напримерsleep 1; xset dpms force off
- Команда
xset dpms 0 0 0
, которая устанавливает все таймауты DPMS в ноль, может оказаться более хорошим способом «отключить» DPMS, так как эффект от-dpms
может быть отменён, например, командойxset dpms force off
. - Если прописывание
xset
в xinitrc не работает, пропишите настройки в файле/etc/X11/xorg.conf.d/
. Подробнее в разделе #Настройка.