У меня в crontab много вещей, в том числе те, которые говорят на моем экране. Если меня там не будет, чтобы он уведомлял, я не хочу, чтобы он запускался.
Есть ли способ проверить, не заблокирован ли компьютер, чтобы я мог не выполнять его, когда меня нет за столом? Или, поочередно, делать другие вещи только , когда меня нет за столом?
Light-Locker
light-locker-command -q
или
light-locker-command -t
xscreensaver
Вы можете посмотреть выходные данные xscreensaver-command -watch
или, если блокировка происходит при гашении, использовать xscreensaver-command -time
См. unity - как определить, если экран заблокирован? для gnome-screensaver-command под Unity
Запустите эту команду:
gnome-screensaver-command -q | grep "is active"
, если он имеет какой-либо выход, экран заблокирован.
В сценарии оболочки вы можете использовать следующее предложение:
if (gnome-screensaver-command -q | grep "is active");
then
...
fi
(спасибо DoR, который первоначально разместил эти команды здесь )