Jak sprawić, by X11 Forwarding działał w systemie Windows z PuTTY i Xming?

16

Zawsze chciałem, aby X11 Forwarding działał z PuTTY, a X Window System, którego używam, to Xming. Po uruchomieniu Xming i ustanowieniu nowego połączenia z moim serwerem po otrzymaniu polecenia otrzymuję:

$ 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 naprawić te błędy i sprawić, by przekazywanie X11 działało jako całość?

NobleUplift
źródło
Jak to naprawić?
user568109,
Powinieneś utworzyć konto, zadać nowe pytanie, a następnie połączyć je tutaj, abym mógł je zobaczyć.
NobleUplift,

Odpowiedzi:

9

Skopiowano z: http://www.math.umn.edu/systems_guide/putty_xwin32.html

Konfiguracja Putty

  • Dodaj uniksową nazwę hosta
  • Przełącz protokół na SSH
  • Wpisz nazwę sesji w zapisanych sesjach
  • Kliknij „Zapisz”

<img src = 'putty_xwin32 / default_putty_rev-sm.png' />

  • Rozwiń kartę „SSH” z listy „Kategoria”
  • Wybierz „X11” z listy „SSH”
  • Zaznacz „Włącz przekazywanie X11”

<img src = 'putty_xwin32 / xfwd_putty_rev-sm.png' />

  • Wybierz „Sesja” z listy „Kategoria”
  • Kliknij „Zapisz”

Uruchamianie X Servera w systemie Windows

Konfiguracja Xming

Wystarczy uruchomić „Wszystkie programy> Xming Xming” i powinno działać, jeśli skonfigurowano PuTTY.

Złączony

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

<img src = 'putty_xwin32 / session_putty_rev-sm.png' />

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

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

Kruug
źródło
Dosłownie przeczytałem dokładnie ten sam przewodnik (tak dowiedziałem się o Xming), ale okazało się, że jest zupełnie bezużyteczny, ponieważ albo powiedział mi rzeczy, które już znałem, lub mógł zrozumieć, uruchamiając oba programy.
NobleUplift,
W pewnym sensie mogłem uruchomić przekazywanie X11, ale przypuszczam, że ta odpowiedź jest ograniczeniem tego, co możesz dla niego zrobić. Nie wiem, dlaczego moje pytanie zajęło -1 ...
NobleUplift,
Jak to rozwiązuje problem. To tylko samouczek, jak skonfigurować x over ssh.
user568109,
@ user568109 Jeśli zastosujesz się do tych wskazówek, a następnie spróbujesz wywołać dowolny program oparty na GUI, wyświetli się lokalnie.
Kruug,
7
ForwardX11Trustednam ustawienie po stronie klienta. Włączenie tego w sshd_configżaden sposób nie przyniesie żadnego efektu i uniemożliwi uruchomienie serwera SSH w najgorszym przypadku. -1. Jest tak sshd_configw ssh_configprzypadku, gdy szukasz manstron.
0xC0000022L,
16

Miałem 2 problemy i stwierdziłem, że to pytanie jest najbliższe moim, więc pomyślałem, że moje rozwiązanie będzie pomocne dla innych, którzy tu przybędą, próbując rozwiązać ten sam problem jak ja. Mój system ma Cygwin / X (xinit 1.3.4-5) i PuTTY (0.64). Udało mi się dojść do sedna, ustawiając oba --listen tcp na lokalnym startxbin i przekazując ścieżkę do .Xauthority do kit.

Po pierwsze, w odniesieniu do błędu „PuTTY X11 proxy: nie można połączyć się z przekierowanym serwerem X: błąd sieci: odmowa połączenia”, musisz sprawić, aby sesja X nasłuchiwała połączeń: otwórz terminal cygwin i edytuj / usr / bin / startxwin znajdź linię ...

defaultserverargs="-multiwindow"

i zmień na ...

defaultserverargs="-multiwindow -listen tcp"

Po drugie, w odpowiedzi na błąd „Wymagana autoryzacja, ale nie określono protokołu autoryzacji”, musisz sprawić, aby kit używał poprawnych tokenów xauth (coś dziwnego wydaje się zachodzić w środku, więc xauth listlokalnie nie daje tokenów, z których może korzystać przekazane połączenie przekazując je xauth add <token>, wydaje się, że muszą zostać ustawione przez PuTTY przy połączeniu, aby mogły działać).
Znajdź ścieżkę w domenie Windows, w której znajduje się plik ~ / .Xauthority, uruchamiając (ponownie w terminalu cygwin)

cd ~
explorer .

Sprawdź właściwości pliku .Xauthority i zanotuj jego lokalizację (wybierz go i naciśnij CTRL + C, aby umieścić go w schowku).

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

Na stronie „Opcje kontrolujące przekazywanie SSH X11” powinieneś zaznaczyć „Włącz przekazywanie X11” i ustawić jako protokół „MIT-Magic-Cookie-1”.
W polu „Plik autoryzacji X do lokalnego wyświetlania” kliknij Przeglądaj i używając lokalizacji do pliku .Xauthority, o którym pisałeś wcześniej, znajdź plik .Xauthority. Kliknij Otwórz, aby wypełnić pole, a następnie wróć do Sesji (w konfiguracji PuTTY) i zapisz sesję. Następnie możesz kliknąć Otwórz.

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

Sibaz
źródło
3
Musiałem także ustawić X authority file for local displayopcję wskazywania na mój .Xauthorityfolder w moim cygwinkatalogu domowym. Dziękuję Ci!
HeatfanJohn,
0

Możesz

xauth list

następnie

xauth add <your display>

źródło
2
Wiersz polecenia to xauth add dpyname protoname hexkey.
NobleUplift,
co dziwne, to nie zadziałało na moich przekazanych kitach.
sibaz