Метод Cross Linux для обнаружения заставки или заблокированного экрана

Я ищу перекрестный метод Linux, чтобы определить, работает ли заставка (как XScrenSaver, так и не XSCreenSaver), или если заблокирован экран. Метод Bash или C был бы потрясающим. Не могли бы вы помочь мне найти этот метод?

Я прошел этот x11-метод здесь: https://askubuntu.com/questions/567309/methods-to-detect-screensaver-and-or-locked (провел две недели на нем !: https://github.com/ Noitidart / _scratchpad / blob / master / ScreensaverWindowExists% 20addon% 20test% 20template.js )

Но этот метод не работает на Ubuntu (и, возможно, Mint), которые являются наиболее распространенными дистрибутивами Linux.

С какой целью?

Предположительно, вы хотите предпринять какие-то действия, если он запущен, и, возможно, остановиться, когда закончится скринсейвер.

Я решил проблему на моей машине с xautolock .

это извлекается из: http://blogs.technet.com/b/heyscriptingguy/archive/2005/08/10/how-can-i-tell-if-the-screen-saver-is-active.aspx

«Когда заставка запускается, она обычно запускает файл с расширением файла .scr. Если мы хотим знать, работает ли заставка экрана, все, что нам нужно сделать, это проверить и посмотреть, есть ли какие-либо процессы, которые имеют исполняемое имя, заканчивающееся на .scr. Если есть, возможно, это означает, что хранитель экрана работает. "