Agora eu comprei para o Unity (eu acabei de substituir meu shell GNOME pela unidade sem sair ou fechar janelas):
- Ir para tty1 [Ctrl] + [Alt] + [F1]
- Digite
DISPLAY=:0
para que os programas saibam em qual porta encontrar o X-Server -
export DISPLAY
-
unity --replace
ougnome-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.