Sarà per i sistemi che eseguono KDE 4.x.
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
Per Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock
Qdbus come scritto sopra, invia semplicemente un messaggio sul bus dei messaggi, che lo screen locker riceve. Il comando bloccherà comunque lo schermo. qdbus chiede semplicemente "qualcuno bloccherà lo schermo per favore?" Il vantaggio dell'uso di qdbus è che è supportato su piattaforme diverse da KDE. Il testo seguente funziona solo per KDE4.
Ora guarda e impara: o)
Per capirlo in modo un po 'più dettagliato, è necessario un po' di inganno:
- elenca tutti i processi mentre è sbloccato
ps -ef
;
- bloccare lo schermo
qdbus ..........
;
- attendere un momento per bloccare lo schermo
sleep 1
- quindi elenca i processi mentre è bloccato
ps -ef
- trova le differenze tra l'output di entrambi i comandi
diff <( cmd1 ) <( cmd2 )
La riga di 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
Questo restringe l'elenco di potenziali comandi per bloccare lo schermo, non è vero? Ora la risposta alla tua domanda è semplice: per bloccare lo schermo dalla riga di comando usa: /usr/lib/kde4/libexec/kscreenlocker --forcelock
blankscrn.kss è un processo figlio di kscreenlocker, quindi kscreenlocker è quello da eseguire.
Per visualizzare la sintassi del comando:
/usr/lib/kde4/libexec/kscreenlocker --help
Cosa fa? In pratica disegna una grande finestra nera che copre l'intero schermo e lo costringe a essere in cima a tutto. Cattura tutti i tasti e apre una finestra di dialogo di accesso.
Finalmente quale pacchetto arriva (kde-workspace-bin)?
$ dpkg -S /usr/lib/kde4/libexec/kscreenlocker
kde-workspace-bin: /usr/lib/kde4/libexec/kscreenlocker
kscreensaver
può essere che si dovrebbeps aux
che