Question Comment redémarrer Gnome-shell, après qu'il soit devenu insensible / figé?


Parfois, mon gnome-shell se fige. Je peux voir (entendre) les processus d'arrière-plan fonctionner (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 revenir Ctrl+F7, mais ensuite, 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?


80
2018-04-25 16:12


origine


Est-ce que gnome-shell gèle lors de l'utilisation de la fonction de recherche dans gnome-shell overview, ou à quelle occasion particulière, si vous pouvez le dire? - v2r
Non, il se fige après la connexion (surtout), généralement après le désamorçage. - jk_
Jusqu'à présent, je n'ai pas trouvé de solution de travail. Au final, je me retrouve avec cette solution de contournement. - jk_
Si vous utilisez des extensions de shell à partir de: extensions.gnome.org désactivez-les tous et redémarrez, pour voir si l'un d'entre eux a causé le problème. J'utilise une ancienne version de gnome-shell et j'ai eu beaucoup de problèmes à cause de cette cause exacte! (Peut-être que c'est aussi simple que ça?!) - v2r
J'ai essayé de les désactiver tous, toujours avec le problème :( - jk_


Réponses:


Le moyen le plus simple consiste simplement à appuyer sur Alt + F2, tapez "r" puis Entrer. Cela fonctionnera si longtemps que le shell n'est pas inutilisable.

Vous pouvez aussi envoyer SIGQUIT au gnome-shell processus qui ne terminera que le shell:

killall -3 gnome-shell

D'autres méthodes utilisent des moyens plus destructeurs, qui ferment toutes les applications, ce qui ne devrait pas être le cas.


107
2017-07-12 21:41



+1 pour le SIGHUP tip, cependant, ne serait pas la commande correcte alors être killall -1 gnome-shell? Au moins selon man 7 signal, la valeur pour SIGHUP est 1. La valeur 3 correspond à SIGQUIT. J'ai envoyé la valeur 1 au Gnome Shell et il a été redémarré proprement comme prévu. - Chriki
@Chriki oui, c'était sigquit, à travers la plupart des signaux ferait fin au processus gnome-shell. - Braiam
Je l'ai essayé sur Fedora 25 et killall -3 gnome-shell a abouti à tuer toutes les applications pour moi. - comfreak
Je souhaite que nous pourrions également utiliser une commande de terminal ayant exactement le même effet que Alt+F2 et r, c'est-à-dire sans masquer tout l'écran ... - Sadi
Je suis tombé sur le problème de gnome sur mon ubuntu vm, je devais redémarrer la VM à chaque fois. Être capable de ssh et utiliser cette commande résout ce problème, grâce à un million de personnes. - Nathan Fiscaletti


  • Si vous voulez demander "gentiment" à gnome-shell de se redémarrer, alors vous pouvez appeler sa fonction de redémarrage interne sur dbus avec la commande suivante (en supposant que vous avez DBUS_SESSION_BUS_ADDRESS env var définie à la valeur correcte et exécutée en tant que 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 voulez exécuter une nouvelle instance, gnome-shell --replace devrait faire bien. Sur la console, vous devez définir les variables d'environnement nécessaires, telles que DISPLAY, DBUS* etc. Faire référence à /proc/$gnome_shell_pid/environ

  • Si vous voulez redémarrer un existant, alors killall -HUP gnome-shell le fera. Si vous le faites trop souvent, gnome-shell peut désactiver toutes les extensions, vous déconnecter de force ou vous comporter de manière non conviviale.

20
2017-09-11 14:06



J'ai créé une fonction shell qui définit DBUS_SESSION_BUS_ADDRESS à partir de l'environnement de processus gnome-shell (vous pouvez donc logout otheruser1 otheruser2) askubuntu.com/a/874504/17941 - sehe
Eu l'erreur Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Shell was not provided by any .service files sans sudo et Failed to open connection to "session" message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11 avec sudo. - Seanny123


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 aussi http://worldofgnome.org/how-to-restart-gnome-shell-when-freezes-if-ever/ 

Si vous êtes sérieux dans quelque chose qui vous fait geler à chaque fois, activez le SysRq comme mentionné dans https://www.kernel.org/doc/Documentation/admin-guide/sysrq.rst, et ensuite donner <alt><sysrq/print_screen_key><k> tuer tout ce qu'il y a sur l'écran.


5
2018-04-25 16:52



Le redémarrage de lighdm fonctionne, mais je veux l'éviter, car je dois tout rouvrir à partir d'une égratignure. Surtout si je sais que c'est le problème d'un shell Gnome et le redémarrer presque travaux. - jk_
Je ne suis pas au courant d'autres méthodes pour reprogrammer uniquement le shell gnome. Avez-vous essayé si DISPLAY=:7 gnome-shell --replace travaux ? - Jay Aurabind
Non, je n’utilise pas d’affichage quand w affiche un affichage différent de : 0. Si j'utilise un mauvais affichage, je reçois une erreur. - jk_
Désolé, je suis hors des options. Vous devriez probablement demander dans la liste de diffusion gnome user / developer. Découvrez d'abord pourquoi vous avez des anomalies avec alt-f2-rou gnome-shell --replace quand c'est la manière recommandée du gnome. - Jay Aurabind
Donc moi aussi. Je l'ai même suivi ce lien configurer plus de variables ENV, mais je ne peux toujours pas éditer les connexions réseau lors du redémarrage de gnome-shell depuis un autre terminal. Au final, je me retrouve avec cette astuce - jk_


Je suis 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: 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.


4
2017-10-18 19:42



Simple et fonctionne comme un charme! (Au moins pour moi) - Katai


Si vous avez installé Ubuntu gnome, ce que vous devriez avoir, vous utilisez peut-être le gestionnaire d'affichage gnome. Dans ce cas, vous devez changer pour 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!

Meilleure chance!


4
2018-04-03 06:50





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 le bon moyen, je ne sais pas. Pour moi ça marche à chaque fois.


2
2018-04-26 03:02



Cela va tuer toutes les instances d'utilisateurs de gnome-shell qui peuvent ne pas être quelque chose que vous voulez faire dans un scénario multi-utilisateur. Normalement, il suffit de tuer le vôtre (pkill -HUP gnome-shell) - Steeve McCauley
kill -9 est un peu destructeur je pense: robertwe.github.io/2015/03/19/why-you-shoudnt-use-kill--9 - Robert
génial ça marche pour moi ...! vous sauvez ma journée. apprécié - NomanJaved


Redémarrer X

  • D'abord, trouvez quel gestionnaire d'affichage votre Ubuntu utilise avec la commande suivante:

    cat /etc/X11/default-display-manager
    

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

    De l'intérieur X ou EXTERIEUR X

Pour la méthode 1 à 4

  • savoir quel écran vous utilisez en utilisant le w commander.

        w
    

    la réponse peut être par exemple tty3, (pour cela ma touche "retour sur mon écran" est Ctl + Alt + F3

Méthode 1

‣ Ctl + Alt + F1 pour quitter 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

Un moyen simple consiste à appuyer sur Alt + F2 et à taper r puis appuyez sur Entrée. Cela fonctionnera si longtemps que le shell n'est pas inutilisable.


2
2017-10-10 14:36





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


0
2018-01-17 21:23



kill -9 ne déclenche pas de segfault. Il envoie SIGKILL, un signal insaisissable dont la seule action est de quitter immédiatement. Il ne doit être utilisé que lorsque l'application ne répond pas à SIGTERM, qui est 15. - muru
pkill -11 gnome-shell déclencherait une erreur de segmentation, puisque c'est littéralement ce que le signal 11 fait. BTW, kill a besoin d'un identifiant de processus, NE PAS un nom de processus. Vouliez-vous dire pkillou killall? - TSJNachos117