我如何知道我的屏幕上次锁定的时间?

我如何知道我的屏幕上次锁定的时间?

是否存在我可以查找该信息的日志?我想知道我的电脑最近几天因为闲置而自动锁定屏幕的情况。

答案1

您可以使用以下命令查找解锁屏幕事件:

grep screen /var/log/auth.log*

但是找到锁屏事件并不是那么简单,因为默认情况下不存在这些事件的任何日志(据我所知)。

无论如何,您可以运行以下命令来记录锁屏事件:

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 )

~/lock_screen.log文件中。

如果您喜欢上述命令,那么请在脚本中使用它并使脚本在启动时自动运行。

参考:

答案2

仅供参考:在 Ubuntu 16.04.4 LTS 上使用 Unity 对我有用的是使用以下命令监控 DBUS:

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

...然后监控“锁定”和“解锁”事件。示例输出:

信号时间=1525269138.855107 发送者=:1.51 -> 目的地=(空目的地)串行=86735 路径=/com/canonical/Unity/Session;接口=com.canonical.Unity.Session;成员=LockRequested

信号时间=1525269139.409261 发送者=:1.51 -> 目的地=(空目的地)串行=86892 路径=/com/canonical/Unity/Session;接口=com.canonical.Unity.Session;成员=已锁定

信号时间=1525269151.238899 发送者=:1.51 -> 目的地=(空目的地)串行=86937 路径=/com/canonical/Unity/Session;接口=com.canonical.Unity.Session;成员=UnlockRequested

信号时间=1525269151.791874 发送者=:1.51 -> 目的地=(空目的地)串行=86938 路径=/com/canonical/Unity/Session;接口=com.canonical.Unity.Session;成员=已解锁

答案3

这是我在 Ubuntu 16.04 中使用的。它记录到系统 syslog。

添加到您的主文件夹,标记为可执行文件,然后使用gnome-session-properties它配置它以在会话启动时运行。

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

基于Fedora 系统有类似答案

相关内容