Skąd mam wiedzieć, kiedy mój ekran był ostatnio blokowany?


12

Czy istnieje dziennik, w którym mogę szukać tych informacji? Chcę wiedzieć, kiedy ostatnio mój komputer automatycznie zablokował ekran, ponieważ był bezczynny.


1
Dla czasu odblokowanego zrobiłem: cat screen /var/log/auth.log | grep unlock- sudo nie jest konieczne.
Andrew

Odpowiedzi:


11

Możesz znaleźć zdarzenia na ekranie odblokowania za pomocą następującego polecenia:

grep screen /var/log/auth.log*

Ale nie jest tak łatwo znaleźć zdarzenia na ekranie blokady, ponieważ domyślnie nie ma dziennika dla tych zdarzeń (o ile mi wiadomo).

W każdym razie możesz uruchomić następującą komendę w celu zarejestrowania zdarzeń na ekranie blokady:

dbus-monitor --session "type='signal',interface='org.gnome.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 )

w ~/lock_screen.logpliku

Jeśli podoba Ci się powyższe polecenie, użyj go w skrypcie i spraw, aby skrypt był uruchamiany automatycznie podczas uruchamiania.

Bibliografia:


2
nie działa na Ubuntu 17.04. Wyjście dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'"jest signal time=1497336035.520628 sender=org.freedesktop.DBus -> destination=:1.140 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.140" signal time=1497336035.520706 sender=org.freedesktop.DBus -> destination=:1.140 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost string ":1.140", a następnie nic, gdy blokuję lub odblokowuję
maxbellec

2

FWIW: to, co działa dla mnie na Ubuntu 16.04.4 LTS z Unity, to monitorowanie DBUS za pomocą następującego polecenia:

dbus-monitor --session "type='signal',interface='com.canonical.Unity.Session'"

... a następnie monitorowanie zdarzeń „Zablokowane” i „Odblokowane”. Przykładowe dane wyjściowe:

czas sygnału = 1525269138.855107 nadawca =: 1,51 -> miejsce docelowe = (puste miejsce docelowe) serial = 86735 ścieżka = / com / canonical / Unity / Session; interfejs = com.canonical.Unity.Session; member = LockRequested

czas sygnału = 1525269139.409261 nadawca =: 1,51 -> miejsce docelowe = (puste miejsce docelowe) serial = 86892 ścieżka = / com / canonical / Unity / Session; interfejs = com.canonical.Unity.Session; member = Zablokowany

czas sygnału = 1525269151.238899 nadawca =: 1,51 -> miejsce docelowe = (puste miejsce docelowe) serial = 86937 ścieżka = / com / canonical / Unity / Session; interfejs = com.canonical.Unity.Session; member = UnlockRequested

czas sygnału = 1525269151.791874 nadawca =: 1,51 -> miejsce docelowe = (puste miejsce docelowe) serial = 86938 ścieżka = / com / canonical / Unity / Session; interfejs = com.canonical.Unity.Session; member = Odblokowany


0

Tego używam w Ubuntu 16.04. Loguje się do syslog systemu.

Dodaj do folderu domowego, oznacz jako plik wykonywalny, a następnie użyj go, gnome-session-propertiesaby skonfigurować go do uruchamiania podczas uruchamiania sesji.

#!/bin/bash

exit_report(){
logger "$(date) Lockscreen Monitoring Terminated."
}
trap "exit_report; exit;" 0

lockmon() {
adddate() {
    while IFS= read -r line; do
      echo $line | grep string | grep '"start"' -q
      if [ $? -eq 0 ] ; then
        logger "$(date) Screen locked"
      fi
      echo $line | grep string | grep '"stop"' -q
      if [ $? -eq 0 ] ; then
        logger "$(date) Screen unlocked"
      fi
    done
}
logger "$(date) Lockscreen Monitoring Started."
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6.Instance'" | adddate
}

lockmon

Na podstawie podobnej odpowiedzi dla systemów Fedora .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.