Vraag Hoe Gnome-shell opnieuw te starten, nadat het niet meer reageerde / bevroor?


Soms bevriest mijn gnome-shell. Ik kan achtergrondprocessen zien (horen) werken (muziek afspelen), maar ik kan niets doen in de kabouter. Nee alt+F2+R.

Ik kan overschakelen naar console met behulp van: Ctrl+alt+F1, log in als dezelfde gebruiker en voer uit:

gnome-shell --replace

en keer terug Ctrl+F7, maar dan krijg ik een vreemd gedrag. Ik kan bijvoorbeeld geen netwerkverbindingen bewerken. Ik kan niet ook uitloggen. Wat is de juiste manier om de gnome-shell opnieuw op te starten?


80
2018-04-25 16:12


oorsprong


Bevriest gnome-shell tijdens het gebruik van de zoekfunctie in gnome-shell overviewof bij welke gelegenheid, als u het kunt zien? - v2r
Nee, het bevriest na het inloggen (meestal), meestal na het ontkoppelen. - jk_
Tot nu toe heb ik geen werkende oplossing gevonden. Op het einde kom ik er uiteindelijk uit deze oplossing. - jk_
Als u shell-extensies gebruikt van: extensions.gnome.org deactiveer ze allemaal en start ze opnieuw op, om te zien of een van hen de problemen heeft veroorzaakt. Ik gebruik een oudere versie van gnome-shell en had veel problemen vanwege die exacte oorzaak! (Misschien is het net zo simpel als dat ?!) - v2r
Ik heb geprobeerd ze allemaal uit te schakelen, nog steeds met het probleem :( - jk_


antwoorden:


De gemakkelijkere manier is gewoon drukken alt + F2, typ dan "r" invoeren. Dit werkt zo lang dat de shell niet onbruikbaar is.

U kunt ook verzenden SIGQUIT naar de gnome-shell proces dat alleen de shell zal beëindigen:

killall -3 gnome-shell

Andere methoden gebruiken meer destructieve middelen, die alle toepassingen sluiten, dit zou niet moeten.


107
2017-07-12 21:41



+1 voor de SIGHUP tip zou echter niet de juiste opdracht zijn killall -1 gnome-shell? Althans volgens man 7 signal, de waarde voor SIGHUP is 1. Waarde 3 komt overeen met SIGQUIT. Ik heb waarde 1 naar de Gnome Shell gestuurd en deze is zoals verwacht netjes opnieuw opgestart. - Chriki
@Chriki ja, het was sigquit, door de meeste signalen zou het proces van gnome-shell eindigen. - Braiam
Ik probeerde dit op Fedora 25 en killall -3 gnome-shell resulteerde in het doden van alle applicaties voor mij. - comfreak
Ik zou willen dat we ook een terminal-commando konden gebruiken met precies hetzelfde effect als Alt+F2 en r, d.w.z. zonder het hele scherm te sluiten ... - Sadi
Ik kom het probleem tegen dat GNOME veel crasht op mijn ubuntu vm, ik moest de VM elke keer opnieuw opstarten als het gebeurde. In staat zijn te ssh in en gebruik deze opdracht lost die kwestie op, bedankt een miljoen. - Nathan Fiscaletti


  • Als u "leuk" wilt vragen aan gnome-shell om zichzelf opnieuw op te starten, dan kunt u de interne herstelfunctie via dbus bellen met het volgende commando (ervan uitgaande dat u DBUS_SESSION_BUS_ADDRESS env var ingesteld op de juiste waarde en als dezelfde gebruiker uitgevoerd):

    dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'
    
  • Als u een nieuw exemplaar wilt uitvoeren, gnome-shell --replace zou het goed moeten doen. Op console moet je noodzakelijke omgevingsvariabelen zoals definiëren DISPLAY, DBUS* enzovoort. Verwijzen naar /proc/$gnome_shell_pid/environ

  • Als u de bestaande wilt herstarten, dan killall -HUP gnome-shell zal het doen. Als je dat echter te vaak doet, kan gnome-shell alle extensies uitschakelen, je met geweld afmelden of je anderszins op een niet-gebruikersvriendelijke manier gedragen.

20
2017-09-11 14:06



Ik heb een shell-functie gemaakt die het DBUS_SESSION_BUS_ADDRESS instelt in de gnome-shell-procesomgeving (dus je kunt logout otheruser1 otheruser2) askubuntu.com/a/874504/17941 - sehe
Heb de fout Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Shell was not provided by any .service files zonder sudo en Failed to open connection to "session" message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11 met sudo. - Seanny123


Omdat je niet tevreden bent met gnome-shell --replace, wilt u misschien proberen het weergavemanager zelf opnieuw te starten.

sudo service lightdm restart

Ik denk dat dat andere processen die je gebruikt zal doden. Zie ook http://worldofgnome.org/how-to-restart-gnome-shell-when-freezes-if-ever/ 

Als je serieus bezig bent met iets dat je elke keer laat bevriezen, schakel dan de SysRq in zoals vermeld in https://www.kernel.org/doc/Documentation/admin-guide/sysrq.rsten geef dan <alt><sysrq/print_screen_key><k> om wat dan ook daar op het scherm te doden.


5
2018-04-25 16:52



Het herstarten van lighdm werkt, maar ik wil het vermijden, omdat ik alles vanaf nul moet heropenen. Vooral als ik weet dat het een probleem is met een Gnome-shell en het opnieuw start bijna werken. - jk_
Ik ben me niet bewust van andere methoden om alleen de mantel van de kabouter te herstellen. Heb je geprobeerd of DISPLAY=:7 gnome-shell --replace werkt? - Jay Aurabind
Nee, dat gebeurt niet, ik gebruik display, wanneer w toont display anders dan : 0. Als ik een verkeerd scherm gebruik, krijg ik een foutmelding. - jk_
Sorry, ik heb geen opties. Je zou het waarschijnlijk moeten vragen in de mailinglijst van de gnome user / developer. Probeer eerst uit te zoeken waarom je afwijkingen hebt alt-f2-rof gnome-shell --replace wanneer het de aanbevolen manier van de kabouter is. - Jay Aurabind
Ik ook. Ik heb zelfs gevolgd deze link meer ENV-variabelen instellen, maar ik kan nog steeds geen netwerkverbindingen bewerken wanneer ik gnome-shell vanaf een andere terminal opnieuw start. Op het einde kom ik er uiteindelijk uit deze truc - jk_


Ik heb hetzelfde probleem ondervonden en ik heb een andere oplossing gevonden:

  1. Log in op een lokale terminal door op CTRL + ALT + F1 te drukken
  2. Voer de opdracht uit: sudo kill -HUP `pidof gnome-shell`
  3. Keer terug naar de grafische interface door op CTRL + ALT + F7 te drukken

PS: ik gebruik lightdm in plaats van gdm3.


4
2017-10-18 19:42



Eenvoudig en werkt als een charme! (Tenminste voor mij) - Katai


Als u ubuntu gnome hebt geïnstalleerd, wat u zou moeten hebben, zou u de gnome display manager kunnen gebruiken. In dat geval moet u overschakelen naar een andere TTY, zoals Ctrl + Alt + F4 en vervolgens

sudo service gdm restart

Ik heb onlangs ook een artikel geschreven over een dergelijke situatie:

Help, mijn Linux-bureaublad loopt vast!

Veel succes!


4
2018-04-03 06:50





Ik heb soms hetzelfde probleem als u beschrijft en mijn oplossing is:

Ctrl + alt + F1, log in als dezelfde gebruiker en voer uit:

sudo pkill -9 ^gnome-shell

En ga terug met Ctrl + alt + F7

Als dit de juiste manier is, weet ik het niet. Voor mij werkt het altijd.


2
2018-04-26 03:02



Hiermee worden alle gebruikersinstanties van gnome-shell gedood, wat misschien niet iets is wat u in een scenario met meerdere gebruikers wilt doen. Normaal hoef je alleen je eigen (pkill -HUP gnome-shell) te doden - Steeve McCauley
kill -9 is een beetje destructief denk ik: robertwe.github.io/2015/03/19/why-you-shoudnt-use-kill--9 - Robert
geweldig het werkt voor mij ...! je redt mijn dag. gewaardeerd. - NomanJaved


Start X opnieuw

  • Zoek eerst naar welke display-manager uw Ubuntu gebruikt met de volgende opdracht:

    cat /etc/X11/default-display-manager
    

    in mijn geval is dat zo /usr/sbin/gdm3

    Van binnen X of BUITEN X

Voor methode 1 tot 4

  • ontdek welk scherm u gebruikt met behulp van de w opdracht.

        w
    

    het antwoord kan bijvoorbeeld zijn tty3, (daarom is de toets "terugkeren naar mijn display" van mijn (ack) Ctl + Alt + F3

Methode 1

‣ Ctl + Alt + F1 om af te sluiten, en Ctl + Alt + F3 om er een terug te brengen

Methode 2

    sudo /etc/init.d/gdm3 restart

Methode 3

    systemctl restart gdm.service

Methode 4

    sudo service gdm3 restart

Methode 5

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

Methode 6

Een eenvoudige manier is gewoon op Alt + F2 drukken en typen r druk vervolgens op enter. Dit werkt zo lang dat de shell niet onbruikbaar is.


2
2017-10-10 14:36





kill -15 gnome-shell werkt niet voor mij maar kill -9 doet. Ik denk dat het komt omdat kill -9 triggert een segfault die de gnome-shell triggert zichzelf opnieuw op te starten, terwijl kill -15 doet niet.


0
2018-01-17 21:23



kill -9 triggert geen segfault. Het stuurt SIGKILL, een niet te vangen signaal waarvoor de enige actie is om onmiddellijk te stoppen. Het zou alleen moeten worden gebruikt als de applicatie niet reageert op SIGTERM, dat is 15. - muru
pkill -11 gnome-shell zou een segfault activeren, omdat dat letterlijk is wat signaal 11 doet. BTW, kill heeft een proces-ID nodig, NIET een procesnaam. Bedoelde je pkillof killall? - TSJNachos117