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 --forcelock
blankscrn.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
kscreensaver
puede ser que usted debeps aux
que