web-dev-qa-db-fra.com

Comment exécuter une application d'interface graphique de SSH Shell?

Je peux accéder à ma boîte Linux par SSH et par VNC. Je souhaite exécuter une application d'interface graphique, mais directement de SSH, je ne veux pas accéder à VNC et cliquez sur autour de vous. Donc, après avoir connecté à l'aide de SSH, je souhaite émettre une commande magique, de sorte que lorsque je me connecte via VNC, je verrai mon interface graphique en cours d'exécution. Comment puis-je faire ceci?

éditer:

La boîte Linux contient x le serveur. J'ai besoin d'automatiser le redémarrage d'une application d'interface graphique. Je veux le faire sans aucune sorte d'interaction de GUI. Ce dont j'ai besoin:

  1. connectez-vous via SSH sur le serveur
  2. exécutez mon application d'interface graphique en le forçant à lier au serveur X exécuté sur le serveur
  3. ???
  4. PROFIT!
7
karramba

J'ai lu la version modifiée de la question et si je vous comprends correctement, vous souhaitez exécuter un programme de SSH sans vous montrer l'interface graphique ... Vous voulez simplement exécuter le programme et cela dépend de X Windows, de sorte que vous besoin de connecter d'une manière ou d'une autre à X Windows sur le serveur lui-même.

Il y a deux choses que vous devez faire. Vous devez autoriser des connexions à l'extérieur de X Windows, puis vous devez indiquer à la coque (en SSH) que X serveur se lier à.

Tout d'abord, autorisez les connexions entrantes au serveur X. Ouvrez une fenêtre de terminal en X Windows sur la machine serveur. (Vous devez avoir accès à cela, sinon vous ne pouvez pas faire cela.)

Émettez la commande suivante:

xhost +

Il devrait vous dire des "connexions autorisées à tous les hôtes" ou de quelque chose à cet effet.

Ensuite, tout en restant dans X Windows, problème:

echo $DISPLAY

Cela vous indiquera l'identifiant d'affichage. Ecrivez-le ou souvenez-le. Typiquement, ce sera ": 0" ou ": 0.0" mais ne vous inquiétez pas si c'est différent.

C'est tout ce que vous avez à faire de X Windows elle-même.

Maintenant ssh dans le serveur depuis où que vous souhaitiez. Émettre la commande:

export DISPLAY=[what-the-echo-command-gave-you]

Et cela devrait être! Maintenant, vous devriez pouvoir exécuter toutes les fenêtres X à partir de cette coquille SSH, et il apparaîtra sur le serveur local X Windows.

J'espère que ça aide!

6
Teekin