Como reiniciar o Gnome-shell, depois que ele ficou sem resposta / congelamento?

69

Às vezes, meu gnomo-shell congela. Eu posso ver (ouvir) os processos em segundo plano funcionando (tocando música), mas não posso fazer nada no gnome. Não Alt + F2 + R .

Eu posso mudar para o console usando: Ctrl + Alt + F1 , faça o login como o mesmo usuário e execute:

gnome-shell --replace

e retorna Ctrl + F7 , mas depois, fico com um comportamento estranho. Por exemplo, não consigo editar conexões de rede. Eu não posso sair também. Qual é a maneira correta de reiniciar o shell do gnome?

    
por jk_ 25.04.2014 / 18:12

8 respostas

94

A maneira mais fácil é pressionar Alt + F2 , digitar "r" e depois Enter . Isso funcionará por tanto tempo que o shell não ficará inutilizável.

Você também pode enviar SIGQUIT para o processo gnome-shell , que terminará apenas o shell:

killall -3 gnome-shell

Outros métodos usam meios mais destrutivos, que fecham todos os aplicativos, isso não deveria.

    
por Braiam 12.07.2014 / 23:41
18
  • Se você quer perguntar "muito bem" ao gnome-shell para reiniciar a si mesmo, você pode chamar sua função de reinicialização interna pelo dbus com o seguinte comando (supondo que você tenha DBUS_SESSION_BUS_ADDRESS env var definido como o valor correto e executado como usuário):

    dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'
    
  • Se você deseja executar uma nova instância, gnome-shell --replace deve fazer bem. No console, você precisa definir as variáveis de ambiente necessárias, como DISPLAY , DBUS* e assim por diante. Consulte /proc/$gnome_shell_pid/environ

  • Se você quiser reiniciar o já existente, então killall -HUP gnome-shell fará isso. Se você fizer isso com muita frequência, o gnome-shell pode desabilitar todas as extensões, desconectá-lo com força ou se comportar de maneira não amigável ao usuário.
por korc 11.09.2015 / 16:06
4

Se você instalou o ubuntu gnome, o que deve ter, você pode estar usando o gerenciador de exibição do gnome. Nesse caso você deve mudar para outro tty, como Ctrl + Alt + F4 e depois

sudo service gdm restart

Boa sorte!

    
por Gerhard Stein 03.04.2017 / 08:50
4

Como você não está satisfeito com gnome-shell --replace , convém tentar reiniciar o próprio gerenciador de exibição.

sudo service lightdm restart

Acho que isso matará outros processos que você está executando. Consulte também link

Se você estiver seriamente envolvido em algo que o faça congelar toda vez, ative o SysRq como mencionado no link , e então dê <alt><sysrq/print_screen_key><k> para matar o que estiver lá na tela.

    
por Jay Aurabind 25.04.2014 / 18:52
3

Estou enfrentando o mesmo problema e encontrei uma solução diferente:

  1. Faça login em um terminal local pressionando CTRL + ALT + F1
  2. Execute o comando: sudo kill -HUP 'pidof gnome-shell'
  3. Retornar para a interface gráfica pressionando CTRL + ALT + F7

PS: estou usando o lightdm em vez do gdm3.

    
por masina 18.10.2017 / 21:42
2

Às vezes, tenho o mesmo problema que você descreve e minha solução é:

Ctrl + Alt + F1 , faça o login como o mesmo usuário e execute:

sudo pkill -9 ^gnome-shell

E retorne com Ctrl + Alt + F7

Se este é o jeito certo, eu não sei. Para mim, funciona sempre.

    
por landas 26.04.2014 / 05:02
1

Reinicie o X

  • Primeiro, encontre o gerenciador de exibição que seu Ubuntu está usando com o seguinte comando:

    cat /etc/X11/default-display-manager
    

    no meu caso é /usr/sbin/gdm3

    Do interior X ou EXTERIOR X

Para o Método 1 a 4

  • descubra qual display você está usando usando o comando w .

        w
    

    a resposta pode ser, por exemplo, tty3 , (por isso, a tecla "retornar ao meu display" do meu (ack) é CTL + Alt + F3

Método 1

‣ Ctl + Alt + F1 para sair, e Ctl + Alt + F3 para trazer de volta

Método 2

    sudo /etc/init.d/gdm3 restart

Método 3

    systemctl restart gdm.service

Método 4

    sudo service gdm3 restart

Método 5

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

Método 6

Uma maneira fácil é apenas pressionar Alt + F2 e digitar r e depois pressionar Enter. Isso funcionará por tanto tempo que o shell não ficará inutilizável.

    
por markackerman8-gmail.com 10.10.2017 / 16:36
0

kill -15 gnome-shell não funciona para mim, mas kill -9 . Eu acho que é porque kill -9 dispara um segfault que faz com que o gnome-shell reinicie a si mesmo, enquanto kill -15 não faz isso.

    
por Walter 17.01.2016 / 22:23

Tags