Woher weiß ich, wann mein Bildschirm das letzte Mal gesperrt wurde?

12

Gibt es ein Protokoll, in dem ich nach diesen Informationen suchen kann? Ich möchte in den letzten Tagen wissen, wann mein PC den Bildschirm automatisch gesperrt hat, weil er inaktiv war.

gsi-frank
quelle
1
Für die freigeschaltete Zeit habe ich: cat screen /var/log/auth.log | grep unlock- kein Sudo nötig.
Andrew

Antworten:

11

Mit dem folgenden Befehl können Sie die Ereignisse auf dem Entsperrbildschirm ermitteln:

grep screen /var/log/auth.log*

Es ist jedoch nicht so einfach, die Ereignisse auf dem Sperrbildschirm zu finden, da standardmäßig kein Protokoll für diese Ereignisse vorhanden ist (soweit ich weiß).

Auf jeden Fall können Sie den folgenden Befehl zum Protokollieren der Sperrbildschirmereignisse ausführen:

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 )

in ~/lock_screen.logDatei.

Wenn Ihnen der obige Befehl gefällt, verwenden Sie ihn in einem Skript und veranlassen Sie, dass das Skript beim Start automatisch ausgeführt wird.

Verweise:

Radu Rădeanu
quelle
2
scheint auf Ubuntu 17.04 nicht zu funktionieren. Die Ausgabe von dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'"ist 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", dann nichts, wenn ich sperren oder entsperren
Maxbellec
2

FWIW: Was für mich unter Ubuntu 16.04.4 LTS mit Unity funktioniert, ist die Überwachung von DBUS mit dem folgenden Befehl:

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

... und dann die Überwachung auf Ereignisse "Gesperrt" und "Entsperrt". Beispielausgabe:

Signalzeit = 1525269138.855107 Absender =: 1.51 -> Ziel = (Nullziel) serial = 86735 Pfad = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = LockRequested

Signalzeit = 1525269139.409261 Absender =: 1.51 -> Ziel = (Nullziel) serial = 86892 Pfad = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = Gesperrt

Signalzeit = 1525269151.238899 Absender =: 1.51 -> Ziel = (Nullziel) serial = 86937 Pfad = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = UnlockRequested

Signalzeit = 1525269151.791874 Absender =: 1.51 -> Ziel = (Nullziel) serial = 86938 Pfad = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = Unlocked

Jeroen van Ingen
quelle
0

Dies ist, was ich in Ubuntu 16.04 verwende. Es wird im Syslog des Systems protokolliert.

Fügen Sie es Ihrem Basisordner hinzu, markieren Sie es als ausführbar und gnome-session-propertieskonfigurieren Sie es dann für die Ausführung beim Start der Sitzung.

#!/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

Basierend auf einer ähnlichen Antwort für Fedora-Systeme .

jjmontes
quelle