KDE下的屏幕锁定机制是什么?

我在我的Ubuntu上安装了KDE桌面:

root@DESKTOP:/var/log# dpkg -l|fgrep -i kde-plasma-desktop ii kde-plasma-desktop 5:63ubuntu16 the KDE Plasma Desktop and minimal set of applications root@DESKTOP:/var/log# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 11.04 Release: 11.04 Codename: natty root@DESKTOP:/var/log# 

我只是想知道,如果按“CTRL + ALT + L”,那么锁定屏幕的进程/应用程序是什么? 在GNOME下它是gnome-screensaver。 KDE下的内容是什么?

对于运行KDE 4.x的系统

 qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock 

对于Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

如上所述,Qdbus只是在屏幕锁定器接收的消息总线上发送消息。 然而,该命令将锁定屏幕。 qdbus很好地问“有人会锁定屏幕吗?” 使用qdbus的优点是它在除KDE之外的其他平台上受支持。 以下文字仅适用于KDE4。

现在观看和学习:o)

为了更详细地说明这一点,需要一些bash技巧:

  • 在解锁ps -ef列出所有进程;
  • 锁定屏幕qdbus .......... ;
  • 等一下让屏幕锁定sleep 1
  • 然后在锁定ps -ef列出进程
  • 找到两个命令diff <( cmd1 ) <( cmd2 )的输出之间的diff <( cmd1 ) <( cmd2 )

命令行:

diff <( ps -ef ) <( qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock; sleep 1; ps -ef )

 0a1 > 242d242 < jhendrix 17088 16352 0 21:11 pts/4 00:00:00 /bin/bash 245,246c245,247 < jhendrix 17091 17088 0 21:11 pts/4 00:00:00 ps -ef < jhendrix 17092 17089 0 21:11 pts/4 00:00:00 qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock --- > jhendrix 17093 2801 11 21:11 ? 00:00:00 /usr/lib/kde4/libexec/kscreenlocker --forcelock > jhendrix 17095 17093 11 21:11 ? 00:00:00 kblankscrn.kss -root > jhendrix 17099 17089 0 21:11 pts/4 00:00:00 ps -ef 

这缩小了锁定屏幕的潜在命令列表,不是吗? 现在问题的答案很简单:要/usr/lib/kde4/libexec/kscreenlocker --forcelock锁定屏幕,请使用: /usr/lib/kde4/libexec/kscreenlocker --forcelock blankscrn.kss是kscreenlocker的子进程,因此kscreenlocker是运行的。

要查看命令语法: /usr/lib/kde4/libexec/kscreenlocker --help

它能做什么? 它基本上绘制了一个覆盖整个屏幕的大黑窗口,它迫使它在所有东西之上。 它捕获所有击键并弹出登录对话框。

最后它包含哪个包(kde-workspace-bin)?

$ dpkg -S /usr/lib/kde4/libexec/kscreenlocker

kde-workspace-bin:/ usr / lib / kde4 / libexec / kscreenlocker