Come riavviare Gnome-shell, dopo che è diventato non rispondente / bloccato?

77

A volte, la mia gnome-shell si blocca. Riesco a vedere (sentire) i processi in background che funzionano (riprodurre musica), ma non posso fare nulla in Gnome. No Alt + F2 + R .

Posso passare alla console usando: Ctrl + Alt + F1 , accedi come lo stesso utente ed esegui:

gnome-shell --replace

e ritorna indietro Ctrl + F7 , ma poi, ho uno strano comportamento. Ad esempio, non posso modificare le connessioni di rete. Non riesco a disconnettermi. Qual è il modo corretto di riavviare la gnome-shell?

    
posta jk_ 25.04.2014 - 18:12

8 risposte

105

Il modo più semplice è semplicemente premere Alt + F2 , digitare "r" e poi Invio . Funzionerà così a lungo che la shell non è inutilizzabile.

Puoi anche inviare SIGQUIT al processo gnome-shell che terminerà solo la shell:

killall -3 gnome-shell

Altri metodi usano mezzi più distruttivi, che chiudono tutte le applicazioni, questo non dovrebbe.

    
risposta data Braiam 12.07.2014 - 23:41
19
  • Se vuoi chiedere "simpaticamente" a gnome-shell di riavviarsi, puoi chiamare la sua funzione di riavvio interno su dbus con il seguente comando (supponendo che tu abbia DBUS_SESSION_BUS_ADDRESS env var impostato sul valore corretto ed eseguito come utente):

    dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'
    
  • Se vuoi eseguire una nuova istanza, gnome-shell --replace dovrebbe andare bene. Sulla console è necessario definire le variabili di ambiente necessarie come DISPLAY , DBUS* e così via. Fai riferimento a /proc/$gnome_shell_pid/environ

  • Se vuoi riavviare quello esistente, allora killall -HUP gnome-shell lo farà. Se lo fai troppo spesso, gnome-shell potrebbe disabilitare tutte le estensioni, forzarti a disconnetterti o comportarti diversamente in modo non intuitivo.
risposta data korc 11.09.2015 - 16:06
5

Poiché non sei soddisfatto di gnome-shell --replace , potresti provare a riavviare il display manager stesso.

sudo service lightdm restart

Penso che ucciderà altri processi che stai utilizzando. Vedi anche link

Se sei seriamente coinvolto in qualcosa che ti blocca ogni volta, abilita l'SysRq come menzionato nel link , quindi attribuisci <alt><sysrq/print_screen_key><k> per uccidere ciò che è lì sullo schermo.

    
risposta data Jay Aurabind 25.04.2014 - 18:52
4

Ho riscontrato lo stesso problema e ho trovato una soluzione alternativa diversa:

  1. Accedi a un terminale locale premendo CTRL + ALT + F1
  2. Esegui il comando: sudo kill -HUP 'pidof gnome-shell'
  3. Torna all'interfaccia grafica premendo CTRL + ALT + F7

PS: sto usando lightdm invece di gdm3.

    
risposta data masina 18.10.2017 - 21:42
4

Se hai installato ubuntu gnome, che dovresti avere, potresti usare gnome display manager. In tal caso, dovresti passare a un altro TTY, come Ctrl + Alt + F4 e poi

sudo service gdm restart

Ho anche scritto di recente un articolo su questa situazione:

Aiuto, il mio desktop Linux si blocca!

Best Luck!

    
risposta data Gerhard Stein 03.04.2017 - 08:50
2

A volte ho lo stesso problema che descrivi, e la mia soluzione è:

Ctrl + Alt + F1 , accedi come lo stesso utente ed esegui:

sudo pkill -9 ^gnome-shell

E ritorna indietro con Ctrl + Alt + F7

Se questo è il modo corretto, non lo so. Per me funziona sempre.

    
risposta data landas 26.04.2014 - 05:02
2

Riavvia X

  • Per prima cosa trova il display manager che stai usando Ubuntu con il seguente comando:

    cat /etc/X11/default-display-manager
    

    nel mio caso è /usr/sbin/gdm3

    Da Inside X o OUTSIDE X

Per i metodi da 1 a 4

  • scopri quale display stai utilizzando utilizzando il comando w .

        w
    

    la risposta potrebbe essere ad esempio tty3 , (quindi la mia chiave (ack) "return to my display" è Ctl + Alt + F3

Metodo 1

‣ Ctl + Alt + F1 per uscire e Ctl + Alt + F3 per portarne uno indietro

Metodo 2

    sudo /etc/init.d/gdm3 restart

Metodo 3

    systemctl restart gdm.service

Metodo 4

    sudo service gdm3 restart

Metodo 5

    dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'

Metodo 6

Un modo semplice è semplicemente premere Alt + F2 e digitare r , quindi premere invio. Funzionerà così a lungo che la shell non è inutilizzabile.

    
risposta data markackerman8-gmail.com 10.10.2017 - 16:36
0

kill -15 gnome-shell non funziona per me, ma kill -9 lo fa. Penso che sia perché kill -9 innesca un segfault che fa scattare a gnome-shell il riavvio stesso, mentre kill -15 no.

    
risposta data Walter 17.01.2016 - 22:23

Leggi altre domande sui tag