问题

问题

问题

查看用户锁定和解锁其工作站(运行 Fedora 18)的确切日期和时间。

问题

有没有办法记录用户在 Fedora 18 上进入和退出“锁屏”的事件(或通用的 Linux 解决方案)?

尝试过

  1. 尝试查看/var/log/boot- 没有帮助。查看后,/var/log/messages我找到了消息systemd-logind[xxx]: New session 140 of user YYY,但找不到锁屏(gnome?)事件。
  2. 尝试查看了/var/log/audit/audit.log有关各种用户和服务的大量 PAM 相关消息,但我真的不知道该查找什么才能找到锁屏活动

答案1

这是使用“dbus-monitor”的另一种解决方案。一个小型 bash 脚本记录屏幕活动。

exit_report(){
echo "$(date) Monitoring Terminated."
}
trap "exit_report; exit;" 0

lockmon() {
adddate() {
    while IFS= read -r line; do
      echo "$(date) $line" | grep "boolean" | sed 's/   boolean true/Screen Locked/' | sed 's/   boolean false/Screen Unlocked/'
    done
}
echo "$(date) Monitoring Started."
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | adddate

}

lockmon >> lock_screen.log

答案2

尝试查看/var/log/auth.log。您应该会看到来自 PAM 和/或屏幕保护程序的一些相关消息。

答案3

是的,它似乎没有为您记录在任何地方。@tutuDajuju 有一个很好的解决方案所以我想将它移植到 bash(并消除对使用 gnome 的依赖,无论桌面环境如何,它都应该可以工作),供感兴趣的人使用。
如果您在后台运行它并将其传输到日志文件,您将获得您的日志。

#!/bin/bash

#prints out, among other things;
#      string "org.kde.screensaver"
#transform it to 'org.kde.screensaver'
service=$(\
    dbus-send \
        --session \
        --dest=org.freedesktop.DBus \
        --type=method_call \
        --print-reply \
        /org/freedesktop/DBus org.freedesktop.DBus.ListNames \
    | grep -o '[^"]*.screensaver'
)

#prints out, among other things;
#method bool org.freedesktop.ScreenSaver.SetActive(bool e)
#transform it to 'org.freedesktop.ScreenSaver'
interface=$(
    qdbus \
        $service /ScreenSaver \
    | grep -oP '[^ ]*(?=.SetActive)'
)

path='/ScreenSaver'

#monitor it with a while loop
dbus-monitor "type='signal',interface='$interface',member='ActiveChanged',path='$path'" \
| while read -r line; do
    #ignore the metadata and pull the 'boolean <true/false>' line
    read line

    #check if it is set to true
    if echo $line | grep -q 'true'; then
        echo "Locked at $(date)"
    else
        echo "Unlocked at $(date)"
    fi
done

这在我的 Fedora 和 KDE 上运行良好,但我想它应该可以在其他系统上运行,比如 Debian 和 gnome 等等。如果你的电脑不支持,
你可能会遇到问题(在这种情况下,你可以使用)。grep-Psed

答案4

您使用哪种屏幕保护程序?如果是 xscreensaver,请打开日志选项并尝试监视日志文件。

http://www.jwz.org/xscreensaver/man1.html

相关内容