Pour les systèmes exécutant KDE 4.x qui seront
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
Pour Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock
Qdbus comme écrit ci-dessus, envoie simplement un message sur le bus de messages, que le casier d'écran reçoit. La commande verrouillera cependant l'écran. qdbus demande simplement "est-ce que quelqu'un verrouillera l'écran s'il vous plaît?" L'avantage d'utiliser qdbus est qu'il est pris en charge sur d'autres plates-formes que KDE. Le texte ci-dessous fonctionne uniquement pour KDE4.
Maintenant, regardez et apprenez: o)
Pour comprendre cela un peu plus en détail, un peu de ruse bash est nécessaire:
- répertorier tous les processus déverrouillés
ps -ef
;
- verrouiller l'écran
qdbus ..........
;
- attendez un moment pour verrouiller l'écran
sleep 1
- puis répertoriez les processus verrouillés
ps -ef
- trouver les différences entre la sortie des deux commandes
diff <( cmd1 ) <( cmd2 )
La ligne de commande:
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
Cela réduit la liste des commandes potentielles pour verrouiller l'écran, n'est-ce pas? Maintenant, la réponse à votre question est simple: Pour verrouiller l'écran à partir de la ligne de commande, utilisez: /usr/lib/kde4/libexec/kscreenlocker --forcelock
le blankscrn.kss est un processus enfant de kscreenlocker, donc kscreenlocker est celui à exécuter.
Pour afficher la syntaxe de commande:
/usr/lib/kde4/libexec/kscreenlocker --help
Ce qu'il fait? Il dessine essentiellement une grande fenêtre noire qui couvre tout l'écran et le force à être au-dessus de tout. Il intercepte toutes les frappes et affiche une boîte de dialogue de connexion.
Enfin dans quel paquet vient-il (kde-workspace-bin)?
$ dpkg -S /usr/lib/kde4/libexec/kscreenlocker
kde-workspace-bin: /usr/lib/kde4/libexec/kscreenlocker
kscreensaver
peut être vous devriezps aux
que