Answers:
您可以使用以下命令找到解锁屏幕事件:
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
文件中。
如果您喜欢上面的命令,请在脚本中使用它,并使该脚本在启动时自动运行。
参考文献:
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'"
的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"
,然后没事的时候我锁定或解锁
FWIW:在具有Unity的Ubuntu 16.04.4 LTS上对我有用的是使用以下命令监视DBUS:
dbus-monitor --session "type='signal',interface='com.canonical.Unity.Session'"
...然后监视“锁定”和“解锁”事件。输出示例:
信号时间= 1525269138.855107发送者=:1.51->目的地=(空目的地)串行= 86735路径= / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; 成员= LockRequested
信号时间= 1525269139.409261发送者=:1.51->目的地=(空目的地)串行= 86892路径= / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; 成员=已锁定
信号时间= 1525269151.238899发送者=:1.51->目的地=(空目的地)串行= 86937路径= / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; 成员= UnlockRequested
信号时间= 1525269151.791874发送者=:1.51->目的地=(空目的地)序列= 86938路径= / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; 成员=已解锁
这就是我在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
cat screen /var/log/auth.log | grep unlock
-不需要sudo。