DPMS, держите экран выключенным, когда крышка закрыта
2537
Evan Teran
У меня есть ноутбук под управлением 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 --off
выключить его и
xrandr - выход LVDS --авто
вернуть его обратно. Замените LVDS на любое имя вывода на экран вашего ноутбука.
Недостатком этого является то, что, если что-то пойдет не так, может быть трудно вернуть экран обратно к отключению питания.
Любое предложение о том, что делать, если ваш экран продолжает включаться, даже если вы отключили его с помощью приведенной выше команды xrandr? Экран моего ноутбука случайным образом решает снова включиться с испорченным разрешением, до сих пор работает нормально, поэтому было бы неплохо заставить его отключиться.
pzkpfw 7 лет назад
0
2
harrymc
Добавьте следующие строки в /etc/acpi/lid.shфайл:
#open screenon chvt 7 #close chvt 12 screenoff
Это переключится на консоль, когда крышка будет закрыта, и X не будет определять движения мыши.
Человеку, который проголосовал за это в 2017 году: Помните, что этот ответ с 2009 года.
harrymc 7 лет назад
0
1
cyril42e
Следуя идее отключения мыши, вы можете сделать это более избирательно и безопасно с помощью xinput:
# open DISPLAY=:0.0 xinput set-int-prop 12 "Device Enabled" 8 1 # close DISPLAY=:0.0 xinput set-int-prop 12 "Device Enabled" 8 0
Вы найдете ID (12 здесь) с: xinput --list
0
alpha1
Попробуйте использовать приложение вроде Power Devil для управления этим. КДЕ или Гном?
0
Nakedible
Кажется, немного сложно предотвратить X от сигнализации активности и отключения DPMS, когда он получает события активности.
Но, поскольку вы уже находитесь в области сценариев, как насчет простого отключения USB-устройств, когда крышка закрыта? Эффект может быть достигнут путем простого удаления модулей или, возможно, приостановки USB-устройства. Нечто подобное может работать:
Если это работает, ваш X не будет получать никаких событий, пока крышка закрыта.
Это довольно радикально и кажется опасным. Возможно, подключены другие USB-устройства (принтер, карта памяти, GSM-модем), и, возможно, уничтожение их соединения приведет к проблемам.
sleske 13 лет назад
0