Jag har problem med detta och jag vet inte varför. Det finns många relaterade frågor men ingen av dem hjälpte mig.
Jag har två virtuella datorer:
CentOS 7 med GNOME 192.168.1.53
Mint 17.1 Rebbeca med XFCE 192.168.1.54
Jag vet att som standard att exportera bör skärmen sträcka sig framåt, som:
#While I am Logged in on the desktop on the MINT: user@mint:~$ xhost + #I am SSHing to the Centos from the MINT user@mint:~$ ssh -XY [email protected] #At the CentOS I export the display [root@cent ~]$ export DISPLAY=192.168.1.54:0.0 [root@cent ~]$ echo $DISPLAY 192.168.1.54:0.0 #Trying to start a simple program but I get an error message instead: [root@cent ~]$ xclock Error: Can"t open display: 192.168.1.54:0.0
Vad gör jag fel?
Jag försökte förslagen på ett antal forum men jag får fortfarande felmeddelandet Jag försökte också exportera skärmen från Mint till Centos (det motsatta sättet) och jag får fortfarande samma fel men den här gången på Mint.
Kan det vara så att felet beror på att ett system har XFCE och det andra GNOME?
Jag tänker att det kan finnas vissa standard säkerhetsinställningar som gäller för en / båda de distros som jag inte känner till.
Jag försökte också redigera /etc/gdm/custom.conf
på CentOS som förklaras här:
http://www.softpanorama.org/Xwindows/Troubleshooting/can_not_open_display.shtml
Svar
Du försöker skapa en X-tunnel genom SSH och åsidosätter den genom att ange en IP-adress som kringgår SSH-tunneln. Detta fungerar inte. När SSH tunnlar, hanterar SSH dataöverföring mellan de lokala och fjärr-IP-adresserna genom att öppna en port på localhost på varje maskin som den talar till. Du kan inte ange IP-adressen för någon dator.
Du måste exportera skärmen som tunnlas genom SSH, och det betyder export DISPLAY=localhost:x.y
, vilket borde ha gjorts åt dig automatiskt när du ansluter med ssh -X.
Kommentarer
Svar
Försöker du att använda SSH för vidarebefordran eller inte. Det verkar som om du försöker blanda + matcha två metoder här. En för vidarebefordran med SSH och den används inte för ssh.
Om du vill vidarebefordra via SSH är allt du behöver göra på din klient ssh -X remotehost
. Du behöver inte göra någonting i din session på servern när du har anslutit. Ingen xhost eller export krävs.
En sak som jag undrar är dock om din SSH-server är korrekt inställd för X11 vidarebefordran. Detta är ett alternativ som inte alltid är aktiverat som standard. Se inställningen för sshd_config X11Forwarding
.
ssh -XY [email protected]
så ärecho $DISPLAY
utdatalocalhost:10.0
vilket är en lite förvirrande ..export DISPLAY
var ursprungligen avsedd att användas med telnet?export DISPLAY
skapades, var det bara rlogin & telnet fanns och ssh var fortfarande år i framtiden.