¿Cuál es el mecanismo de bloqueo de pantalla bajo KDE?


14

Instalé el escritorio KDE en mi Ubuntu:

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# 

Solo quería saber que si presiono "CTRL + ALT + L", ¿cuál es el proceso / aplicación que bloquea la pantalla? bajo GNOME es gnome-screensaver. ¿Qué es bajo KDE?


Estoy comentando porque yo no uso KDE pero veo un módulo llamado kscreensaverpuede ser que usted debe ps auxque
sagarchalise

Respuestas:


27

Para sistemas que ejecutan KDE 4.x eso será

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

Para Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus como se escribió anteriormente, solo envía un mensaje en el bus de mensajes, que recibe el bloqueador de pantalla. Sin embargo, el comando bloqueará la pantalla. qdbus solo pregunta amablemente "¿alguien bloqueará la pantalla por favor?" La ventaja de usar qdbus es que es compatible con otras plataformas que no sean KDE. El siguiente texto funciona solo para KDE4.

Ahora mira y aprende: o)

Para resolver esto con un poco más de detalle, se requiere un poco de truco de bash:

  • enumerar todos los procesos mientras está desbloqueado ps -ef;
  • bloquear la pantalla qdbus ..........;
  • espera un momento para bloquear la pantalla sleep 1
  • luego enumere los procesos mientras está bloqueado ps -ef
  • encuentra las diferencias entre la salida de ambos comandos diff <( cmd1 ) <( cmd2 )

La línea de comando:

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

Esto reduce la lista de comandos potenciales para bloquear la pantalla, ¿no? Ahora la respuesta a su pregunta es simple: para bloquear la pantalla desde la línea de comandos use: /usr/lib/kde4/libexec/kscreenlocker --forcelockblankscrn.kss es un proceso secundario de kscreenlocker, por lo que kscreenlocker es el que debe ejecutarse.

Para ver la sintaxis del comando: /usr/lib/kde4/libexec/kscreenlocker --help

¿Que hace? Básicamente, dibuja una gran ventana negra que cubre toda la pantalla y la obliga a estar encima de todo. Captura todas las pulsaciones de teclas y aparece un cuadro de diálogo de inicio de sesión.

Finalmente, ¿en qué paquete viene (kde-workspace-bin)?

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

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


Ese <()es un buen truco!
Martin Ueding

qdbus parece estar roto en Saucy , pero funciona si instala el paquete qdbus-qt5.
Caracol mecánico

Me encanta la técnica de procesadores diff! diff <( ps -ef ) <( sleep 3; ps -ef )
Usé

En lugar de escribir el script, puede cambiar TTY con ctrl + alt + F # mientras la pantalla está bloqueada y grep procesa allí. ¡Pero el guión es genial!
Dolor
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.