Nachdem ich die X11-App (XQuartz 2.3.6, xorg-server 1.4.2-apple56) auf meinem Mac (OS X 10.6.8) gestartet, ein Terminal in X11 geöffnet und ausgeführt habe xhost +
, gehe ich ssh -Y
zu meiner Ubuntu 10.04-VM (läuft auf VMware) Verschmelzung). Wenn ich laufe gedit .bashrc
(zum Beispiel), bekomme ich:
(gedit:9510): Gtk-WARNING **: cannot open display:
set | grep DISPLAY
gibt nichts zurück.
Aber wenn ich ssh -Y
in meinem Ubuntu 11.04 Rechner gedit .bashrc
arbeite. echo $DISPLAY
gibt "localhost: 10.0" zurück.
Ich habe versucht, export DISPLAY=localhost:10.0
während sshed in meine VM und dann ausgeführt gedit .bashrc
, aber ich bekomme:
(gedit:9625): Gtk-WARNING **: cannot open display: localhost:10.0
Was könnte an der Konfiguration der beiden unterschiedlichen Ubuntu-Maschinen anders sein, was erklären würde, warum eine funktioniert und die andere nicht?
Update: Wie von Zoredache im Kommentar unten vorgeschlagen, habe ich ausgeführt sudo apt-get install xbase-clients
, aber ich habe weiterhin das gleiche Problem.
X11Forwarding
auf dem Ubuntu überprüft , und dass du esxbase-clients
installiert hast und dass du Xapps auf dem Mac auf dem Terminal starten kannst, von dem aus du eine SSH-Verbindung herstellst. (Überprüfen Sie, ob$DISPLAY
auf dem Endgerät ausgeführt wird Sie ssh aus .Antworten:
Überprüfen Sie (normalerweise
/etc/ssh/sshd_config
) die sshd_config des Servers und stellen Sie sicher, dass die X11Forwarding-Option für die Zeile aktiviert istWenn X11Forwarding nicht angegeben ist, ist der Standardwert Nein auf den Debian-Maschinen, die ich überprüfen kann.
quelle
Von xhost +: So beheben Sie den Fehler „Anzeige kann nicht geöffnet werden“ beim Starten der GUI auf dem Remote-Server :
quelle
xhost +
sehr unsicher ist und nicht verwendet werden sollte! Wie Stefan Rogin bereits erwähnt hat, kann der Angreifer dann vom Host aus eine Verbindung zu Ihrer XSession herstellen, alle Eingaben lesen oder sogar den angezeigten Bildschirm ändern.export Display=IP:0.0
hat es für michIch hatte dieses Problem, als ich mich von Mac OS X aus bei einer Ubuntu-VM anmeldete - aus irgendeinem Grund scheint es nicht so, als würde 'localhost' in der Anzeigevariablen lauten. So stellen Sie die IP manuell ein, wie Harrymc vorschlägt:
Dann sollten X11-Programme in Ordnung sein. Es scheint nicht notwendig zu sein, dem Betriebssystem mitzuteilen, dass localhost und 127.0.0.1 gleichwertig sind, aber es funktioniert zumindest.
quelle
Ich hatte dieses Problem mit meinem CentOS KVM-Server, mir fehlte das Programm "xauth".
quelle
Wenn Sie dieses Problem nach einiger Zeit beim Ausführen mit
-X
arg haben. oder einfachForwardX11
in / etc / ssh / ssh_config ausführen$ ssh username@hostname -Y
, um die vertrauenswürdige X11-Weiterleitung zu aktivieren , die genaue Ursache nicht kennen, aber ich vermute, dass-X
einige Funktionen nach einiger Zeit ablaufen, wahrscheinlich um die Sicherheit zu erhöhen.Folgendes habe ich online gefunden:
Quellen:
quelle
Gerade auf meinem Mac getestet, könnten andere Systeme in Ordnung sein :
-X
Parameter x11-Anzeige weiterleiten lassenquelle
Beim Ausführen von UXTERM oder XTERM nur ausstellen
Die Variable wird da sein. Dann einfach einstellen und exportieren.
quelle
Ich musste
/etc/ssh/sshd_config
Folgendes eingeben:Setzen Sie es lieber auf "Ja". Seltsam, wenn die Standardeinstellung "NEIN" ist. Benutzer, die Putty mit XMing unter Windows verwenden. Ich benutze gerade ssh über Fedora. Gelegentlich gab es uns etwas
Ein Neustart des Servers würde normalerweise das Problem beheben, aber das ist blöd. Habe das oben angeführte getan, den Dienst
sshd
auf dem Server neu gestartet und dafür gesorgt, dass neue Verbindungen wieder einwandfrei funktionieren.quelle
Ich hatte auch dieses Problem mit Solaris 10 und stellte fest, dass der Listener nicht eingerichtet war.
quelle
Unter CentOS 6.5 verlor ich plötzlich den Zugriff auf entfernte X-Programme, nachdem ich mit / etc / hosts rumgespielt hatte. Gleiches Symptom für leere Variable $ DISPLAY (keine Hilfe beim manuellen Einstellen / Exportieren).
Der 127.0.0.1-Eintrag, der auf den tatsächlichen Hostnamen verweist, ist erforderlich. in der Tat scheint die Reihenfolge auch relevant zu sein (zuletzt & es wird nicht funktionieren ...)
Nachdem dies behoben wurde, funktionieren xeyes, xclock und andere X-Testspielzeuge wieder, daher ist mein benötigter virt-manager auch wieder online.
quelle
Ich habe gerade ein Problem in meinem Setup gefunden, das das Weiterleiten von x verhindert hat: Meine Firewall hat alle Verbindungen von localhost blockiert und somit verhindert, dass der Tunnel erreicht wird
quelle
Wenn Sie Konsole verwenden, wechseln Sie einfach zu einem anderen Terminalemulator wie Xfce Terminal und versuchen Sie es erneut mit root.
quelle
Öffne das Terminal $ ssh username @ hostname -X
export DISPLAY = "127.0.0.1:10.0" sollte alles funktionieren.
quelle
DISPLAY='localhost:10.0'
nicht funktioniert.Dieses Setup funktioniert für mich:
Lokal (64-Bit-Cygwin unter Windows 10)
DISPLAY=:0
Server (Amazon EC2 RHEL 7.6)
DISPLAY=:10.0
Diese Einstellungen wurden gefunden, indem Sie in der Taskleiste auf "X-Anwendungsmenü auf: 0" klicken und Systemprogramme> Terminal auswählen
quelle
Nach einiger Frustration stellte ich fest, dass der Eintrag für den Hostnamen des Servers in seiner / etc / host-Datei falsch war.
quelle