Получить статус xscreensaver в python

Я использую OpenSUSE Leap 42.3 с XFCE, и он использует xscreensaver.

Я хочу как-то получить True, если заставка в данный момент работает. Вы не можете просто посмотреть на список процессов, xscreensaver всегда находится там.

Есть ли простой способ сделать это?

1 ответ

Использовать subprocess модуль для запуска xscreensaver-command:

def check_screensaver():
    p = subprocess.run(['xscreensaver-command', '-time'], stdout=subprocess.PIPE)
    words = p.stdout.decode().split()
    return 'blanked' in words:

Этот простой код ищет слово "пусто" в выводе. Вы можете проанализировать его дальше, чтобы извлечь время, когда он был активирован / деактивирован.

Другие вопросы по тегам