是否存在我可以查找该信息的日志?我想知道我的电脑最近几天因为闲置而自动锁定屏幕的情况。
答案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