在 KDE 中屏幕锁定时运行脚本

在 KDE 中屏幕锁定时运行脚本

有没有办法在锁定当前 KDE 会话时运行 bash 脚本?

答案1

这可能取决于您运行的 KDE 版本,但如果您有通知进入系统设置,然后就可以使用屏幕保护程序控制在屏幕锁定和解锁时运行脚本。

KDE 通知系统设置模块

答案2

在 KDE 和其他一些桌面环境中,您可以在 dbus 上监听接口org.freedesktop.ScreenSaver

执行此操作的脚本如下所示:

dbus-monitor --session "type='signal',interface='org.freedesktop.ScreenSaver'" |
  while read x; do
    case "$x" in 
      # You can call your desired script in the following line instead of the echo:
      *"boolean true"*) echo SCREEN_LOCKED;;
      *"boolean false"*) echo SCREEN_UNLOCKED;;  
    esac
  done

另请参阅这个问题了解更多信息。

答案3

我能想到的一种解决方法是(如果您通常使用键盘快捷键来锁定)将键盘快捷键从锁定重新绑定以执行脚本,然后锁定会话,这可以在脚本中使用以下命令来实现:

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

不过我没有使用kde,所以无法测试。

如果你不使用键盘快捷键,我认为做到这一点会更困难。一种可能的方法是分叉锁定程序来查找脚本并执行它。

相关内容