Qual é a melhor maneira, se possível, de manter uma sessão X remota que sobrevive a interrupções de rede, reinicializações, etc.

3

Mesmo depois de ler o capítulo sobre o X no manual do Unix Haters, eu ainda achava que o X era uma das coisas que tornavam o unix superior ao Windows, já que torna "possível" trabalhar em máquinas remotamente com uma interface gráfica.

Mas depois de usar muito a Área de trabalho remota do Windows, que até tem clientes Unix totalmente funcionais, devo dizer que o X remoto parece cada vez mais antigo.

Hoje eu acidentalmente coloquei minha máquina estacionária do Windows para dormir e perdi todo o meu ambiente de trabalho que estava atropelando o X com o Xming e estava em funcionamento desde maio deste ano. Não importaria se fosse o Ubuntu que eu estava rodando, seria perdido de qualquer forma, já que meu ambiente de trabalho consistindo de sessões do gnome-terminal e sessões do emacs morreram instantaneamente quando o servidor X desapareceu. Claro que há uma tela que pode salvar suas sessões do gnome-terminal, se você pode viver com o confronto Ctrl-A, mas para o X?

Se minha máquina remota tivesse sido um servidor Windows, eu simplesmente reconectaria meu Cliente de Área de Trabalho Remota e prosseguiria como se nada tivesse acontecido.

Por que a comunidade Unix permitiu que esse frágil ambiente gráfico remoto fosse mantido sem uma melhoria adequada? Eu pesquisei e pesquisei e examinei o VNC ant NoMachine, mas eles parecem não estar fazendo a coisa certa, sendo comerciais ou sendo aleijados de várias maneiras.

Eu encontrei recentemente uma solução inábil, mas superior em termos de desempenho, em vez de usar NX ou VNC (eu até tentei o utilitário xpra experimental), eu tentei uma abordagem totalmente diferente, que funciona como um encanto:

  • No host do Linux, instale o VirtualBox
  • No VirtualBox, instale o WinXP (ou qualquer que seja a janela XP / Vista / 7 que você desejar).
  • Na máquina virtual do Windows, instale o Xming
  • Na máquina virtual do Windows, ative o acesso à área de trabalho remota.
  • Reinicie a máquina virtual no modo sem cabeça (VBoxManage startvm nome - sem cabeça)

Usando a área de trabalho remota, inicie o Xming ... aproveite a solução X-server mais rápida e re-conectável que já experimentei até agora.

Nota Pode ser possível rodar uma máquina Virtual Linux em vez do XP e usar o protocolo VRDP embutido no VirtualBox, ainda não tentei fazê-lo. Essa solução não requer uma solução baseada em Windows / Xming e pode ser construída inteiramente usando o OSS.

    
por ernelli 17.10.2011 / 16:48

2 respostas

2

Execute um X Server no sistema remoto que se apresenta como um servidor VNC em sua estação de trabalho.
Faça com que os clientes X no sistema remoto se conectem a esse servidor X e, em seguida, conecte sua estação de trabalho a ele usando um cliente VNC.

O Xvnc servidor X / VNC fazia parte do padrão AT & Distribuição VNC - Acredito que a maioria das distribuições VNC ainda é fornecida com algo equivalente.

Para abordar o "por que não faz o que eu quero?" Como parte da sua pergunta, o X nunca foi planejado para o que você está fazendo com ele - para colocar um ponto muito aguçado nele, o X é não acesso remoto. É exibição remota .
O X foi projetado para uso em grandes universidades, onde você tinha um servidor grande em um datacenter em algum lugar sem tela, e pequenos terminais gráficos em laboratórios de informática sem potência de CPU real, conectados uns aos outros por ethernet. (que é improvável que vá para baixo, e se isso acontecer você tem problemas maiores). Os mesmos princípios se aplicam a uma sessão X e uma sessão telnet ou SSH - se o link de rede subjacente desaparecer, a sessão morrerá.

O próprio X é bem antigo. vi é ainda mais antigo. Ambos fazem exatamente o que eles pretendiam fazer pelos designers originais, com um mínimo de recursos. Essa é a maneira do Unix.

    
por 17.10.2011 / 16:56
0

Eu uso o nxserver link Você pode se conectar ao X ou a uma sessão de rdp do Windows e ele continuará sua última sessão se você for desconectado, reinicialize e comprima a conexão para que funcione muito bem (melhor que rdp ou vnc) em conexões lentas (gsm / gprs). / p>     

por 17.10.2011 / 17:46