¿Qué es el mecanismo de locking de pantalla bajo KDE?

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?

Para sistemas que ejecuten KDE 4.x que serán

 qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock 

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

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

Ahora mira y aprende: o)

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

  • ps -ef todos los procesos mientras desbloqueado ps -ef ;
  • bloquear la pantalla qdbus .......... ;
  • Espera un momento para que la pantalla quede bloqueada.
  • luego liste 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 posibles comandos para bloquear la pantalla, ¿no es así? Ahora la respuesta a su pregunta es simple: para bloquear la pantalla desde la línea de comandos use: /usr/lib/kde4/libexec/kscreenlocker --forcelock the blankscrn.kss es un proceso secundario de kscreenlocker, por lo que kscreenlocker es el que debe ejecutarse.

Para ver la syntax 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 muestra un 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