Qual è il meccanismo di blocco dello schermo in KDE?


14

Ho installato il desktop KDE sul mio 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# 

Volevo solo sapere che se premo "CTRL + ALT + L", qual è il processo / l'applicazione che blocca lo schermo? sotto GNOME è gnome-screensaver. Cosa c'è sotto KDE?


Io sto commentando perché io non uso KDE, ma vedo un modulo chiamato kscreensaverpuò essere che si dovrebbe ps auxche
sagarchalise

Risposte:


27

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 --forcelockblankscrn.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


Questo <()è un trucco pulito!
Martin Ueding,

qdbus sembra essere rotto sotto Saucy , ma funziona se installi il pacchetto qdbus-qt5.
Lumaca meccanica

Adoro la tecnica dei processori diff! Ho usato una cosa simile, ma ho selezionato manualmente il blocco dal menu mentre dormiva (ad es.diff <( ps -ef ) <( sleep 3; ps -ef )
Matthew Wilcoxson,

Invece di scrivere lo script, puoi semplicemente cambiare TTY con ctrl + alt + F # mentre lo schermo è bloccato e grep elabora lì. Ma la sceneggiatura è fantastica!
Dolore
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.