Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Linux

Как определить бездействие пользователя в Linux : Linux

28.03.2024 20:52


15.12.2018 13:13
OlegON
 
Сначала я определял по бездействию мыши 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, некоторое время работало, но тоже перестало при включении видео. Т.е. экран не гасится, я и не могу определить, работает юзер или просто хранитель крутится...

Как-то даже и идеи кончились...
15.12.2018 13:36
OlegON
 
Одна из идей - грепать из списка процессов запускаемый в xscreensaver хранитель (у каждой заставки свой файл работает), но это хорошо до тех пор, пока не поставят произвольный хранитель или просто его не поменяют...
15.12.2018 19:10
vdm
 
Есть некий xprintidle.
15.12.2018 20:13
OlegON
 
прикольная штука, только вот давно не обновляется (в Fedora вообще давно закопана) и с существенным минусом в виде привязки к Х. Т.е. из под другого пользователя пускать - уже проблема. Соответственно, еще большая проблема - когда пользователь вообще не залогинен.
Часовой пояс GMT +3, время: 20:52.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.