Antworten:
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.log
Datei.
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:
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
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
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-properties
konfigurieren 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 .
cat screen /var/log/auth.log | grep unlock
- kein Sudo nötig.