Ich möchte ein Skript ausführen, wenn die Gnome-Sitzung gesperrt und entsperrt ist.
Gibt es eine Möglichkeit, dies abzufangen und bestimmte Aktionen auszuführen, wenn der Desktop gesperrt oder entsperrt ist?
Akzeptierte Antwort:
Der Gnome-Bildschirmschoner gibt einige Signale auf dbus aus, wenn etwas passiert.
Hier die Dokumentation (mit einigen Beispielen).
Sie könnten ein Skript schreiben, das Folgendes ausführt:
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'"
und das tut, was Sie jederzeit brauchen dbus-monitor
gibt eine Zeile darüber aus, ob der Bildschirm gesperrt/entsperrt ist.
Hier ein Bash-Befehl, um das zu tun, was Sie brauchen:
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
while read x; do
case "$x" in
*"boolean true"*) echo SCREEN_LOCKED;;
*"boolean false"*) echo SCREEN_UNLOCKED;;
esac
done
Ersetzen Sie einfach echo SCREEN_LOCKED
und echo SCREEN_UNLOCKED
mit dem, was Sie brauchen.