Desktop permanente na instância Amazon EC2 com servidor Ubuntu

Desktop permanente na instância Amazon EC2 com servidor Ubuntu

Estou tentando executar um programa em uma instância de servidor Ubuntu 14.04 na Amazon, mas ele precisa de uma interface gráfica. Posso instalar o lunbuntu e usar o x2go para visualizar a área de trabalho, mas assim que há um problema na minha conexão com a internet, a conexão do x2go cai e o ambiente da área de trabalho parece desligar (junto com meu programa).

Existe uma maneira de ter o desktop rodando o tempo todo na instância e usar o x2go para acessá-lo (em vez de ele ser criado quando eu me conectar), para que o desktop funcione mesmo se eu perder minha conexão? O objetivo de executá-lo no EC2 é aumentar a estabilidade em relação à minha conexão desleixada.

Depois de muitas horas resolvendo esse problema, lendo e experimentando diferentes soluções para configurar o arquivo DISPLAY e xauth, não consigo fazê-lo funcionar. Isso pode ser feito?

Responder1

Claro. Existem duas opções:

  1. Se você precisar, ocasionalmente, acessar a área de trabalho, use vncserver:

    sudo apt-get install tightvncserver
    

    Nota: existem outras implementações, mas esta funcionará bem. Depois de instalado, execute-o:

    vncserver :1
    

    Na primeira vez que você executar isso, será solicitada uma senha para acessar sua área de trabalho. Escolha um. Agora você pode acessá-lo usando qualquer cliente VNC.Observação: o protocolo VNC não está criptografado. Você vai querer tunelá-lo com alguma criptografia (por exemplo, encaminhamento de porta SSH, ou VPN, ou algo nesse sentido) e proteger suas portas com firewall (neste exemplo, é a porta 5901).

  2. Se você não precisa acessar a GUI, ela só precisa ser executada, você pode usar xvfbdentro de uma screensessão:

    sudo apt-get install screen xvfb
    screen xvfb-run your_application
    

    Isso inicia uma sessão de tela, que inicia o xvfb, que inicia seu aplicativo. screené um programa que permite iniciar algo, desconectar-se e reconectar-se mais tarde. A desconexão é feita por meio de ctrl- a, d(isto é, segure o controle e a,solte ambos, pressione d); a reconexão é feita com screen -r.

    xvfb-runé um script que inicia Xvfb, que é a abreviação de "X for Virtual Framebuffer". Ele fala o protocolo X11, mas não faz quase nada com ele; tudo o que seu aplicativo envia para esse servidor X não é mostrado em nenhuma tela. Entretanto, ainda é um servidor X; para poder usá-lo, você deve definir algumas variáveis ​​de ambiente e fazer Xauthoritymágica. xvfb-runexiste para que você não precise fazer isso manualmente. Por fim, depois de tudo configurado, xvfb-runinicie sua aplicação e conecte-a Xvfbaos gráficos e ao terminal onde você a iniciou (neste caso, sua sessão de tela) para stdout. Sempre que seu aplicativo se desconectar do servidor X, Xvfb(e por extensão, xvfb-run) será encerrado.

Como Xvfbnão permite modificar coisas, requer menos recursos e pode ser mais rápido. No entanto, se você precisar acessar a GUI, isso não é uma opção.

informação relacionada