Exécutez une application GUI sur un ordinateur distant à partir de SSH

10

Je veux exécuter une application graphique sur mon ordinateur Ubuntu, mais elle devrait démarrer par un script shell sur mon serveur Debian via SSH.

Est-ce possible?

Patrick
la source
1
Il semble qu'il y ait un peu de confusion sur ce que vous essayez de faire. Essayez-vous d'exécuter un programme GUI sur un hôte distant, mais la fenêtre GUI apparaît-elle sur votre hôte local? Ou essayez-vous d'exécuter une application localement (et de faire apparaître la fenêtre localement), mais la déclenche-t-elle à distance?
pkaeding
@pkaeding bien s'il y a deux interprétations, toutes deux utiles, alors vous pouvez répondre pour les deux. Savez-vous? Quelqu'un a déjà commenté une de ces interprétations "a écrit Alexander" Cela fait un moment, mais peut-être vous souvenez-vous encore si vous avez pu démarrer TeamViewer à partir de ssh. J'apprécierais si vous pouviez partager plus de détails sur la façon dont vous avez fait cela. Merci. "<--- Donc, si vous avez su et répondu pour les deux, cela aurait pu l'aider et aider les autres.
barlop

Réponses:

4

Quelque chose comme ça devrait fonctionner:

#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
la source
2

Cela fonctionne pour moi une fois que je suis connecté:

export DISPLAY=:0; nohup iceweasel &>/dev/null &
DanteAlighieri
la source
0

Oui, c'est possible. Vous n'aurez qu'à transférer le trafic X via la connexion SSH. Par exemple, connectez-vous comme ceci:

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

Ensuite, lancez simplement l'application à partir de l'invite SSH. La fenêtre GUI apparaîtra sur votre boîte Debian (à laquelle vous êtes connecté localement). Tout le traitement sera effectué par l'ordinateur distant (celui d'ubuntu).

Notez que cela ne fonctionnera que si vous avez un serveur X Window en cours d'exécution sur votre ordinateur local. Ce sera certainement le cas si vous avez une installation de bureau linux / unix, et vous pouvez également installer des serveurs X sur Mac OS et Windows, mais ils ne sont pas installés par défaut.

pkaeding
la source
Il voulait que le serveur exécute un programme GUI sur le bureau, alias le serveur se connecte au bureau et exécute le programme.
OneOfOne
0

Merci pour vos réponses. En attendant, j'ai essayé quelques autres choses et l'une d'entre elles était d'établir une connexion SSH avec l'ordinateur Ubuntu et d'exécuter un script sur cette machine.

Sur l'une des premières lignes de ce script, j'ai défini l'affichage EXPORT. Le joueur sait maintenant quel écran il doit utiliser.

Merci encore.

Patrick
la source
Salut. Cela fait un moment, mais peut-être vous souvenez-vous encore si vous avez pu démarrer TeamViewer à partir de ssh. J'apprécierais si vous pouviez partager plus de détails sur la façon dont vous avez fait cela. Merci.
Alexander Chertov