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