Für Systeme, auf denen KDE 4.x ausgeführt wird, ist dies der Fall
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
Für Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock
Qdbus sendet wie oben beschrieben lediglich eine Nachricht auf dem Nachrichtenbus, die der Screen-Locker empfängt. Der Befehl sperrt jedoch den Bildschirm. qdbus fragt nur freundlich "Wird jemand den Bildschirm bitte sperren?" Der Vorteil von qdbus ist, dass es auf anderen Plattformen als KDE unterstützt wird. Der folgende Text funktioniert nur für KDE4.
Jetzt gucken und lernen: o)
Um dies genauer herauszufinden, ist ein wenig Bash-Trick erforderlich:
- liste alle Prozesse auf, während sie nicht gesperrt sind
ps -ef
;
- sperren Sie den Bildschirm
qdbus ..........
;
- Warten Sie einen Moment, bis der Bildschirm gesperrt ist
sleep 1
- Listen Sie dann die gesperrten Prozesse auf
ps -ef
- Finden Sie die Unterschiede zwischen der Ausgabe beider Befehle
diff <( cmd1 ) <( cmd2 )
Die Befehlszeile:
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
Dadurch wird die Liste der möglichen Befehle zum Sperren des Bildschirms eingegrenzt, nicht wahr? Jetzt ist die Antwort auf Ihre Frage einfach: Um den Bildschirm über die /usr/lib/kde4/libexec/kscreenlocker --forcelock
Befehlszeile zu sperren, verwenden Sie: Die Datei blankscrn.kss ist ein untergeordneter Prozess von kscreenlocker, daher muss kscreenlocker ausgeführt werden.
So zeigen Sie die Befehlssyntax an:
/usr/lib/kde4/libexec/kscreenlocker --help
Was es macht? Es zeichnet im Grunde genommen ein großes schwarzes Fenster, das den gesamten Bildschirm abdeckt, und zwingt es, über allem zu stehen. Es fängt alle Tastenanschläge ab und öffnet einen Anmeldedialog.
Schließlich welches Paket kommt es in (kde-workspace-bin)?
$ dpkg -S /usr/lib/kde4/libexec/kscreenlocker
kde-workspace-bin: /usr/lib/kde4/libexec/kscreenlocker
kscreensaver
sollte sein können Sie ,ps aux
dass