我怎么知道上一次屏幕锁定的时间?


12

存在一个可以在其中查找该信息的日志?我想知道最近几天我的电脑由于闲置而自动锁定屏幕。


1
对于解锁时间,我做到了:cat screen /var/log/auth.log | grep unlock-不需要sudo。
安德鲁(Andrew)

Answers:


11

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

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 17.04上似乎不起作用。的输出中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",然后没事的时候我锁定或解锁
maxbellec

2

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; 成员=已解锁


0

这就是我在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系统类似答案

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.