Fórum Root.cz
Hlavní témata => Desktop => Téma založeno: ZAJDAN 23. 04. 2018, 15:08:51
-
Ahoj....
skopšil jsem si script který loguje zamčení obrazovky (v mém případě KDE)
dbus-monitor --session
"type='signal',interface='org.freedesktop.ScreenSaver'" |
( while true; do read X; if echo "$X" | grep "boolean true" &> /dev/null; then echo "Screen locked on $(date)" > $HOME/lock_screen.log; fi; done )
zajimalo by mne, jak logovat i odemčení...lze menit i ten parametr interface? aspon tipuji ze tam by se to dalo definovat
-
Při odemčení se téměř určitě ověřuje heslo přes PAM, a proto můžeš do správného /etc/pam.d/ dát něco jako
auth sufficient pam_exec.so expose_authtok quiet seteuid /muj/skript.sh
-
Ahoj....
skopšil jsem si script který loguje zamčení obrazovky (v mém případě KDE)
dbus-monitor --session
"type='signal',interface='org.freedesktop.ScreenSaver'" |
( while true; do read X; if echo "$X" | grep "boolean true" &> /dev/null; then echo "Screen locked on $(date)" > $HOME/lock_screen.log; fi; done )
zajimalo by mne, jak logovat i odemčení...lze menit i ten parametr interface? aspon tipuji ze tam by se to dalo definovat
KDE už nějaký pátek nemám, ale není ScreenSaver jen spořič? Není zamčení v něčem jiném?
Proč to formuluju takhle - stačí jen invertovat Tvojí podmínku a měl bys dostat odemčení... Tedy pokud teď boolean true, tak by měl/mohl existovat i stav false (nebo prostě nějaký jiný stav).
-
díky hoši...zde je funkční řešení:
#!/bin/bash
dbus-monitor --session "type='signal',interface='org.freedesktop.ScreenSaver'" |
while read x; do
case "$x" in
*"boolean true"*) echo Screen locked on $(date) >> $HOME/lock_screen.log;;
*"boolean false"*) echo Screen unlocked on $(date) >> $HOME/lock_screen.log;;
esac
done