J'aimerais exécuter un script si la session Gnome est verrouillée et déverrouillée.
Existe-t-il un moyen d'intercepter cela et d'effectuer certaines actions lorsque le bureau est verrouillé ou déverrouillé ?
Réponse acceptée :
Gnome-screensaver émet des signaux sur dbus lorsque quelque chose se passe.
Ici la documentation (avec quelques exemples).
Vous pouvez écrire un script qui s'exécute :
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'"
et cela fait ce dont vous avez besoin à tout moment dbus-monitor
imprime une ligne indiquant que l'écran est verrouillé/déverrouillé.
Voici une commande bash pour faire ce dont vous avez besoin :
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
Remplacez simplement echo SCREEN_LOCKED
et echo SCREEN_UNLOCKED
avec ce dont vous avez besoin.