- Display Power Management Signaling (Русский)
- Настройка DPMS в X
- Отключение DPMS
- Изменение настроек DPMS и хранителя экрана с помощью команд
- Взаимодействие с DPMS в Linux-консоли с setterm
- Перенаправление вывода для просмотра escape-кодов
- Перенаправление escape-кодов в любой tty (с правами на запись) для его изменения
- цикл Bash для изменения ttys 0-256
- Смотрите также
- Как отключить режим сна и гибернации в Linux
- Отключить Режим сна и Гибернацию в Linux
- Включить режим сна и гибернацию в Linux
- Заключение
- Спящий режим монитора linux
Display Power Management Signaling (Русский)
Состояние перевода: На этой странице представлен перевод статьи Display Power Management Signaling. Дата последней синхронизации: 15 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
DPMS (Display Power Management Signaling, сигналы управления энергопотреблением дисплеев) — это технология, позволяющая управлять питанием монитора, когда компьютер не используется. Время неактивности, по истечении которого монитор уходит в режим энергосбережения, сна или отключается, может быть задано как описано в DPMSSetTimeouts(3) . Имейте в виду, что DPMS разрабатывался для ЭЛТ-мониторов, а для ЖК-дисплеев обычно нет разницы между разными режимами экономии энергии.
Настройка DPMS в X
Примечание: Начиная с Xorg 1.8, DPMS обнаруживается и включается автоматически, если ACPI также включен в ядре.
Добавьте следующие строки в /etc/X11/xorg.conf : в секцию Monitor :
Добавьте следующие строки в секцию ServerLayout , измените, как считаете нужным время (в минутах):
Option "StandbyTime" "10" Option "SuspendTime" "20" Option "OffTime" "30"
Примечание: Если опция «OffTime» не работает, используйте вместо неё затемнение экрана (screen blanking), который оставит монитор включенным, но с чёрной картинкой. В качестве альтернативы установите «blanktime» в «0» чтобы отключить screen blanking
Пример файла /etc/X11/xorg.conf.d/10-monitor.conf , который может выглядеть примерно так.
Section "Monitor" Identifier "LVDS0" Option "DPMS" "false" EndSection Section "ServerFlags" Option "StandbyTime" "0" Option "SuspendTime" "0" Option "OffTime" "0" Option "BlankTime" "0" EndSection Section "ServerLayout" Identifier "ServerLayout0" EndSection
Отключение DPMS
Так как DPMS обычно включен по умолчанию в большинстве случаев, для его отключение нужно явное действие. Чтобы полностью отключить DPMS, добавьте в файл /etc/X11/xorg.conf.d/10-monitor.conf :
Section "Extensions" Option "DPMS" "Disable" EndSection
Изменение настроек DPMS и хранителя экрана с помощью команд
Можно выключить монитор с помощью команды 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 |
Для просмотра текущих настроек:
. 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 используют свои собственные настройки DPMS и перекрывают xset. Подробнее смотрите XScreenSaver#DPMS and blanking settings и Xfce#Display blanking.
- При ручном запуске команд вам может понадобиться приписать 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/ . Подробнее смотрите #Настройка DPMS в X.
Взаимодействие с DPMS в Linux-консоли с setterm
Утилита setterm выводит escape-коды для взаимодействия с терминалом. По сути, она просто печатает escape-последовательности в текущем терминале, неважно где вы сейчас находитесь: в screen-сессии, в ssh, serial и т.д.
Синтаксис setterm: (0 отключает)
setterm --blank [0-60|force|poke] setterm --powersave [on|vsync|hsync|powerdown|off] setterm --powerdown 33
- Затемнение консоли само по себе не включает DPMS, и оно отключено по умолчанию. [1]
- setterm —powerdown , похоже, ни на что не влияет, если настройка ядра APM_DISPLAY_BLANK не включена. [2]
- Затемнение консоли также может быть включено параметром ядра consoleblank . Подробности смотрите в документации к ядру.
Перенаправление вывода для просмотра escape-кодов
$ setterm --powerdown 2>&1 | exec cat -v 2>&1 | sed "s/\\^\\[/\\\\033/g"
Перенаправление escape-кодов в любой tty (с правами на запись) для его изменения
$ setterm --powerdown 0 >> /dev/tty3
Примечание: Используется именно >> , а не > . В случае проблем с правами при использование sudo в скрипте или чём-то таком вы можете использовать программу tee для дозаписи вывода setterm в устройство tty, которое позволяет дозаписывать, но не перезаписывать.
цикл Bash для изменения ttys 0-256
$ for i in ; do setterm --powerdown 0 >> /dev/tty$i; done; unset I;
Смотрите также
Как отключить режим сна и гибернации в Linux
В этой статье мы рассмотрим, как отключить режим гибернации и режим сна в системе Linux. Но прежде чем мы сделаем это, давайте кратко рассмотрим эти два режима.
Режим гибернации при его включении, система Linux записывает свое текущее состояние в файл. Далее при включении все эти данные восстанавливаются и вы продолжаете работу с места остановки. Т.е. все открытые документы, папки, файлы остаются в таком же состояние, как до режима гибернации.
Режим сна помогает экономить электроэнергию, когда вы не используете свою систему. Чтобы вернуться к использованию вашей системы, требуется просто щелкнуть мышью или нажать на любую кнопку клавиатуры. Иногда вам может потребоваться нажать кнопку питания.
В Linux есть 3 режима различных режима ожидания:
- Suspend to RAM (Ждущий режим): этот режим используют большинство ноутбуков. И автоматически входят в этот режим в случае бездействия по истечению определенного периода времени. А так же при закрытии крышки ноутбука, когда компьютер работает от аккумулятора. В этом режиме питание остается для оперативной памяти, а большинство компонентов отключаются.
- Suspend to Disk (Hibernate): в этом режиме состояние ПК сохраняется в файле подкачки, и система полностью выключается. Однако включив его, все восстанавливается и вы продолжаете с того места, где оставались.
- Suspend to both (Гибридная приостановка): здесь состояние машины сохраняется в swap, но система не выключается. А так же компьютер выполняет приостановку системы в ОЗУ. Если у вас не установлена батарея тогда, вы можете безопасно возобновить работу системы с диска и продолжить свою работу. Этот метод намного медленнее, чем приостановка работы в ОЗУ.
Отключить Режим сна и Гибернацию в Linux
Чтобы предотвратить ждущий режим или переход вашей системы Linux в спящий режим, вам необходимо отключить следующие systemd:
$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Вы должны получить вот такой результат, как показан ниже:
hybrid-sleep.target
Created symlink /etc/systemd/system/sleep.target → /dev/null.
Created symlink /etc/systemd/system/suspend.target → /dev/null.
Created symlink /etc/systemd/system/hibernate.target → /dev/null.
Created symlink /etc/systemd/system/hybrid-sleep.target → /dev/null.
Отключить ждущий режим и гибернацию в Ubuntu
Далее требуется перезагрузить систему и снова войти.
Проверьте были ли внесены изменения в систему с помощью команды:
$ sudo systemctl status sleep. target suspend.target hibernate.target hybrid-sleep. target
Из выходных данных мы видим, что все четыре состояния были отключены.
Включить режим сна и гибернацию в Linux
Чтобы снова включить ждущий режим и гибернации требуется выполнить команду:
$ sudo systemctl unmask sleep. target suspend.target hibernate.target hybrid-sleep. target
Вот такой результат вы должны получить:
Removed /etc/systemd/system/sleep.target.
Removed /etc/systemd/system/suspend.target.
Removed /etc/systemd/system/hibernate.target.
Removed /etc/systemd/system/hybrid-sleep.target.
Чтобы убедиться в том что команда выполнена корректна, введите команду:
$ sudo systemctl status sleep. target suspend.target hibernate.target hybrid-sleep. target
Проверка приостановки и гибернации в Ubuntu
Если вы не желаете того чтоб ваш ноутбук при закрытии крышки уходил в режим ожидания (сна). Вам требуется отредактировать файл /etc/systemd / logind.conf.
$ sudo vim /etc / systemd/logind. conf
Добавьте в этот файл следующие строки:
[Login]
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore
Сохраните и закройте файл. Не забудьте перезагрузиться, чтобы изменения которые в сделали вступили в силу.
Заключение
На этом все, в этой статье я подробна рассмотрел как отключить ждущий режим (сна) и гибернации в вашей системе Linux. Очень надеюсь, что руководство было полезным.
Спящий режим монитора linux
DPMS (Display Power Manager Signaling) — сигналы управления энергопотреблением дисплеев, технология, позволяющая управлять питанием монитора.
Включить сие можно в xorg.conf(xorg.conf.d/) в секции Monitor (по-умолчанию включено)
Option "StandbyTime" "10" # режим ожидания Option "SuspendTime" 10" # спящий режим Option "OffTime" "10" # отключение экрана
указаны стандартные настройки, по меньшей мере у меня в дефолте они именно таковы. Для отключения опции нужно выставить её значение в 0.
Иногда эти значения надо менять — программно отключать экран или отключить выключения экрана. Допустим, что бы не отключать монитор во время проигрывания видео можно, ну или что бы тупо пялится на экран не ожидая его отключения.
В X.org для интерактивного управления настройками иксов используется xset, в том числе и для dpms.
xset -dpms # отключить dpms xset +dpms # включить dpms xset s off # отключает автоматическое выключение экрана xset s 300 # включает выключение экрана через 5 минут (в отличии от конфига тут указывается в секундах) xset dpms 100 200 300 # устанавливает время режима ожидания, спящего режима и отключения монитора (0 - значит отключено) xset dpms force standby # немедленно устанавливает экран или экраны в режим ожидания xset dpms force suspend # в режим сна xset dpms force off # выключает экран xset -q # посмотреть параметры
Кстати, xscreensaver использует свои настройки dpms, но с помощью xset можно управлять и им. Так же с помощью setterm можно управлять dpms и из консоли — к примеру указанная ниже команда тупо отключит экран
PS не забывайте что если вы используете DE и что-нить в качестве управления энергосбережением, то настройки могут быть другими, к примеру, как у xscreensaver.
Я всегда первым делам это отключаю. Еще со времен gentoo привычка осталась, а то бесит очень, собираешь-собираешь-наслаждаешься выводом gcc, а тут раз и экран гаснет.
прочел «Я всегда первым делам это отключаю.» и мельком заметил gcc возникла мысль «гентушник?» — и видимо не зря. тоже отключаю, но на ноуте ради энергосбережения оставляю включенным
А ты знаешь какая разницав в xset dpms force между standby, suspend и off? Все три попробовал — результат один: моник гаснет, лампочка мигает.
И еще вопрос. На другом компе вместо моника телик по hdmi. Сам телик через какое-то время то ли делает черным, то ли полностью гасит экран и мигает синей лампочкой. Можно ли как-то программно заставить телик выключиться? Ну чтобы зажглась просто красная немигающая лампочка? И можно ли его потом программно включить?
@alparo
между standby и suspend разницы особо не вижу, а офф вроде отрубает питалово а остальные просто в сберегающий режим вводят (первая затемняет экран второе хз)
про телек не скажу, ты попробуй off ему пустить да проверь. хотя надо доки к телеку читать наверно =)
> А ты знаешь какая разницав в xset dpms force между standby, suspend и off? Все три попробовал — результат один: моник гаснет, лампочка мигает.
Чтоб моник не гас я лично использую:
ага, можно. временем вроде управлять нельзя, но сразу отправить видео-биосу on, off, suspend можно
и насколько помню (в правильности не уверен) надо что-то колдовать и есть баг «Switching dpms modes may interact badly with X on some systems»
так что все же лучше из-за сего бага с консоли пользовать setterm. хотя не уверен что да как.
В листинге вкралась очипятка: