Chtěl bych spustit skript, pokud je relace Gnome uzamčena a odemčena.
Existuje způsob, jak to mohu zachytit a provést určité akce, když je plocha uzamčena nebo odemčena?
Přijatá odpověď:
Gnome-screensaver vysílá nějaké signály na dbus, když se něco stane.
Zde je dokumentace (s několika příklady).
Můžete napsat skript, který se spustí:
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'"
a to dělá to, co kdykoli potřebujete dbus-monitor
vytiskne řádek o zamykání/odemykání obrazovky.
Zde bash příkaz k provedení toho, co potřebujete:
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
Stačí nahradit echo SCREEN_LOCKED
a echo SCREEN_UNLOCKED
s tím, co potřebujete.
Může Bash zapisovat do svého vlastního vstupního streamu?
Jak získat vlastní IP adresu a uložit ji do proměnné ve skriptu Shell?