2013-05-04 06:02:20 +0000 2013-05-04 06:02:20 +0000
16
16

Jak mogę sprawić, by X11 Forwarding działał w Windows z PuTTY i Xmingiem?

Zawsze chciałem, aby X11 Forwarding działał z PuTTY, a X Window System, którego używam to Xming. Kiedy mam uruchomiony Xming i nawiązuję nowe połączenie z moim serwerem, po wydaniu polecenia otrzymuję następujący komunikat:

$ firefox
PuTTY X11 proxy: wrong authentication protocol attemptedPuTTY X11 proxy: wrong authentication protocol attemptedError: cannot open display: localhost:10.168

$ google-chrome
PuTTY X11 proxy: wrong authentication protocol attempted
(google-chrome:7083): Gtk-WARNING **: cannot open display: localhost:10.168

$ gedit
PuTTY X11 proxy: wrong authentication protocol attempted
**(gedit:6990): WARNING**: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attemptedCannot open display:
Run 'gedit --help' to see a full list of available command line options.

$ gnome-system-monitor
PuTTY X11 proxy: wrong authentication protocol attempted
**(gnome-system-monitor:7024): WARNING**: Could not open X display
PuTTY X11 proxy: wrong authentication protocol attempted
(gnome-system-monitor:7024): Gtk-WARNING **: cannot open display: localhost:10.168

Jak mogę naprawić te błędy i sprawić, by X11 Forwarding działał jako całość?

Odpowiedzi (2)

16
16
16
2015-06-01 13:27:12 +0000

Miałem 2 problemy i odkryłem, że to pytanie miało najbliższe problemy do moich, więc pomyślałem, że moje rozwiązanie będzie pomocne dla innych, którzy dostają się tutaj, próbując naprawić ten sam problem co ja. Mój system ma Cygwin/X (xinit 1.3.4-5), i PuTTY (0.64). Udało mi się dotrzeć do sedna problemu, ustawiając zarówno –listen tcp na lokalnym startxbinie, jak i przekazując ścieżkę do .Xauthority do putty.

Po pierwsze, w odniesieniu do “PuTTY X11 proxy: unable to connect to forwarded X server: Błąd sieci: Connection refused”, musisz sprawić, by sesja X nasłuchiwała połączeń: Otwórz terminal cygwin i edytuj /usr/bin/startxwin znajdź linię….

defaultserverargs="-multiwindow"

i zmień ją na…

defaultserverargs="-multiwindow -listen tcp"

Po drugie, w odpowiedzi na błąd “Wymagana autoryzacja, ale nie określono protokołu autoryzacji”, musisz sprawić, aby putty używał poprawnych tokenów xauth (coś dziwnego wydaje się dziać wewnątrz putty, więc xauth list lokalnie nie daje tokenów, które przekazywane połączenie może użyć poprzez przekazanie ich w xauth add <token>, wydaje się, że muszą być ustawione przez PuTTY przy połączeniu, aby działały).
Znajdź ścieżkę, w domenie windows, gdzie znajduje się twój plik ~/.Xauthority, uruchamiając (ponownie w terminalu cygwin)

cd ~
explorer .

Sprawdź właściwości pliku .Xauthority i zanotuj Lokalizację do niego (zaznacz ją i naciśnij CTRL+C, aby umieścić ją w schowku).

Uruchom PuTTY jak w powyższym przykładzie (skopiowanym z http://www.math.umn.edu/systems_guide/putty_xwin32.html )

Na stronie ‘Opcje kontrolujące przekierowanie SSH X11’, powinieneś mieć zaznaczone ‘Włącz przekierowanie X11’ i ‘MIT-Magic-Cookie-1’ ustawione jako protokół.
W polu ‘X authority file for local display’, kliknij Browse i używając Location to the .Xauthority file, który zanotowałeś wcześniej, znajdź plik .Xauthority. Kliknij Otwórz, aby wypełnić pole, następnie wróć do Sesji (w konfiguracji PuTTY) i zapisz sesję. Wtedy możesz kliknąć Otwórz.

Powinno teraz pozwolić ci się połączyć.

9
9
9
2013-05-06 18:23:38 +0000

Skopiowano z: [ http://www.math.umn.edu/systems_guide/putty_xwin32. Zaznacz ‘Enable X11 Forwarding’

  • Wybierz ‘Session’ z listy ‘Category’
  • Kliknij ‘Save’

Uruchomienie serwera X w Windows

Konfiguracja Xming

Wystarczy uruchomić “All Programs > Xming Xming” i powinno działać, jeśli masz skonfigurowane PuTTY.

Podłączanie

  • Uruchom Xming
  • Uruchom Putty
  • Kliknij dwukrotnie na zapisaną sesję, którą chcesz

  • Wprowadź nazwę użytkownika i hasło zgodnie z żądaniem
  • Powinieneś teraz być w stanie uruchamiać aplikacje X z hosta na swoim lokalnym pulpicie

EDIT: Aby naprawić błąd wrong authentication protocol attempted, spróbuj włączyć opcję “ForwardX11Trusted yes” w pliku /etc/ssh/sshd_config, a następnie zrestartuj serwer OpenSSH.