2009-08-07 7 views
0

Cela peut sembler une question étrange, mais elle a une certaine valeur pour le projet sur lequel je travaille actuellement.Exécution à distance d'applications Windows à partir d'un serveur Windows

J'ai un serveur Windows 2003 exécutant XMing (ou Cygwinx). Je me connecte au serveur depuis Ubunutu en utilisant ssh avec le transfert X11 activé. Lorsque je lance une application X sur le serveur Windows 2003 (par exemple xeyes), l'application s'affiche sur le serveur Windows et non sur l'ordinateur Ubuntu local.

Xming étant un serveur X entièrement implémenté, j'ai supposé qu'il prendrait en charge la diffusion d'applications X sur des clients distants. Des suggestions pour lesquelles cela ne fonctionne pas?

+0

Les serveurs X11 affichent des choses sur le matériel local, vous n'avez pas besoin d'un serveur X sur Windows pour les afficher sur votre machine Linux, vous voulez que les programmes X11 sur Windows utilisent plutôt le serveur X11 sur votre machine Linux. En outre, ce n'est pas une question de programmation. – nos

Répondre

1

Des sons comme le serveur ssh n'acceptent pas la demande de transfert X. Après vous être connecté, vérifiez l'environnement et vous devriez voir le jeu de variables DISPLAY, indiquant l'hôte et l'affichage (par exemple localhost: 10); Si ce n'est pas le cas, les clients X utiliseront DISPLAY par défaut (par exemple, localhost: 0).

De même, le serveur X sur la machine distante (celui qui est dans ssh'd into) n'a aucune influence sur cela, seulement les clients X qui y sont installés. Lorsque vous passez en SSH à la machine distante, votre hôte Ubuntu local est le serveur X, acceptant les connexions des clients X distants.

+0

Lors de ma première connexion via SSH, ma variable d'affichage n'est pas définie. Je l'ai manuellement mis à DISPLAY = 127.0.0.1: 0.0. Cela entraîne toujours l'affichage de l'application x sur le poste de travail distant. –

+0

Il existe des options de configuration pour sshd permettant d'activer/de configurer X11 Forwarding. Sur mon serveur Linux, par exemple, le fichier/etc/ssh/sshd_config contient "X11Forwarding yes"; pas sûr où cette config serait pour le serveur Windows – libjack

+0

Enfin réussi à travailler celui-là. Le problème était avec le paramètre de contrôle d'accès. La solution simple (bien que non sécurisée) consiste à désactiver le contrôle d'accès sur le serveur X. Donc 'xming -ac -multiwindow' pour démarrer le serveur X sur la machine client, puis 'ssh -X userAip' sur la machine hôte et enfin 'exporter DISPLAY = clientip: 0.0' une fois la connexion établie. –

0

Ce qui se passe est le comportement correct. Le serveur X (XMing) s'exécute sous Windows 2003 et vous sert l'application Xeyes (un client).

Un article de Wikipédia avec quelques modifications ...

Le serveur X accepte les demandes de sortie graphique (affichage de votre serveur W2003) et renvoie l'entrée d'utilisateur (à partir du clavier, souris ou écran tactile).

La terminologie client-serveur de X Window System - le terminal de l'utilisateur étant le serveur et les applications étant les clients - confond souvent les nouveaux utilisateurs, car les termes semblent inversés. Mais X prend la perspective de l'application, plutôt que celle de l'utilisateur final: X fournit des services d'affichage et d'E/S aux applications, c'est donc un serveur; les applications utilisent ces services, ce sont donc des clients.

+1

Je ne suis pas d'accord que c'est le comportement correct. Xeyes est lancé à partir de la session Ubuntu ssh (connecté au serveur Windows 2003) donc il devrait apparaître sur le bureau Ubuntu et non sur le bureau Windows. Si j'inverse cette situation (connectez-vous du serveur Windows à la boîte d'Ubuntu), j'obtiens le bon comportement, c'est-à-dire que Xeyes est lancé dans une session Windows SSH et s'affiche dans Windows. –

Questions connexes