Frage

Ich habe den Xming X Window Server auf einem Laptop mit Windows XP installiert, um eine Verbindung zu einigen UNIX-Entwicklungsservern herzustellen.

Es funktioniert einwandfrei, wenn ich mich im Büro direkt mit dem Firmennetzwerk verbinde.Es funktioniert jedoch nicht, wenn ich mich remote über ein VPN mit dem Netzwerk verbinde.

Wenn ich Xming bei einer Remoteverbindung starte, wird keines meiner Terminalfenster angezeigt.

Ich denke, es könnte etwas damit zu tun haben, dass die Umgebungsvariable DISPLAY beim Anschließen nicht richtig auf die IP-Adresse des Laptops eingestellt ist.

Ich habe festgestellt, dass mein Laptop, wenn ich eine IP-Konfiguration aus der Ferne durchführe, zwei IP-Adressen hat, die ihm vom Firmennetzwerk zugewiesene und die lokale IP-Adresse, die ich in meinem „lokalen Netzwerk“ von meinem Laptop aus eingerichtet habe Modem Router.

Muss ich in Xming einige Konfigurationsänderungen vornehmen, um die Verwendung über das VPN zu unterstützen?

War es hilfreich?

Lösung

Möglicherweise handelt es sich entweder um die X-Authentifizierung, die Bindung des X-Servers an eine Schnittstelle oder Ihre DISPLAY-Variable.Ich verwende Xming selbst nicht, aber es gibt einige allgemeine Phänomene, auf die ich achten muss.Ein Test, den Sie durchführen können, um manuell zu überprüfen, ob die DISPLAY-Variable korrekt ist, ist:

  1. Starten Sie Ihr VPN.Führen Sie ipconfig aus, um sicherzustellen, dass Sie über die beiden von Ihnen genannten IP-Adressen verfügen (Ihre lokale IP und Ihre VPN-IP).
  2. Starten Sie Xming.Führen Sie „netstat -n“ aus, um zu sehen, wie es an die Schnittstelle gebunden ist.Sie sollten etwas sehen, das entweder „localIP:6000“ oder „VPNIP:6000“ sagt.Es sind vielleicht nicht 6000, aber die Chancen stehen gut, dass es in etwa so sein wird.Wenn kein VPNIP:6000 vorhanden ist, ist es möglicherweise nur an Ihre lokale IP oder sogar 127.0.0.1 gebunden.Über das VPN wird das vermutlich nicht funktionieren.Überprüfen Sie, ob Xming-Einstellungen vorhanden sind, um die Bindung an andere oder alle Schnittstellen zu ermöglichen.
  3. Wenn Sie VPNIP:6000 oder etwas Ähnliches sehen, notieren Sie sich, was dort steht, und führen Sie eine Remote-Shell auf Ihrem UNIX-Host durch (hoffentlich so etwas wie SSH, wenn nicht, was auch immer Sie benötigen, um ein Textterminal zu erhalten).
  4. Geben Sie auf dem UNIX-Terminal „echo $DISPLAY“ ein.Wenn nichts angezeigt wird, versuchen Sie es mit „export DISPLAY=VPNIP:0.0“, wobei VPNIP Ihre VPN-IP-Adresse ist und 0.0 der Port ist, den Sie in Schritt 3 gesehen haben, minus 6000 mit .0 am Ende (d. h.6000 = 0,0, 6010 = 10,0).
  5. Führen Sie auf dem UNIX-Host etwas wie „xclock“ oder „xterm“ aus, um zu sehen, ob es ausgeführt wird.Die Fehlermeldung sollte informativ sein.Es wird Ihnen mitgeteilt, dass entweder keine Verbindung zum Host hergestellt werden konnte (ein Verbindungsproblem) oder die Authentifizierung fehlgeschlagen ist (Sie müssen Xauth auf Ihrem Host und dem lokalen Computer bzw. Xhosts auf Ihrem lokalen Computer koordinieren).

Das Öffnen von Xhosts (mit + für alle Hosts oder etwas Ähnliches) ist nicht so schlimm, wenn Sie ein lokal geschütztes Netzwerk haben und über ein VPN gehen.Hoffentlich hilft Ihnen das dabei, dem Problem auf die Spur zu kommen.Eine weitere Option, die oft nützlich ist, da sie über ein VPN oder eine einfache SSH-Konnektivität funktioniert, ist SSH-Tunneling oder X11-Weiterleitung über SSH.Dies simuliert die Konnektivität zum X-Server auf Ihrer lokalen Box, indem ein Port auf Ihrem UNIX-Host zum lokalen Port auf Ihrer X-Server-Box umgeleitet wird.Ihre Anzeige lautet normalerweise etwa „localhost:10.0“ für den lokalen 6010-Port.

Die Einrichtung von X kann mühsam sein, funktioniert aber normalerweise großartig, wenn man erst einmal den Dreh raus hat.

Andere Tipps

Vielen Dank für die Hilfe @Stephen und @Greg Castle. Damit konnte ich mein Problem lösen.

Um anderen eine grundlegende Anleitung (von Grund auf) zur Verfügung zu stellen:

Verwenden von Xwindows auf einem Windows-PC, um über ein VPN eine Verbindung zu einem UNIX-Server herzustellen

Was Sie zu Beginn benötigen:

Was zu tun:

  1. Installieren Sie beide oben genannten Programme auf Ihrem Windows-PC

  2. Wählen Sie im Windows-Startmenü Folgendes aus:Programme -> Xming -> Xming

  3. Führen Sie das Programm Putty.exe an dem Ort aus, an dem Sie es heruntergeladen haben

  4. Gehen Sie im PuTTY-Konfigurationsbildschirm wie folgt vor:

    • Legen Sie die IP-Adresse auf die IP-Adresse Ihres UNIX-Servers fest

    • Wählen Sie das Optionsfeld SSH-Protokoll aus

    • Klicken Sie auf SSH:Kategorie „Tunnel“ im linken Bereich des Konfigurationsbildschirms

    • Klicken Sie auf das Kontrollkästchen X11-Weiterleitung aktivieren

    • Klicken Sie auf die Schaltfläche „Öffnen“.

    • Melden Sie sich wie gewohnt an Ihrem UNIX-Server an

    • Überprüfen Sie, ob sich das Verzeichnis mit den X Windows-Dienstprogrammen in Ihrem Pfad befindet, z. B./usr/X/bin unter Solaris

    • Führen Sie Ihre X Windows-Befehle in Ihrem Putty-Fenster aus und sie erzeugen neue Fenster auf Ihrem Desktop

Ich habe Xming und PuTTY mit Cisco VPN zum Laufen gebracht, indem ich die PuTTY-Konfiguration in ersetzt habe Connection > SSH > X11 > X display location, localhost:0.0, mit VPNIP:0.0. VPNIP ist in der zu sehen VPN statistics client address information indem Sie mit der linken Maustaste darauf klicken VPN client Schlosssymbol und wählen Sie Statistics....

Ich habe nicht mit der Umgebungsvariablen DISPLAY auf dem Remote-Host herumgespielt.Aber wie andere auch habe ich sshd_config auf dem Remote-Host geändert und folgende Zeilen hinzugefügt:

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
AddressFamily inet

Ich hatte nur Probleme mit Xming.Als ich es zum Laufen bringen konnte, war es extrem langsam (dies geschieht über ein VPN).Meiner Meinung nach ist X nicht dafür ausgelegt, über langsame Verbindungen zu laufen, es ist zu gesprächig.Und mit langsamer Verbindung meine ich alles andere als eine LAN-Verbindung.

Meine Lösung war die Verwendung von x11vnc.Damit können Sie über VNC auf Ihre bestehende X11-Sitzung zugreifen.Ich melde mich einfach per SSH über das VPN in meiner Box an und starte:

$ x11vnc -display :0

Auf diese Weise kann ich auf alles zugreifen, was ich im Laufe des Tages geöffnet habe.Wenn ich es dann nicht tue, beende ich einfach (Strg-C) im Terminal, um x11vnc zu schließen.

Ich habe das gleiche Problem mit Xming und Putty auf einem Windows 10-Rechner und habe die Lösung gefunden Hier.Ich habe das Problem gelöst, indem ich nur hinzugefügt habe Tunnel zur Sitzung in PuTTY.Aber zuerst müssen Sie überprüfen;

  • sshd_config unter /etc/ssh (in rhel7).
  • Aktivieren Sie die X11-Weiterleitung im linken Navigationsbereich Connections > SSH > X11
  • iptables unter /etc/sysconfig/ (in rhel7).Wenn Ports blockiert sind und Sie die Berechtigung haben, öffnen Sie die Ports für 6000.Ich habe die folgende Zeile vor der ersten Ablehnungszeile eingefügt, um die Ports von 6000 bis 6003 zu öffnen.In Ihrem Fall kann es spezifischer sein.

    -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6000:6003 -j ACCEPT

Dann;

  • Gehe zu Connections > SSH > Tunnels in PuTTY und fügen Sie einen Tunnel mit hinzu Source Port=6000, Destination=127.0.0.1:6000 und prüfe Remote Radio knopf.Klicken Sie dann auf Add Taste.
  • Nachdem Ihre SSH-Verbindung hergestellt wurde, legen Sie Ihre DISPLAY-Variable manuell mit dem folgenden Befehl fest:
    export DISPLAY=127.0.0.1:0.0

Mehr Informationen;
Wenn Sie einstellen DISPLAY variabel als 127.0.0.1:1.0, Die Kommunikation erfolgt über Port 6001.In diesem Fall müssen Sie einen weiteren Tunnel für Portnummer 6001 hinzufügen.

Ich habe nicht das genaue Problem, aber ich denke, Sie müssen sich den xhost ansehen und sicherstellen, dass die VPN-Remote Daten an den x-Server senden darf.

Dieser Link könnte helfen:http://www.straightrunning.com/XmingNotes/trouble.php

Vielleicht haben Sie dabei mehr Glück X11-Weiterleitung über SSH, anstatt direkt mit Ihrer DISPLAY-Variablen herumzuspielen.Die X11-Weiterleitung mit SSH ist sicher und nutzt die bestehende SSH-Verbindung zum Tunneln, sodass die Arbeit über ein VPN kein Problem sein sollte.

Glücklicherweise ist dies mit Xming ziemlich einfach.Wenn Sie Ihre Verbindung aus Xming heraus öffnen (z. B.Ich glaube, dass dadurch standardmäßig die X11-Weiterleitung eingerichtet wird.Wenn Sie eine Verbindung über einen anderen SSH-Client herstellen (z. B.PuTTY), dann müssen Sie lediglich die X11-Weiterleitung aktivieren (z. B.'ssh -X user@host').In PuTTY befindet sich die Option unter Verbindung -> SSH -> X11 -> klicken Sie auf „X11-Weiterleitung aktivieren“.

Stellen Sie sicher, dass Xming im Hintergrund auf Ihrem Laptop läuft und führen Sie den Standard-X-Test „xclock“ durch.Wenn Sie eine Nachricht wie 'X -Verbindung zu Localhost: 19.0 kaputt (explizites Kill oder Serverausfall) erhalten. Dann läuft Xming höchstwahrscheinlich nicht.

Stellen Sie außerdem sicher, dass Sie Ihre DISPLAY-Variable in keinem Startskript explizit festlegen.SSH richtet einen Alias ​​(etwa „localhost:10“ oder im Beispiel oben „localhost:19“) für den X11-Tunnel ein und setzt DISPLAY automatisch auf diesen Wert.Das Überschreiben von DISPLAY führt natürlich dazu, dass Sie nicht mehr auf den richtigen X11-Tunnel verweisen.Die Kehrseite davon ist, dass andere Terminals, die nicht über die SSH-X11-Weiterleitung verfügen, denselben DISPLAY-Wert verwenden und den Tunnel nutzen können.

Ich bevorzuge eher die PuTTY-Option, aber einige meiner Kollegen verwenden Plink aus Xming heraus.

putty +

exportieren DISPLAY=0:10.0

(es wurde auf „localhost:10.0“ gesetzt, was nicht funktionierte)

Sie müssen den/die DNS-Namen und die IP-Adresse des Linux-Computers zur Datei C:\Programme\xming\X0.hosts hinzufügen.Die Datei sollte Folgendes enthalten:

LinuxBox.mydomain.com
LinuxBox
192.168.1.25

Das ist die richtige Antwort: https://www.slackwiki.com/X_Windows:_Remote_X_to_Windows_with_Xming

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top