Como reinicio uma tela congelada no Ubuntu sem perder nenhuma janela aberta?

11

Eu tinha um dispositivo rodando o Ubuntu 12.04 LTS com seu congelamento de tela. Geralmente eu simplesmente pulei para um tty disponível, ou seja, Ctrl - Alt - F1 e executei o comando /etc/init.d/lightdm restart ou service lightdm restart . Isso, no entanto, mata tudo o que tenho aberto. Como evito isso?

    
por PeanutsMonkey 23.03.2013 / 02:40

1 resposta

12

AVISO LEGAL: De acordo com o comentário de Brenden, isso pode estar desatualizado e não funcionar mais com as versões mais recentes do Ubuntu. Também esteja preparado para perder suas janelas abertas.

Agora eu comprei para o Unity (eu acabei de substituir meu shell GNOME pela unidade sem sair ou fechar janelas):

  1. Ir para tty1 [Ctrl] + [Alt] + [F1]
  2. Digite DISPLAY=:0 para que os programas saibam em qual porta encontrar o X-Server
  3. export DISPLAY
  4. unity --replace ou gnome-shell --replace (você também pode substituir o GNOME-Shell por unidade ou Unity pelo GNOME-Shell)

Isso só funciona se não o X-Server ou o GNOME estiver congelado, mas apenas o Unity ou o GNOME-Shell.

Como funciona: A comunicação entre os programas e o X-Server para exibir sua interface do usuário está funcionando em um soquete de rede. Isso normalmente está em "localhost: 0" short ": 0". Ao definir a variável DISPLAY, os programas sabem onde encontrar o X-Server para se comunicar com ele, então os programas são exibidos no X-Server no tty7, mesmo que o programa esteja rodando em tty1.

O conteúdo do Windows é gerenciado pelo X-Server, enquanto a posição e as bordas das janelas são gerenciadas pelo gerenciador de janelas integrado na unidade ou no GNOM-shell, de modo que haja uma maneira de substituí-las sem reiniciar os aplicativos. o X-Server.

PS: Eu estou apenas descrevendo o que eu entendo, então edite e me corrija se eu estiver errado em alguns pontos.

EDITAR: Para o GNOME-Shell, existe outra maneira de reiniciá-lo. Depois de mudar para tty basta digitar pkill -HUP gnome-shell , não sei se existe algo parecido para o Unity.

    
por 27.03.2013 / 00:20