Executa GUI fora da sessão SSH

1

Estou tentando executar um aplicativo de GUI (se não fosse a GUI ...) sobre SSH, mas quero que o aplicativo seja portado para a sessão X nativa e não para a sessão SSH. Dessa forma, quando eu fechar a sessão SSH, o programa continuará funcionando. Estou entrando na caixa com o mesmo usuário que já está logado na caixa e tenho privilégios de root. A sessão x na caixa é UserA e estou fazendo login via SSH como userA. O sistema operacional é o Ubuntu 13.04.

Existe uma maneira de fazer isso facilmente? Quaisquer tentativas anteriores sempre tentaram mostrar a janela X do lado do cliente e quando eu fechei o SSH, o programa parou de funcionar. Eu também pensei em entrar e editar o script de inicialização da sessão e simplesmente reinicializar a máquina para fazê-la rodar o que eu quero, mas ela tem alguns programas de servidor que eu não sei como acessar (eles são de linha de comando). baseado) para desligá-los remotamente. Se eu matar a máquina de outra forma, isso provavelmente corromperá o software do servidor.

    
por Signify 19.04.2013 / 15:20

1 resposta

2

Você pode desistir da sessão SSH se puder conectar-se diretamente a partir do servidor que executa o aplicativo cliente X em seu computador local que esteja executando um servidor X.

Conecte-se por SSH e, em seguida:

export DISPLAY=your.computer.ip:0.0

Isso dirá ao cliente X que ele deve se conectar ao primeiro servidor X e encontrar o primeiro display X ( 0.0 ) em your.computer.ip . Basta iniciar o aplicativo cliente X como normal e ele deve se conectar ao seu servidor X diretamente, e você pode fechar a sessão SSH.

Você precisará certificar-se de que uma conexão direta possa ser feita de onde quer que o cliente esteja executando em seu sistema local, incluindo quaisquer regras de encaminhamento e encaminhamento de porta. Você também pode ter que configurar seu servidor X local para aceitar conexões da rede (não me lembro se é localhost apenas por padrão). Você também precisará desativar completamente toda a segurança no servidor X (não faça isso, a menos que você esteja em uma LAN privada onde você possa confiar em todos os computadores):

xhost +

ou saiba como configurar e configurar corretamente a autenticação X entre clientes.

Com toda a honestidade, isso é exatamente o que acontece quando você faz isso normalmente através do SSH - exceto que o túnel SSH está sendo usado para encaminhar a conexão, então você não precisa lidar com o encaminhamento de porta, e você não Não é necessário lidar com a alteração da configuração do servidor X para escutar na rede as conexões de entrada (um possível risco de segurança) e o SSH configurará automaticamente toda a segurança X do usuário para que o aplicativo não tenha problemas de conexão. Mesmo rodando através do SSH, o aplicativo está rodando na sessão X nativa , o SSH está apenas sendo usado como proxy.

Você não listou as razões para evitar o SSH, mas, a menos que seja um requisito difícil dado por um chefe que você não pode mudar, eu reconsideraria strongmente usá-lo para o encaminhamento da sessão X. Você não ganhará nada em particular a partir de uma conexão direta, mas o SSH pode simplificar muitos dos pontos problemáticos, pois foi projetado para fazer exatamente isso.

    
por 19.04.2013 / 16:32

Tags