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