web-dev-qa-db-fra.com

Comment redémarrer Gnome-Shell, une fois que celui-ci est devenu insensible / gel?

Parfois, mon gnome-shell se fige. Je peux voir (entendre) les processus d'arrière-plan qui fonctionnent (jouer de la musique), mais je ne peux rien faire dans gnome. Non Alt+F2+R.

Je peux passer à la console en utilisant: Ctrl+Alt+F1, connectez-vous en tant que même utilisateur et exécutez:

gnome-Shell --replace

et retour Ctrl+F7, mais alors, j'ai un comportement étrange. Par exemple, je ne peux pas modifier les connexions réseau. Je ne peux pas me déconnecter aussi. Quelle est la bonne façon de redémarrer le gnome-shell?

111
jk_

Le moyen le plus facile est juste d'appuyer Alt + F2, tapez "r" puis Enter. Cela fonctionnera si longtemps que le shell n'est pas inutilisable.

Vous pouvez également envoyer SIGQUIT au processus gnome-Shell qui mettra fin au shell uniquement:

killall -3 gnome-Shell

D'autres méthodes utilisent des moyens plus destructeurs, qui ferment toutes les applications, cela ne devrait pas.

152
Braiam
  • Si vous voulez demander "gentiment" à gnome-Shell de redémarrer lui-même, vous pouvez appeler sa fonction de redémarrage interne via dbus à l'aide de la commande suivante (en supposant que DBUS_SESSION_BUS_ADDRESS env var ait la valeur correcte et s'exécute sous le même utilisateur):

    dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'
    
  • Si vous souhaitez exécuter une nouvelle instance, gnome-Shell --replace devrait très bien fonctionner. Sur la console, vous devez définir les variables d’environnement nécessaires, telles que DISPLAY, DBUS*, etc. Reportez-vous à /proc/$gnome_Shell_pid/environ

  • Si vous voulez redémarrer un fichier existant, alors killall -HUP gnome-Shell le fera. Cependant, si vous le faites trop souvent, gnome-Shell peut désactiver toutes les extensions, vous déconnecter de force ou vous comporter de toute autre manière, d'une manière non conviviale.
29
korc

Si vous avez installé ubuntu gnome, vous devriez peut-être utiliser le gestionnaire d’affichage gnome. Dans ce cas, vous devriez passer à un autre TTY, comme Ctrl + Alt + F4, puis

Sudo service gdm restart

J'ai aussi écrit un article sur une telle situation récemment:

Aide, mon bureau Linux se bloque!

Bonne chance!

6
Gerhard Stein

J'ai été confronté au même problème et j'ai trouvé une solution de contournement différente:

  1. Connectez-vous à un terminal local en appuyant sur CTRL + ALT + F1.
  2. Exécutez la commande suivante: Sudo kill -HUP `pidof gnome-Shell`
  3. Revenez à l'interface graphique en appuyant sur CTRL + ALT + F7

PS: J'utilise lightdm au lieu de gdm3.

6
masina

Puisque vous n'êtes pas satisfait de gnome-Shell --replace, vous pouvez essayer de redémarrer le gestionnaire d'affichage lui-même.

Sudo service lightdm restart

Je pense que cela va tuer d'autres processus que vous exécutez. Voir également http://worldofgnome.org/how-to-restart-gnome-Shell-when-freezes-if-ever/

Si vous aimez sérieusement quelque chose qui vous fait geler à chaque fois, activez le SysRq comme indiqué dans https://www.kernel.org/doc/Documentation/admin-guide/sysrq.rst , puis donnez <alt><sysrq/print_screen_key><k> pour tuer ce qu'il y a à l'écran.

5
Jay Aurabind

Redémarrez X

  • Recherchez d’abord le gestionnaire d’affichage utilisé par votre Ubuntu avec la commande suivante:

    cat /etc/X11/default-display-manager
    

    dans mon cas, c'est /usr/sbin/gdm3

    De l'intérieur X ou de l'extérieur X

Pour les méthodes 1 à 4

  • découvrez l'affichage que vous utilisez à l'aide de la commande w.

        w
    

    la réponse peut être, par exemple, tty3 (la touche "retourner à mon affichage" est donc Ctl + Alt + F3

Méthode 1

‣ Ctl + Alt + F1 pour sortir, et Ctl + Alt + F3 pour en ramener un

Méthode 2

    Sudo /etc/init.d/gdm3 restart

Méthode 3

    systemctl restart gdm.service

Méthode 4

    Sudo service gdm3 restart

Méthode 5

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

Méthode 6

Pour ce faire, il suffit d'appuyer sur Alt + F2. Tapez r puis appuyez sur Entrée. Cela fonctionnera si longtemps que le shell n'est pas inutilisable.

J'ai parfois le même problème que vous décrivez, et ma solution est la suivante:

Ctrl + Alt + F1, connectez-vous en tant que même utilisateur et exécutez:

Sudo pkill -9 ^gnome-Shell

Et revenez avec Ctrl + Alt + F7

Si c'est la bonne façon, je ne sais pas. Pour moi, ça marche à chaque fois.

2
landas

kill -15 gnome-Shell ne fonctionne pas pour moi mais kill -9 le fait. Je pense que c’est parce que kill -9 déclenche un segfault qui déclenche le redémarrage de gnome-Shell, alors que kill -15 ne le fait pas.

0
Walter