Мне интересно, как запустить скрипт, когда время ожидания на экране истекло, и когда он проснулся. Я не говорю о спящем режиме или приостановке, но только когда экран выключается.
Причина в том, что у меня есть светодиодная клавиатура и я хочу переключать встроенные светодиоды при включении.
можно использовать xset -q
для проверки состояния монитора. до сих пор я видел состояния DPMS, чтобы монитор был "Монитором, идет", "Монитор Прочь", или "Монитор находится в, Приостанавливают". Вы могли записать сценарий, который Вы затем автоматически запускаете после того, как Xorg запускается:
#!/bin/bash
while true; do
xset -q | grep "Monitor is On"
if [ $? -eq 1 ]; then
if [ "`cat /tmp/displaystate`" != "off" ]; then
echo "off" > /tmp/displaystate
# do something when display is switched off
/opt/myScreenOffAction.sh
fi
sleep 1
else
if [ "`cat /tmp/displaystate`" != "on" ]; then
echo "on" > /tmp/displaystate
#do something when display is switched on
/opt/myScreenOffAction.sh
fi
sleep 10
fi
done
для тестирования сценария можно использовать xset dpms force suspend
для помещения экрана в, приостанавливают.
я предлагаю Вас, grep для "Монитора идет", поскольку кажется, что существуют различные состояния для прочь, как упомянуто выше.