Как выключить монитор и отключить затемнение экрана в Arch Linux?

Вопрос или проблема

Предыстория

По какой-то причине X11 / lightdm вылетает при нажатии кнопки питания монитора. Вместо этого выполнение xset dpms force off переводит монитор в режим низкого энергопотребления, что устраивает и обходит проблему нажатия проблемной кнопки питания.

Используется Arch Linux.

Проблема

После нажатия клавиши для возврата монитора к работе экран становится пустым, когда компьютер неактивен в течение нескольких минут. Хотелось бы отключить это поведение.

Вопрос

Как можно написать bash-алиас (например, off), который:

  1. Выключает монитор (“низкий энергопотребление” режим).
  2. Обеспечивает отсутствие затемнения экрана или таймаутов после повторного включения монитора.

Например:

alias off="xset dpms force off ; wait until keypress ; xset -dpms"

Есть ли более простое решение?

Попробуйте:

xset dpms 65535 65535 65535

Это установит dpms так, чтобы он автоматически не активировался, пока машина не будет неактивна в течение 18,2… часов. Вы можете сократить это время, изменив количество секунд, но это значение, по-видимому, является пределом.

Я бы рекомендовал это для вашего ~/.xsession или ~/.xinitrc или какого-либо аналогичного файла, который запускается при входе в систему или запуске X сервера. (Возможно, там, где находится текущий xset -dpms.) С этим xset dpms force off будет по-прежнему работать.

Создайте $HOME/bin/await.sh:

#!/usr/bin/env bash

xinput test-xi2 --root 2>&1 | \
  grep --line-buffered -m 1 'EVENT type 2 (KeyPress)' &> /dev/null

Используйте это:

alias off="xset dpms force off && await.sh && xset -dpms"

.

Ответ или решение

Для решения задачи отключения монитора на Arch Linux с одновременным предотвращением его выключения или затемнения при повторной активации, потребуется реализация нескольких шагов. Данная инструкция поможет наладить стабильную работу системы, минуя баги X11/lightdm, возникающие при использовании физической кнопки на мониторе.

Теория

Основой решения является использование утилиты xset, которая управляет параметрами отображения экрана в среде X Windows. Команда xset dpms force off позволяет перевести монитор в режим пониженного энергопотребления, что является альтернативой использования кнопки на мониторе. Оставшаяся проблема – это предотвращение выключения или затемнения экрана после того, как монитор был активирован снова. Команды xset -dpms и xset s off отключают соответственно управление питанием дисплея и любые экраны заставки, что должно исключить возврат к прежнему состоянию.

Пример

  1. Настройка команды "off" для отключения экрана:
    Создать команду-алиас, которая сразу отправляет монитор в "спящий" режим и отключает все настройки, возвращающие его к исходному состоянию после пробуждения. Наиболее простой способ – использование bash-скрипта, который эффективно слушает нажатия клавиш, после чего отключает функцию DPMS и заставки.

  2. Создание скрипта для отслеживания событий клавиатуры:
    Создайте файл await.sh в директории ~/bin/ с следующим содержимым:

    #!/usr/bin/env bash
    xinput test-xi2 --root 2>&1 | grep --line-buffered -m 1 'EVENT type 2 (KeyPress)' &> /dev/null

    Этот скрипт будет ожидать нажатия клавиши, и это событие будет сигналом к активации дальнейших команд.

  3. Настройка алиаса команды:
    Настройте алиас для команды off следующим образом:

    alias off="xset dpms force off && ~/bin/await.sh && xset -dpms && xset s off"

    После выполнения первой команды, скрипт await.sh будет ожидать нажатия клавиши, затем отключаются DPMS и экранные заставки.

  4. Обеспечение постоянной работы настроек:
    Для того чтобы эти настройки были активны при каждом запуске X-сервера, вы можете добавить следующее в файл ~/.xinitrc или ~/.xsession:

    xset dpms 65535 65535 65535

    Эти значения указывают на крайне долгий срок бездействия (в данном случае около 18.2 часов), определяющий выключение экрана.

Применение

Добавление вышеуказанных смещений в конфигурационные файлы вашего X-сервера позволит не только избежать внезапного выключения, но и даст возможность возвращаться к нормальному состоянию после нажатия клавиши без нежелательных эффектов. Такая команда будет полезной в автоматизации задачи управления питанием в системах, где кнопка отключения монитора вызывает нестабильность системы.

Таким образом, вы достигнете желаемого поведения системы с минимальными изменениями в конфигурации. Важно помнить, что работа с системными утилитами и конфигурациями требует аккуратности, в связи с чем наилучше всего провести тестирование в безопасной среде перед тем, как внедрять изменения в производственную систему.

Оцените материал
Добавить комментарий

Капча загружается...