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


14

我在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屏幕保护程序。在KDE下是什么?


我评论是因为我不使用KDE,但是我看到一个叫做的模块kscreensaver可能是您应该ps aux这样做
sagarchalise 2011年

Answers:


27

对于运行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 <( 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从命令行锁定屏幕,请使用: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


<()真是个绝招!
Martin Ueding 2012年

qdbus 似乎在Saucy下坏了,但是如果你安装了这个包的话它可以工作qdbus-qt5
机械蜗牛

喜欢差异处理器技术!我用了一个类似的事情,但是从菜单中手动选择的锁,而它在睡觉(即diff <( ps -ef ) <( sleep 3; ps -ef )
马修Wilcoxson

除了编写脚本外,您还可以在屏幕锁定并在那里执行grep处理时,使用ctrl + alt + F#切换TTY。但是脚本很酷!
悲伤
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.