Execute um aplicativo GUI em segundo plano e reconecte-se depois [duplicado]

3

Existe uma maneira de executar um aplicativo Gui (X11) em segundo plano para que, se eu desconectar, eu possa retomar o aplicativo em execução novamente?

Estou usando o SmarTTY no Windows para conectar-me ao CentOS remoto. Quando executo um aplicativo Gui (por exemplo, gnome-help), ele inicia o servidor Xming e exibe sua janela.

Eu quero mantê-lo funcionando mesmo se eu desconectar, travar ou fechar a conexão ssh. Para que eu possa voltar a executar o aplicativo mais tarde.

Eu tentei 'screen' e '&' e combinação de ambos, mas não funciona. Não consigo me conectar novamente ao aplicativo GUI quando a conexão SSH está fechada.

- EDIT--

Como respondido por Anthon

  1. Instale o VNC Server e o VNC Viewer no sistema remoto (por exemplo, CentOS).
  2. Iniciar o servidor VNC no controle remoto Xvnc -localhost :13
  3. Inicie o VNC Viewer para que ele seja exibido localmente por meio do X (por exemplo, no seu Windows)
  4. Definir exibição export DISPLAY=:13
  5. Inicie um aplicativo GUI e ele será exibido no VNC Viewer
por LifeH2O 18.12.2014 / 12:02

1 resposta

2

O aplicativo X precisa de uma tela para conectar e normalmente (se você se conectar via ssh usando -X que é sua tela local). O que você pode fazer em vez disso é usar Xvnc e criar uma tela virtual para seu aplicativo X conecte-se e, em seguida, após o login novamente, use um vncviewer para observar o que está acontecendo nesta tela virtual. Isso funciona de maneira semelhante ao uso de screen ou tmux para sessões de terminal.

Você inicia o Xvnc via:

  Xvnc -localhost -SecurityTypes=None :13

com 13 sendo um número único. Você usa esse número para definir sua variável de ambiente DISPLAY antes de iniciar o aplicativo X.

Durante a inicialização, o Xvnc lhe dirá qual porta usar para conectar (5913 no meu caso). Se você não especificar -localhost , poderá conectar-se diretamente à rede usando um visualizador vnc sem precisar primeiro fazer login usando ssh (isso depende do seu firewall, é claro, e você deve usar conexões protegidas por senha em vez de -SecurityTypes=None )

Em sistemas baseados em Debian, você pode instalar o Xvnc a partir do pacote vnc4server

    
por 18.12.2014 / 12:51