Odmowa połączenia przekierowania PuTTY, CygwinX i X11

11

Nie mogę już przesyłać X11 za pomocą KiTTY / PuTTY do CygwinX.

Łączę się z maszyną Ubuntu Server 14.10, która jest poprawnie skonfigurowana, aby umożliwić przekazywanie X11. Ja jestem w stanie inicjować przekazywanie X11 przy użyciu Cygwin xterm i innych maszyn Linux.

Używam CygwinX [1.7.34 (0.285 / 5/3)] i KiTTY 0.64.0.1 (widelec PuTTY, próbowałem również PuTTY) na Win7.

Sprawdziłem zmienną wyświetlaną i próbowałem wyłączyć kontrolę dostępu xhost w Cygwin xterm.

$ echo $DISPLAY
:1

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

Moja KiTTY / PuTTY jest skonfigurowana do włączania przekazywania X11 i ustawione jest prawidłowe wyświetlanie. Próbowałem: 1 i: 1.0.

Zrzut ekranu konfiguracji KiTTY X11

Kiedy przesyłam SSH do serwera, moja zmienna DISPLAY jest ustawiana, a xauth aktualizowany. Usunąłem .Xauthority i odtworzyłem go w celu weryfikacji.

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

Podczas próby uruchomienia aplikacji X11 pojawia się następujący błąd.

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 nasłuchuje na porcie 34576, jeśli to ma znaczenie.

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

Wydaje mi się, że brakuje mi oprogramowania lub konfiguracji, ponieważ widzę to na wielu serwerach i komputerach klienckich. Każda pomoc będzie mile widziana.

SeeJayEmm
źródło
$DISPLAYna zdalnym komputerze powinien wskazywać adres twojego pulpitu, a nie localhost.
lcd047
2
@ lcd047 Nie, absolutnie teraz. $DISPLAYna zdalnym komputerze powinien wskazywać localhost. SSH wykonuje przekazywanie.
Gilles „SO- przestań być zły”
Zainstalowałem 32-bitowy Cygwin, aby wyeliminować Cygwin64 jako zmienną. Bez zmiany. Nadal otrzymuję błąd odmowy połączenia.
SeeJayEmm,
@Gilles: Chciałem zwrócić uwagę na to, że ponieważ $DISPLAY na zdalnej maszynie nie wskazuje pulpitu OP, przekazywanie X11 nie nastąpiło . W przeciwnym razie $DISPLAYna zdalnym komputerze może nawet nie istnieć, jeśli na zdalnym komputerze nie działa sam serwer X (który i tak nie ma nic wspólnego z początkowym pytaniem).
lcd047
3
@ lcd047 Nie. Sprawdź swoje fakty. Jeżeli przekierowanie X11 stanie, to DISPLAYwskazuje localhost. SSH nasłuchuje na porcie TCP na zdalnym komputerze i przekazuje pakiety. Jeśli DISPLAYwskazał na komputerze lokalnym, które wskazywałyby, że nie jest przekazywany za pośrednictwem SSH, ale na bezpośrednie połączenie TCP - w postaci zwykłego tekstu, i ewentualnie do adresu IP, który nie ma nawet trasą.
Gilles „SO- przestań być zły”

Odpowiedzi:

9

Ok, wymyśliłem rozwiązanie mojego problemu.

Domyślnie CygwinX nie nasłuchuje już połączeń tcp (Cyg SSH używa do połączenia gniazd Unix). Aby włączyć połączenia tcp, do parametrów wiersza poleceń należy dodać „-listen tcp”. W moim przypadku zmieniłem ikonę „XWin Server” na następującą:

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin -- -multiwindow -listen tcp"
SeeJayEmm
źródło
Działa mi to świetnie, dzięki! Ale jak mogę uniknąć konieczności robienia xhost +localhost(lub bezpieczniejszego rozwiązania) w lokalnym terminalu cygwin przy każdym uruchomieniu serwera X?
chappjc,
1
Cóż, dodałem xhost +localhostw startxwinprawo pod koniec pliku, wewnątrz ostatniego warunku:xhost +localhost fi exit $retval
chappjc
co z kitem?
Brian Thomas
@BrianThomas Czy możesz wyjaśnić swoje pytanie? Co z PuTTY? Konfiguracja PuTTY w moim oryginalnym poście była poprawna. Problem dotyczył CygwinX.
PatrzJayEmm
Cóż, miałem na myśli tytuł: Kit nie łączy się, odpowiedź jest dla Cygwina, a nie dla Kit, ale widzę ekran szpachlowy w OP. Tak czy inaczej to rozgryzłem. W przypadku kitu rozwiązaniem mojego problemu było upewnienie się, że działa tylko jeden Xserver (w moim przypadku XMing) i że nie ma błędów w dzienniku podczas uruchamiania, a jego podanie było obowiązkowe :10. (ok, rozumiem, jak to się nie odnosi do twojej odpowiedzi, ponieważ twój oryginalny OP jest jednak tutaj również innych ludzi, ten problem może być dość szeroki. więc mam nadzieję, że jest to pomocne dla innych.)
Brian Thomas,
0

Miałem ten problem. Było tak, ponieważ X-Win nie działał. Jeśli chcesz, aby X-Win uruchamiał się przy starcie, wybierz „uruchom”, a następnie „shell: startup” i skopiuj skrót x-win do tego folderu.

Tim Mottram
źródło
0

W moim przypadku błąd był podobny „odmówiono połączenia kitu x11”. Logowałem się za pomocą komputera z systemem Windows do serwera Ubuntu 16 za pośrednictwem putty (z włączonym przekazywaniem x11).

Próbowałem wielu rzeczy od ponownego generowania plików .Xauthority do dodawania magicznych plików cookie przy użyciu listy xauth. Problem polegał jednak na tym, że serwer Xming nie działał na moim komputerze z systemem Windows. Kiedy zacząłem Xming na maszynie hosta (Windows), na której spawałem kit, logowanie przez Putty działało jak urok.

Niszank
źródło