How can I know when my screen was locked last time?
You can find the unlock screen events using the following command:
grep screen /var/log/auth.log*
But there is not so simple to find the lock screen events because by default doesn't exist any log for these events (as far as I know).
Anyway, you can run the following command for logging the lock screen events:
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
file.
If you like the above command, then use it in a script and make the script to run automatically at startup.
References:
- Logging lock-screen events
- Run script on screen lock/unlock
FWIW: what works for me on Ubuntu 16.04.4 LTS with Unity, is monitoring DBUS with the following command:
dbus-monitor --session "type='signal',interface='com.canonical.Unity.Session'"
...and then monitoring for "Locked" and "Unlocked" events. Example output:
signal time=1525269138.855107 sender=:1.51 -> destination=(null destination) serial=86735 path=/com/canonical/Unity/Session; interface=com.canonical.Unity.Session; member=LockRequested
signal time=1525269139.409261 sender=:1.51 -> destination=(null destination) serial=86892 path=/com/canonical/Unity/Session; interface=com.canonical.Unity.Session; member=Locked
signal time=1525269151.238899 sender=:1.51 -> destination=(null destination) serial=86937 path=/com/canonical/Unity/Session; interface=com.canonical.Unity.Session; member=UnlockRequested
signal time=1525269151.791874 sender=:1.51 -> destination=(null destination) serial=86938 path=/com/canonical/Unity/Session; interface=com.canonical.Unity.Session; member=Unlocked