Сначала я определял по бездействию мыши
https://olegon.ru/showthread.php?t=20024
Всякие тачпады и прочие нюансы меня в этом разочаровали.
Стал проверять через xset -q
Код:
eval $(tr '\0' '\n' < /proc/$(pgrep -u user ibus-x11)/environ | sed -nr '/^(DISPLAY|XAUTHORITY)=/p' | sed -e 's/^/export /' )
xset dpms 300 300 300
if xset -q | tail -n 1 | grep 'Monitor is On' >/dev/null; then
date
echo Monitor is on
rm -f /tmp/monitcnt*
else
date
echo Monitor is off
споткнулся о переход на Wayland, отключил его и некоторое время все было прекрасно, до тех пор, пока юзер не открыл какую-то закладку с видео, где плеер стал блокировать гашение экрана. Включил xscreensaver, некоторое время работало, но тоже перестало при включении видео. Т.е. экран не гасится, я и не могу определить, работает юзер или просто хранитель крутится...
Как-то даже и идеи кончились...