2009-10-07 5 views
2

J'ai installé GTK sur une machine Linux. Je me connecte à la machine Linux à partir d'une session Telnet pour compiler les programmes GTK à partir d'une machine Windows. J'utilise Cygwin sur Windows Machine. mais je ne suis pas en mesure de voir sortie GUI de mon programme GTK sur ma machine Windows.Exécution d'une application GTK + sur une machine Linux, à partir de Windows

Quand je lance le programme de mon terminal i obtenir cette erreur:

(helloworld:22576): Gtk-WARNING **: cannot open display: 

J'ai essayé des solutions de chaque réponse affichée, mais ne sert à rien maintenant, je reçois l'erreur suivante:

$ ./helloworld 
Invalid MIT-MAGIC-COOKIE-1 key 
(helloworld:22710): Gtk-WARNING **: cannot open display: 172.25.0.161:0 

et i Je reçois une erreur de suivi sur ma console Cygwin:

client 6 rejected from IP 172.25.0.91 Auth name: MIT-MAGIC-COOKIE-1 ID: -1 
+0

Est-ce que Google est de nouveau en panne? Triste jour. :( – Bombe

+0

Ceci est très déroutant Veuillez expliquer clairement ce que vous voulez faire Voulez-vous exécuter un programme GTK sur Windows via Cygwin? Qu'est-ce que cette machine Linux a à voir avec cela? – Jesper

+0

J'ai essayé toutes les réponses, mais aucune utilisation maintenant Je reçois erreur suivant $ ./helloworld clé non valide MIT-MAGIC-COOKIE-1 (helloworld: 22710): Gtk-AVERTISSEMENT **: ne peut pas ouvrir l'affichage. 172.25.0.161:0 – User7723337

Répondre

2

Vous devez définir la variable DISPLAY i n votre session Telnet à l'adresse IP ou le nom DNS de votre machine Windows et append « : 0 »

export DISPLAY=windows.your.domain:0 

Et vous devez démarrer un serveur X sur la machine Windows (livré avec Cygwin mais vous devez démarrer).

1

Vous devez installer X-server sur votre machine Windows et assurez-vous que DISPLAY est réglé sur yourmachine:0 ou quelque chose comme ça. Ou mieux encore utilisez ssh au lieu de telnet (par exemple putty) et tunnel votre connexion X. Cependant, vous devrez faire un peu de votre propre recherche, parce que la réponse complète serait longue.

2

Vous devez exécuter le X window system (avec l'installation Cygwin) sur votre Windows boîte et activer les connexions à distance (probablement avec xhost). Définir l'affichage variable sur votre machine Linux à l'adresse de votre Windows boîte et: 0, en tant que tel:

export DISPLAY=192.168.1.123:0 

Je recommande d'utiliser ssh plutôt que telnet, pour des raisons de sécurité. Dans ce cas, vous n'avez pas besoin d'activer les connexions distantes avec xhost et vous n'avez pas besoin de définir la variable DISPLAY. Vous avez seulement besoin d'activer X forwarding.

1

Installez un petit serveur X sur Windows XMing32, puis exécutez-le, utilisez putty comme client de console et cochez "X11 Forwarding" dans Connection-> SSH-> X11.

Malheureusement, X11 Forwarding n'est pas disponible via Telnet, vous devez exécuter un serveur SSH sur la cible Linux et connectez via SSH. (Voir si /etc/ssh/sshd_conf nécessite également l'activation de X11 Forwarding).

+0

merci d'avoir oublié de mettre le drapeau X11 Forwarding à true. J'ai travaillé! – User7723337

Questions connexes