Ich verwende Putty auf einem Windows-Computer, um auf einen anderen Server zu ssh. Dort versuche ich, mithilfe der X11-Weiterleitung Fenster auf meinen Computer zu laden. Das Remote-System ist nicht das Problem, da es sich um ein großes System handelt, das von vielen anderen Benutzern auf dieselbe Weise erfolgreich verwendet wird.
Ich startxwin
logge mich ohne Probleme über Putty in das System ein und laufe dann in cygwin. Beim Ausführen xterm
in Putty wird jedoch der Fehler angezeigt, bei dem xterm Xt error: Can't open display: localhost:##.0
die Nummernzeichen zwei Ganzzahlen sind, deren Wert sich bei jeder Anmeldung ändert.
- Ich habe die X11-Weiterleitung in den Putty-Einstellungen aktiviert
- Ich habe versucht, den "X-Anzeigeort" auf einzustellen
localhost:0
- Ich habe sichergestellt, dass das X11-Paket für Cygwin heruntergeladen wird
- Ich habe versucht, nur
startx
statt zu verwendenstartxwin
- Ich habe es versucht
setenv DISPLAY localhost:0
undsetenv DISPLAY my.ip.address
Leider bleibt das Problem bestehen. Ich habe meine Googeln-Ressourcen zu diesem Thema erschöpft und würde mich über jede Hilfe sehr freuen. Vielen Dank!
localhost:##.0
Welche tatsächlichen Zahlen sehen Sie hier? Welche Art von X-Software führen Sie auf dem Windows-Computer aus?Antworten:
Die letzten Cygwin-Updates haben den X-Server so geändert, dass standardmäßig nicht auf TCP-Verbindungen gewartet wird. Stattdessen verwendet Cygwins X Unix-Domain-Sockets (die Cygwin-Implementierung von), und PuTTY (als natives Windows-Programm) weiß nicht, wie diese verwendet werden sollen.
Die Cygwin X FAQ und Cygwin Mailinglisten haben weitere Details.
Meine Lösung bestand darin, die Standard-Cygwin-Verknüpfung zu verwenden, die startxwin zum Starten von X verwendet:
und ersetzen Sie es durch einen direkten Aufruf von xinit mit meinen gewünschten Optionen (Hinzufügen
-listen tcp
und Entfernen-auth
):Dies ist weniger sicher als die neuen Standardeinstellungen von Cygwin. Es sollte nur auf einem Einzelbenutzersystem verwendet werden. Die Konfiguration Ihrer Firewall zum Blockieren von Verbindungen zu XWin kann sinnvoll sein.
quelle
Alternativ zu den Aussagen von Josh Kelley können Sie auch die startxwin-Datei bearbeiten und den Standardserverargumenten das "-listen tcp" hinzufügen.
Alt: defaultserverargs = "- Multiwindow"
Neu: defaultserverargs = "- multiwindow -listen tcp"
Auch bei aktivierter Authentifizierung musste ich Putty auf die vom Startxwin-Skript erstellte Authentifizierungsdatei verweisen. Meins befand sich hier: c: \ cygwin64 \ home \ USERNAME.Xauthority
Da diese Datei neu erstellt wird, müssen Sie Putty-Sitzungen neu starten, nachdem Sie Ihren xserver zurückgesetzt haben.
Aus Sicherheitsgründen können Sie auch nur Verbindungen von localhost zulassen, da Putty diese hier weiterleitet.
quelle
Bitte versuchen Sie stattdessen, den "X-Anzeigeort" auf ': 0.0' zu setzen!
Josh Kelley erwähnte die Cygwin X FAQ :
quelle
Es ist für xming, aber vielleicht hilft diese FAQ? Die Idee dahinter ist dieselbe, aber Sie verwenden xming anstelle von cygwin auf Ihrem lokalen Computer. https://wiki.utdallas.edu/wiki/display/FAQ/X11+Forwarding+using+Xming+and+PuTTY
quelle
Wie andere gesagt haben, besteht der Trick darin
-listen tcp
, die Serverargumente zu ergänzen . Ich empfehle jedoch, dies durch Aufrufenstartxwin -- -listen tcp
zu tun ,startxwin
damit der Rest desxinit
Befehls erstellt wird.In einer Startmenü-Verknüpfung:
quelle