Jump to content

Display Power Management Signaling (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Display Power Management Signaling. Дата последней синхронизации: 3 июня 2025. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

VESA Display Power Management Signaling (DPMS) — это технология, позволяющая управлять питанием монитора, когда компьютер не используется. Время неактивности, по истечении которого монитор уходит в режим ожидания (standby), сна (suspend) или отключается (off), может быть задано как описано в DPMSSetTimeouts(3).

Примечание: DPMS разрабатывался для ЭЛТ-мониторов, а для ЖК-дисплеев обычно нет разницы между разными режимами экономии энергии.

Консоль 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
Note: Если опция 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/. Подробнее в разделе #Настройка.

Смотрите также