Executar um aplicativo GUI no computador remoto a partir do SSH

10

Quero executar um aplicativo GUI no meu computador Ubuntu, mas ele deve ser iniciado por um shell script no meu servidor Debian através do SSH.

Isso é possível?

Patrick
fonte
1
Parece que há um pouco de confusão sobre o que você está tentando fazer. Você está tentando executar um programa da GUI em um host remoto, mas a janela da GUI aparece no seu host local? Ou você está tentando executar um aplicativo localmente (e a janela aparece localmente), mas foi acionado remotamente?
pkaeding
@pkaeding bem, se houver duas interpretações, ambas úteis, então você pode responder pelas duas. Você sabe? Alguém já comentou a pergunta sobre uma dessas interpretações "Alexander escreveu" Já faz um tempo, mas talvez você ainda se lembre se conseguiu iniciar o TeamViewer a partir do ssh. Eu gostaria que você pudesse compartilhar mais detalhes sobre como você fez isso. . Graças"<--- Então, se você conheceu e respondeu por tanto, que poderia ter ele e outros ajudaram.
barlop

Respostas:

4

Algo assim deve funcionar:

#on your desktop 
xhost + #not secure, make sure your X isn't listening on any tcp ports.
echo 'export DISPLAY=:0; x-command-you-want &' > ~/run-command
chmod +x ~/run-command
#on your server
ssh user@desktop '~/run-command'
OneOfOne
fonte
2

Isso funciona para mim quando estou no ssh:

export DISPLAY=:0; nohup iceweasel &>/dev/null &
Dante Alighieri
fonte
0

Sim, isso é possível. Você só precisará encaminhar o tráfego X através da conexão SSH. Por exemplo, conecte-se assim:

debian-computer:$ ssh -X username@ubuntu-computer

Em seguida, basta iniciar o aplicativo a partir do prompt SSH. A janela da GUI aparecerá na sua caixa debian (na qual você está conectado localmente). Todo o processamento será feito pelo computador remoto (o ubuntu).

Observe que isso só funcionará se você tiver um servidor X window em execução no seu computador local. Definitivamente, será esse o caso se você tiver uma instalação linux / unix na área de trabalho e também puder instalar servidores X no Mac OS e Windows, mas eles não serão instalados por padrão.

pkaeding
fonte
Ele queria que o servidor executasse um programa GUI na área de trabalho, também conhecido como servidor, que se conecte à área de trabalho e execute o programa.
OneOfOne
0

Obrigado por suas respostas. Nesse meio tempo, tentei outras coisas e uma delas foi fazer uma conexão SSH com o computador Ubuntu e executar um script nessa máquina.

Em uma das primeiras linhas desse script, defini a exibição EXPORT. O jogador sabe agora que exibição ele deve usar.

Obrigado novamente.

Patrick
fonte
Oi. Já faz um tempo, mas talvez você ainda se lembre se conseguiu iniciar o TeamViewer a partir do ssh. Eu gostaria que você pudesse compartilhar mais detalhes sobre como você fez isso. Obrigado.
21813 Alexander Chertov