У меня есть ноутбук под управлением Linux. В моей конфигурации Xorg у меня есть установка DPMS так, чтобы экран автоматически выключил во время нескольких событий. В дополнение к этому у меня есть к следующему сценарию, связанному с крышкой ACPI открытые/близкие события:
#!/bin/sh
for i in $(pidof X); do
CMD=$(ps --no-heading $i)
XAUTH="$(echo $CMD | sed -n 's/.*-auth \(.*\)/\1/p')"
DISPLAY="$(echo $CMD | sed -n 's/.* \(:[0-9]\) .*/\1/p')"
# turn the display off or back on
export XAUTHORITY=$XAUTH
/usr/bin/xset -display $DISPLAY dpms force $1
done
В основном этот сценарий берет один параметр ("на", или "прочь") затем выполняет итерации посредством всей моей работы X сессий и или поворачивается или выключает монитор.
Вот моя проблема. Когда я закрываю крышку ноутбука, экран уходит как ожидалось, но если событие от нажатия мыши происходит (как то, если что-то врезается в таблицу...), затем, экран снова включает даже при том, что это закрывается (я вижу свет через сторону ноутбука).
Существует ли способ препятствовать тому, чтобы экран включил во время события от нажатия мыши, если крышка закрывается?
Вы смогли делать некоторое волшебство с xrandr; например, что-то вроде
xrandr - производят LVDS - прочь
выключить его, и
xrandr - производят LVDS - автоматический
возвращать его. Замените LVDS тем, что название вывода на экран Вашего ноутбука.
Оборотная сторона с этим, то, что, если что-то идет не так, как надо, могло бы быть трудно вернуть Ваш экран за исключением цикла включения и выключения питания.
Этому, кажется, немного трудно препятствовать тому X сигнализировать о действии и отключать DPMS, когда это получает события действия.
Но, так как Вы уже находитесь в области сценариев, как насчет того, чтобы просто отключить USB-устройства, когда крышка закрывается? Эффект мог быть достигнут путем простого удаления модулей или возможно приостановки USB-устройства. Что-то вроде этого могло бы работать:
echo suspend > /sys/bus/usb/devices/usb1/power/level
Если это будет работать, то Ваши X не получат событий, в то время как крышка закрывается.