KDE屏幕锁定日志?

Jis*_*iot 8 screensaver kde

当屏幕在 KDE 中被锁定时(我的特定版本是 Kubuntu,但希望这是通用的 Linux),是否记录了事件?如果是这样,我会在哪里寻找它?

kro*_*owe 8

使用 D-Bus 获取锁屏的激活/停用信号。屏幕保护程序服务的名称因系统而异。一般来说,KDE 使用org.freedesktop.ScreenSaver和 Gnome 使用org.gnome.ScreenSaver. 但是,这不能依赖,例如,Mint 使用org.cinnamon.ScreenSaver.

有用的命令

这些假设您的屏幕保护程序是org.freedesktop.ScreenSaver并且您的 DBus 服务是org.freedesktop.DBus. 您可能需要针对其他系统进行调整。使用以下信息来了解您的系统使用什么:

  • 要获取当前会话中可用的 dbus 服务列表,请使用:

    dbus-send --session --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
    
    Run Code Online (Sandbox Code Playgroud)

    |grep screensaver如果您只想使用屏幕保护程序服务,请添加到最后。

  • 要获取屏幕保护程序服务支持的命令列表,请使用:

    qdbus org.freedesktop.ScreenSaver /ScreenSaver
    
    Run Code Online (Sandbox Code Playgroud)
  • 要调用命令,请使用:

    dbus-send --session --dest=org.freedesktop.ScreenSaver --type=method_call --print-reply --reply-timeout=20000 /org/freedesktop/ScreenSaver org.freedesktop.ScreenSaver.SetActive boolean:true
    
    Run Code Online (Sandbox Code Playgroud)

    SetActive支持的命令列表中列出的位置并采用布尔值。

  • 要监控服务:

    dbus-monitor --session "type='signal',interface='org.freedesktop.ScreenSaver'"
    
    Run Code Online (Sandbox Code Playgroud)

自动化

现在您了解了系统的工作原理,您可以使用 python 脚本将此活动记录到文件中:

dbus-send --session --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
Run Code Online (Sandbox Code Playgroud)

[来源:日志锁定屏幕事件]