Отключите отображение X11 / Xorg (не в режиме ожидания)

Под Waayland я использовал busctl --user set-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode off чтобы выключить / на дисплее, но после возврата к X11 из-за того, что Wayland непригодна для использования, эта команда работает так же, как и dpms force off.

С X11 я могу запустить sleep 1; xset dpms force off sleep 1; xset dpms force off но это только sleep 1; xset dpms force off монитор и будет просыпаться, как только будет обнаружен какой-либо вход, например, перемещения мыши. Это нежелательное поведение, и я предпочитаю возможность разбудить дисплей с помощью специального ярлыка. Таким образом, я могу быть уверен, что дисплей не включится самостоятельно или случайно.

Итак, как заставить дисплей отключиться таким образом, чтобы пользовательский ввод не просыпался снова под X11?

  • X: alt / ctrl / f1 больше не работает после выключения и включения дисплея с помощью xrandr
  • Контрольная подсветка как пользователь (без xbacklight)
  • Проблема с клавиатурой с тестированием Debian и gdm3
  • OpenBSD, NVIDIA и Xorg
  • /etc/X11/xorg.conf.d отсутствует?
  • Убийство X-связанных процессов при запуске CrashPlan
  • Включить убийство X.org с помощью специальной комбинации клавиш
  • Xorg-сервер 1.16+ на CentOS 7
  • One Solution collect form web for “Отключите отображение X11 / Xorg (не в режиме ожидания)”

    Я думаю, вы, возможно, неправильно понимаете, что означает DPMS. Посмотрите на таблицу в Википедии , что фактически делает DPMS, – это сигнализировать о состоянии энергосбережения, отключая сигналы синхронизации по горизонтали и вертикальной синхронизации (или эквивалент HDMI) и отключая ЦАП на графической карте, в то время как остальная часть графики карта продолжает работать. Таким образом, вы не полностью отключите все, вы входите в «самый глубокий» режим энергосбережения.

    OTOH, используя xrandr --off действительно полностью отключает вывод и отключает все на графической карте, которая используется для вывода вывода, как будто монитор не был подключен к чему-либо вообще. И, конечно же, если это ваш единственный монитор, это не сработает, потому что графического дисплея больше нет. Это действительно для включения и отключения дополнительных вторых или третьих мониторов.

    Таким образом, вы не хотите, чтобы он «полностью отключился», вы хотите, чтобы самое глубокое состояние энергосбережения DPMS, которое получило название «выключено».

    busctl сообщает Wayland использовать PowerSaveMode , то есть DPMS. И Wayland, похоже, не повторно активирует DPMS, когда он обнаруживает входы мыши или клавиатуры, поэтому он остается выключенным.

    Аналогичным образом, xset dpms сообщает серверу X использовать DPMS. Это совершенно одно и то же. Разница в том, что сервер X повторно включает DPMS при обнаружении входов.

    Что касается «почему», то как разработчики решили, как это должно работать. В X, xset dpms работает даже тогда, когда нет дополнительной заставки, поэтому способ включить экран снова был включен в X-сервер. Для Wayland дизайнеры, похоже, решили, что вам всегда нужна дополнительная программа заставки (чья задача заключается в передаче желаемого PowerSaveMode в Wayland), поэтому он оставляет экранную заставку для мониторинга входов и включения экрана снова. То, что вы можете подделать программу скринсейвера с использованием busctl – это более или менее случайный случай.

    Это не ошибка, это другой дизайн.

    Как я уже сказал, попробуйте захватить входы мыши и клавиатуры с помощью evtest --grab /dev/input/eventX (используйте только evtest чтобы узнать, какое устройство является тем, что. Осторожно, цифры не должны оставаться одинаковыми в ботинках, посмотрите на udev symlinks) или эквивалентный ioctl если вы пишете собственную программу заставки. Если вы хотите контролировать входные данные для определенной комбинации, вам все равно нужно это сделать.

    Linux и Unix - лучшая ОС в мире.