Vorrei eseguire uno script se la sessione di Gnome è bloccata e sbloccata.
C'è un modo per intercettarlo ed eseguire determinate azioni quando il desktop è bloccato o sbloccato?
Risposta accettata:
Gnome-screensaver emette alcuni segnali su dbus quando succede qualcosa.
Qui la documentazione (con alcuni esempi).
Potresti scrivere uno script che esegua:
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'"
e questo fa ciò di cui hai bisogno in qualsiasi momento dbus-monitor
stampa una riga sullo schermo bloccato/sbloccato.
Ecco un comando bash per fare ciò di cui hai bisogno:
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
Sostituisci semplicemente echo SCREEN_LOCKED
e echo SCREEN_UNLOCKED
con quello che ti serve.