Connexion de transfert PuTTY, CygwinX et X11 refusée

10

Je ne suis plus en mesure de transférer X11 à l'aide de KiTTY / PuTTY vers CygwinX.

Je me connecte à une machine Ubuntu Server 14.10 correctement configurée pour autoriser le transfert X11. Je suis en mesure de lancer le transfert X11 à l'aide de Cygwin xterm et d'autres machines Linux.

J'utilise CygwinX [1.7.34 (0.285 / 5/3)] et KiTTY 0.64.0.1 (fork PuTTY, j'ai aussi essayé PuTTY), sur Win7.

J'ai vérifié ma variable d'affichage et j'ai essayé de désactiver le contrôle d'accès xhost dans Cygwin xterm.

$ echo $DISPLAY
:1

$ xhost +
access control disabled, clients can connect from any host

Mon KiTTY / PuTTY est configuré pour activer le transfert X11 et l'affichage correct est défini. J'ai essayé: 1 et: 1.0.

Capture d'écran de la configuration de KiTTY X11

Lorsque je SSH sur le serveur, ma variable DISPLAY est définie et xauth est mis à jour. J'ai supprimé mon .Xauthority et l'ai recréé pour le vérifier.

user@server:~$ echo $DISPLAY
localhost:10.0
user@server:~$ xauth list
server/unix:10  MIT-MAGIC-COOKIE-1  3983b2d7f3d5f9f66d9796997771bf82

Lorsque j'essaie de lancer une application X11, j'obtiens l'erreur suivante.

user@server:~$ xterm
KiTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused
xterm: Xt error: Can't open display: localhost:10.0

XWin.exe écoute sur le port 34576 si cela importe.

[XWin.exe]
 TCP    127.0.0.1:34576        0.0.0.0:0              LISTENING

Je crois qu'il y a un problème de logiciel ou de configuration qui me manque car je le vois avec plusieurs serveurs et machines clientes. Toute aide serait appréciée.

SeeJayEmm
la source
$DISPLAYsur la machine distante doit pointer vers l'adresse de votre bureau, non localhost.
lcd047
2
@ lcd047 Non, absolument maintenant. $DISPLAYsur la machine distante doit pointer vers localhost. SSH fait le transfert.
Gilles 'SO- arrête d'être méchant'
J'ai installé Cygwin 32 bits pour éliminer Cygwin64 en tant que variable. Pas de changement. Erreur de réception de la connexion refusée.
SeeJayEmm
@ Gilles: Le point que j'essayais de faire était que puisque $DISPLAY sur la machine distante ne pointe pas vers le bureau de l'OP, le transfert X11 ne s'est pas produit . Sinon, $DISPLAYsur la machine distante pourrait même ne pas exister si la machine distante n'exécute pas un serveur X lui-même (ce qui n'a de toute façon rien à voir avec la question initiale).
lcd047
3
@ lcd047 Non. Veuillez vérifier vos faits. Si le transfert X11 se produit, DISPLAYpointe alors sur localhost. SSH écoute sur un port TCP sur la machine distante et transfère les paquets. Si DISPLAYpointé vers la machine locale, cela indiquerait qu'elle n'est pas transmise via SSH, mais sur une connexion TCP directe - en texte clair, et éventuellement vers une adresse IP qui n'a même pas de route.
Gilles 'SO- arrête d'être méchant'

Réponses:

9

Ok, j'ai trouvé la solution à mon propre problème.

Par défaut, CygwinX n'écoute plus les connexions TCP (Cyg SSH utilise des sockets Unix pour se connecter). Pour activer les connexions tcp, "-listen tcp" doit être ajouté aux paramètres de la ligne de commande. Dans mon cas, j'ai changé l'icône "XWin Server" pour lire:

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin -- -multiwindow -listen tcp"
SeeJayEmm
la source
Cela fonctionne très bien pour moi, merci! Mais comment puis-je éviter d'avoir à faire xhost +localhost(ou une solution plus sûre) dans un terminal cygwin local chaque fois que je démarre le serveur X?
chappjc
1
Eh bien, j'ai ajouté xhost +localhosten startxwindroit à la fin du fichier, à l' intérieur du dernier conditionnel:xhost +localhost fi exit $retval
chappjc
Et pour le mastic?
Brian Thomas
@BrianThomas Pouvez-vous clarifier votre question? Et PuTTY? La configuration PuTTY dans mon message d'origine était valide. Le problème était avec CygwinX.
SeeJayEmm
Eh bien, je faisais référence au titre, Putty ne se connecte pas, la réponse est pour Cygwin, et non pour putty, mais je vois un écran de mastic dans l'OP. Quoi qu'il en soit, je l'ai compris. Pour le mastic, la solution à mon problème était de s'assurer qu'un seul Xserver (XMing dans mon cas) était en cours d'exécution, et qu'il n'y avait aucune erreur dans le journal au démarrage, et il était obligatoire de spécifier l'affichage :10fonctionnait pour moi. (ok, je peux voir comment cela ne se rapporte pas à votre réponse, puisque votre OP d'origine, cependant, il y a d'autres personnes ici aussi, ce problème peut être assez large. alors j'espère que cela est utile aux autres.)
Brian Thomas
0

J'ai eu ce problème. C'était parce que X-Win ne fonctionnait pas. Si vous voulez que X-Win s'exécute au démarrage, allez sur "exécuter" puis "shell: démarrage" et copiez le raccourci x-win dans ce dossier.

Tim Mottram
la source
0

Dans mon cas, l'erreur était similaire "connexion putty x11 refusée". Je me connectais via une machine Windows à un serveur Ubuntu 16 via putty (avec le transfert x11 activé).

J'ai essayé beaucoup de choses, de la régénération des fichiers .Xauthority à l'ajout d'un cookie magique en utilisant la liste xauth. Cependant, le problème était simplement que le serveur Xming ne fonctionnait pas sur ma machine Windows. Une fois que j'ai commencé Xming sur la machine hôte (Windows) sur laquelle je générais le mastic, la connexion via Putty a fonctionné comme un charme.

Nishank
la source