web-dev-qa-db-fra.com

Comment détecter l'état de l'économiseur d'écran dans Ubuntu 16

J'ai un script qui doit détecter si l'écran est verrouillé et si l'économiseur est actif.

Dans Ubuntu 12, j'avais l'habitude d'appeler gnome-screensaver-command -q. Cette commande est toujours disponible dans 16.04, mais elle indique toujours que l'économiseur d'écran est inactif.

Je l'ai testé en exécutant ce script:

#!/bin/bash
while true; do
    echo "Checking..."
    gnome-screensaver-command -q;
    sleep 1;
done

puis verrouillé mon écran pendant plusieurs secondes. Il indique "L'économiseur d'écran est inactif" pendant tout le temps.

Qu'est-ce qui a changé dans Ubuntu 16.04 pour y remédier, et comment puis-je obtenir un rapport précis indiquant si l'écran est verrouillé ou non?

Edit: J'utilise Gnome.

3
Cerin

Si vous utilisez Unity comme environnement de bureau

qdbus org.gnome.ScreenSaver /com/canonical/Unity/Session com.canonical.Unity.Session.IsLocked

imprimera true si l'écran est verrouillé et false sinon

1
Florian Diesch