SSH : Lancement d'une appli graphique sur PC distant - Réseaux - Réseaux grand public / SoHo
Marsh Posté le 11-12-2019 à 17:36:42
Il n'y a pas une histoire de faire un truc genre
export DISPLAY=:0
En tout cas sur Unix/X11, j'ai des vagues souvenirs de ça ...
Par contre sous Windows, jamais fait de SSH mais peut-être il y a un truc du style aussi ...
Marsh Posté le 11-12-2019 à 17:39:31
Tu peux essayer dans ta commande de préciser le display sur lequel tu souhaites faire apparaître la fenêtre (mais je ne suis pas sûr que cela fonctionne).
Exemple :
ssh -X user@adressip "export DISPLAY=adressip:0.0; notepad.exe"
Je ne suis pas sûr que le "-X" soit utile puisqu'il permet de rediriger l'affichage de la commande sur ton display local.
edit: par l'ancêtre
Marsh Posté le 11-12-2019 à 21:43:13
Merci les toulousaing de jeter un oeil !
Donc j'ai bien testé avec le DISPLAY=:0 et toutes les variantes possibles dont la commande proposée par jay31790 mais ça ne fonctionne pas.
D'ailleurs quand je fais un echo $DISPLAY je n'ai aucun retour...
Marsh Posté le 11-12-2019 à 22:34:14
jojo_le_haricot a écrit : Bonjour, |
Vous pouvez répéter la question ?
Marsh Posté le 11-12-2019 à 22:42:25
T'utilises WSL 1 ou 2 ?
En face tu utilises WSL 1 ou 2 ? Si WSL pourquoi pas un openssh-server ?
Avoir une fenêtre en local il faut effectivement régler la variable d'environnement DISPLAY.
Quand tu sur ton bash en local, fait effectivement :
export DISPLAY=:0 |
Et teste déjà en local si ton affichage marche bien.
Soit avec x11-apps soit terminator (terminal sur python2.x)
sudo apt install x11-apps -y |
Puis tester avec xeyes
xeyes & |
Déjà valider cette étape
Marsh Posté le 11-12-2019 à 22:45:18
T'as un xeyes de pirate avec un seul œil toi pour l'écrire xeye ?
Marsh Posté le 11-12-2019 à 22:46:42
Je sais pas j'ai même pas un linux ou un win sous la main
Marsh Posté le 12-12-2019 à 09:25:31
XaTriX a écrit : |
XaTriX a écrit : T'utilises WSL 1 ou 2 ?
|
Pour résumer ma demande le plus simplement possible :
Envoi d'une commande depuis PC A vers PC B (sous Win 10) avec affichage de l'appli graphique sur PC B (sous Win 10)
Le PC A ne sert qu'à envoyer la commande.
Je n'utilise pas WSL. J'ai cygwin installé sur le PC B avec les paquets openssh et x11
Et je ne parviens donc qu'à exécuter en arrière plan (sans l'interface graphique) le programme avec la commande suivante :
Code :
|
ou les instructions
Code :
|
Marsh Posté le 12-12-2019 à 10:48:33
ReplyMarsh Posté le 12-12-2019 à 11:27:38
déjà en local sur un bash cygwin tu peux lancer une appli ?
Marsh Posté le 12-12-2019 à 11:31:06
Sous linux, cela doit être sous /etc/ssh/sshd_config (pour les connexions serveur) et /etc/ssh/ssh_config (pour les connexions clients)
Marsh Posté le 12-12-2019 à 11:38:36
XaTriX a écrit : déjà en local sur un bash cygwin tu peux lancer une appli ? |
Yes sans problème, je parviens aussi à lancer des commandes a distance mais pour une appli graphique la fenêtre ne s'affiche pas, on retrouve juste le process qui se lance dans le gestionnaire des taches.
Marsh Posté le 12-12-2019 à 11:45:47
jay31790 a écrit : Sous linux, cela doit être sous /etc/ssh/sshd_config (pour les connexions serveur) et /etc/ssh/ssh_config (pour les connexions clients) |
Voici le contenu de mon C:\cygwin64\etc\ssh\sshd_config
Code :
|
Et mon C:\cygwin64\etc\ssh\ssh_config
Code :
|
Marsh Posté le 12-12-2019 à 12:20:24
Alors, sans rien touché à mes paramètres ssh, ça fonctionne chez moi entre 2 machines RedHat 7 (un serveur et une workstation)
côté workstation (avec l'affichage X donc), j'ai créé le script /tmp/launch.sh suivant :
Code :
|
côté serveur :
Code :
|
Et mon firefox s'est affiché sur la workstation
Maintenant, tu as du Windows dans la boucle donc tu devrais changer le script shell en un bat mais là, c'est hors de mes compétences^^
Marsh Posté le 12-12-2019 à 12:50:30
jay31790 a écrit : Alors, sans rien touché à mes paramètres ssh, ça fonctionne chez moi entre 2 machines RedHat 7 (un serveur et une workstation) côté workstation (avec l'affichage X donc), j'ai créé le script /tmp/launch.sh suivant :
côté serveur :
Et mon firefox s'est affiché sur la workstation |
Je viens de tester exactement ce que tu m'a décrit et j'ai le même comportement qu'auparavant, le programme ne se lance qu'en arrière plan sans l'affichage de la fenêtre.
Testé avec un script shell et un batch qui fonctionnent parfaitement quand je suis en local sur le PC distant.
Donc je soupçonne fortement Windows de me faire chier
Marsh Posté le 12-12-2019 à 12:57:29
ReplyMarsh Posté le 12-12-2019 à 15:12:08
Essaie
export DISPLAY=:0.0 |
Marsh Posté le 12-12-2019 à 15:15:27
ReplyMarsh Posté le 12-12-2019 à 15:31:49
J'ai trouvé cette info en fouillant, ça m'aide pas
Citation : |
Marsh Posté le 12-12-2019 à 16:00:19
Putain depuis le début je fais mes tests avec notepad.exe...
Je teste maintenant avec calc.exe ou un message pop-up ça marche !
Je teste avec firefox et pareil que le notepad (s'exécute uniquement en arrière plan)
Marsh Posté le 12-12-2019 à 16:00:46
Je ne sais pas si tu trouveras facilement des infos sur le Net car en général, le déport de display via ssh permet de lancer une appli d'une machine distante tout en ayant l'affichage sur ta machine locale.
c'est bien la première fois que je vois quelqu'un vouloir lancer une appli sur une machine distante avec affichage sur la machine distante.
La dernière que j'ai fait un truc du genre, c'était pour faire râler des collègues (et encore, on affichait sur sa machine une appli de la machine locale)
Marsh Posté le 12-12-2019 à 17:10:07
Bon j'ai finalement réussi...
En utilisant en complément l'outil psexec sur le poste distant.
Depuis le client j'envoie ma commande ssh qui appelle un batch :
Code :
|
Et sur le poste distant : dans mon batch j'utilise psexec qui envoie la commande au le PC sur lequel il est... :
Code :
|
Idem avec firefox par exemple :
Code :
|
Marsh Posté le 11-12-2019 à 16:40:47
Bonjour,
Voici ma problématique : via une simple commande je souhaite pouvoir lancer une application sur un PC distant (sous Windows 10 et sur le même réseau local) tout en ayant la fenêtre de l'appli visible sur l'écran distant.
Pour résumer ma demande le plus simplement possible :
PC A --> commande SSH --> PC B (sous Win 10) : affichage de l'appli graphique sur PC B (sous Win 10)
Le PC A ne sert qu'à envoyer la commande.
Le PC B tourne sous Win 10 avec cygwin installé avec les paquets openssh et x11
Et je ne parviens donc qu'à exécuter en arrière plan (sans l'interface graphique) le programme avec la commande suivante envoyée depuis le PC A :
Commande puis-je avoir l'interface graphique de l'appli (notepad dans l'exemple) qui s'affiche sur l'écran du PC B (distant) ?
Message édité par jojo_le_haricot le 12-12-2019 à 09:37:28
---------------