Я пытаюсь связать ключ (используя xbindkeys
) для включения / выключения моих мониторов под X. До сих пор у меня есть ключ, связанный с этим сценарием:
#!/bin/bash
MOUSE="Logitech USB-PS/2 Optical Mouse"
if [[ ! -z $(xset q | grep "Monitor is On") ]]; then
logger "Turning off display"
xinput disable "$MOUSE"
xset s 2 2
xset dpms force off
else
logger "Turning on display"
xinput enable "$MOUSE"
xset s 3600 3600
xset dpms force on
fi
Это работает почти идеально: если экран включен, он отключает мышь (для предотвращения случайных пробуждений), устанавливает время гашения на 2 секунды (на случай, если что-то его разбудит) и выключает экран. Если он выключен, он восстанавливает предыдущие настройки и снова включает экран.
К сожалению, кажется, что это не работает, когда на самом деле привязан к клавише: он всегда считает, что экран включен Я подозреваю, что это потому, что нажатие клавиши снова включает их, а затем запускает сценарий, который снова отключает их.
Я не могу найти способ предотвратить автоматическое включение экрана при нажатии клавиш, кроме как полностью отключить клавиатуру (что затруднит повторное включение).
Еще лучшим решением было бы, если бы я мог запустить скрипт в любое время, когда экран включается / выключается; тогда я смогу снова включить экран, нажав любую клавишу, а не только ту, которая привязана к этому сценарию.