Logovaní zamčení a odemčení obrazovky

ZAJDAN

  • *****
  • 2 092
    • Zobrazit profil
    • E-mail
Logovaní zamčení a odemčení obrazovky
« kdy: 23. 04. 2018, 15:08:51 »
Ahoj....
skopšil jsem si script který loguje zamčení obrazovky (v mém případě KDE)
Kód: [Vybrat]
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
« Poslední změna: 23. 04. 2018, 18:58:10 od Petr Krčmář »
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.


Jenda

Re:logovaní zamčení a odemčení obrazovky
« Odpověď #1 kdy: 23. 04. 2018, 15:28:38 »
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

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:logovaní zamčení a odemčení obrazovky
« Odpověď #2 kdy: 23. 04. 2018, 15:29:30 »
Ahoj....
skopšil jsem si script který loguje zamčení obrazovky (v mém případě KDE)
Kód: [Vybrat]
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).

ZAJDAN

  • *****
  • 2 092
    • Zobrazit profil
    • E-mail
Re:Logovaní zamčení a odemčení obrazovky
« Odpověď #3 kdy: 24. 04. 2018, 10:31:06 »
díky hoši...zde je funkční řešení:

Kód: [Vybrat]
#!/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
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.