Sblocca la schermata di accesso utilizzando la riga di comando


30

È possibile sbloccare la schermata di login della shell 13.04 Gnome da una riga di comando? Un utente è connesso alla shell Gnome, posso accedere a una console come questo utente. Ho anche l'accesso come root.

Questo serve per accedere a un display X11 attivo tramite VNC, senza dover inserire la password.

Esecuzione

gnome-screensaver-command -d

come suggerito in un post sul blog non ha aiutato.

schermata di accesso


Ssh ti sta dando qualche output o errore?
Braiam,

@Braiam: posso entrare ssh, non è questo il problema. Serve per accedere a un display X11 attivo tramite VNC, ma senza dover inserire la password.
krlmlr,

Risposte:


33

Suppongo che tu abbia un recente sistema Linux con systemd(es. Ubuntu 16.04 o più recente).

Se devi sbloccare la tua sessione , esegui loginctl unlock-session(non è richiesto il root perché è la tua sessione). Se hai più sessioni e desideri selezionarne solo una, esegui loginctl list-sessionsper identificare la sessione e quindi esegui ad es loginctl unlock-session c187.

Se devi sbloccare tutte le sessioni , esegui sudo loginctl unlock-sessions. Nota che questo sbloccherà immediatamente TUTTE le sessioni, indipendentemente da quale utente stia eseguendo il salvaschermo.


Se hai bisogno di ulteriori informazioni per identificare la sessione corretta, puoi provare qualcosa del genere:

loginctl list-sessions --no-legend | while read id rest; do echo; loginctl show-session $id; done

3
Questa è l'unica risposta che funziona il 16.04
Lemonsqueeze,

Apparentemente non c'è bisogno di sudo
Lemonsqueeze,

1
È necessario sudose si desidera sbloccare gli screen saver di TUTTE le sessioni (comprese le sessioni non in esecuzione con il proprio ID utente).
Mikko Rantalainen,

Nota anche l'ultimo sin unlock-sessions. Se vuoi sbloccare solo la tua sessione, fallo loginctl unlock-session.
Mikko Rantalainen,

2
Dovrebbe essere la risposta accettata!
Brice,

16

Il problema con l'esecuzione di comandi come gnome-screensaver-commandda una sessione SSH è di solito che non si connettono automaticamente al bus di sessione appropriato per la sessione desktop attiva - di solito, l'impostazione della variabile DISPLAY risolverà che, ad esempio, questi funzionano per me (effettuato l'accesso tramite SSH come lo stesso utente che possiede la sessione X bloccata, che è su DISPLAY: 0):

$ DISPLAY=:0 gnome-screensaver-command -d

per sbloccare e

$ DISPLAY=:0 gnome-screensaver-command -l

chiudere a chiave.

In alternativa, è possibile attivare / disattivare lo stato attivo utilizzando dbus-send, ad esempio

$ export DISPLAY=:0
$ dbus-send --session \
          --dest=org.gnome.ScreenSaver \
          --type=method_call \
          --print-reply \
          --reply-timeout=20000 \
          /org/gnome/ScreenSaver \
          org.gnome.ScreenSaver.SetActive \
          boolean:false

Fonte: https://people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html#gs-examples


1
Sfortunatamente, nessuno di questi metodi ha sbloccato il particolare blocco schermo installato sul mio sistema (vedi screenshot). Come posso sapere quale processo è responsabile del blocco dello schermo?
krlmlr,

1
I comandi restituiscono un errore? In tal caso, per favore pubblicalo. Per vedere se è in esecuzione un salvaschermo diverso, puoi provare ps -fu <username> | grep saver: è possibile che xscreensavervenga utilizzato al posto di gnome-screensaver, nel qual caso puoi provare DISPLAY=:0 xscreensaver-command -deactivate.
Steeldriver,

1
Ho testato questa risposta su Ubuntu 14.04. Non funziona Sblocca lo schermo, ma lo schermo rimane bloccato.
Kasperd,

5

Per me ha funzionato:

sudo killall gnome-screensaver

Particolarmente utile quando si è effettuato l'accesso tramite SSH con un altro utente.


Confermato, ho avuto questo problema quando la tastiera non stava digitando sulla schermata di sblocco, ma ero in grado di passare al terminale usando CTRL + ALT + F3 e questo salvaschermo ha aiutato. Poi sono appena tornato alla sessione CTRL + ALT + F2 che era bloccata :)
jave.web

Funziona quando X2Go mostra la schermata di blocco e non risponde :)
terminato il

1

Ho avuto un problema con il blocco dello schermo di Gnome 3 (screensaver) bloccato su uno schermo vuoto. Sono riuscito a aggirarlo sostituendo il gestore delle finestre gnome-shell.

Ctrl + Alt + F1 e accedi su una console virtuale, quindi:

pkill -QUIT gnome-shell
DISPLAY=:0.0 gnome-shell -r &

( &Esegue lo sfondo della nuova shell gnome in modo da poter disconnettersi dalla console virtuale e mantenerla in esecuzione. In alternativa, utilizzare Ctrl + Z per sospendere il processo gnome-shell e bgper eseguire lo sfondo.)

Potrebbe non essere elegante, ma alla fine mi ha permesso di tornare alle mie app desktop senza che Gnome mi costringesse a disconnettermi.


Grazie, proverò a vedere se il riavvio gnome-shellfunziona per me.
krlmlr,

1

Ho avuto un problema simile in cui la schermata di sblocco non accettava l'input da tastiera a volte. Il modo in cui ho finalmente risolto è stato quello di uccidere i vari gnome-screensaver processi in esecuzione, oltre a un gnome-screensaver-dialogprocesso. Immagino che qualunque processo stesse generando 2 sessioni di salvaschermo di gnomi stava rovinando la mia schermata di sblocco. In realtà dovrei usare xscreensaver invece, quindi forse è stato un casino.

Ad ogni modo, Ctrl+Alt+F1cerca i processi di screensaver in esecuzione ps -aux | grep screene li uccidi tutti. I comandi gnome e xscreensaver elencati nelle altre risposte non hanno funzionato per me.

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.