Mam z tym problem i nie wiem dlaczego. Jest wiele powiązanych pytań, ale żadne z nich mi nie pomogło.

Mam dwie maszyny wirtualne:
CentOS 7 z GNOME 192.168.1.53
Mint 17.1 Rebbeca z XFCE 192.168.1.54

Wiem, że domyślnie eksportowanie ekranu powinno być proste, na przykład:

#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 

Co robię źle?

Próbowałem sugestii na kilku forach, ale nadal otrzymuję komunikat o błędzie . Próbowałem również wyeksportować wyświetlacz z mennicy do Centosa (w drugą stronę) i nadal otrzymuję ten sam błąd, ale tym razem w Mennicy.

Czy to możliwe, że błąd jest spowodowany tym, że jeden system ma XFCE i inne GNOME?
Myślę, że w jednej / obu dystrybucjach mogą obowiązywać pewne domyślne ustawienia zabezpieczeń, których nie znam.

Próbowałem też edytować /etc/gdm/custom.conf w CentOS, jak wyjaśniono tutaj:
http://www.softpanorama.org/Xwindows/Troubleshooting/can_not_open_display.shtml

Odpowiedź

Próbujesz utworzyć tunel X przez SSH, a następnie przesłonisz go, podając adres IP który omija tunel SSH. To nie działa. Podczas tunelowania SSH, SSH zajmuje się przesyłaniem danych między lokalnym i zdalnym adresem IP, otwierając port na hoście lokalnym na każdym komputerze, z którym rozmawia. Nie można określić adresu IP żadnego komputera.

Musisz wyeksportować ekran, który jest tunelowany przez SSH, co oznacza export DISPLAY=localhost:x.y, co powinno być zrobione automatycznie, kiedy łączysz się przez ssh -X.

Komentarze

  • MFW Czuję się tak głupio, że chcę tylko istnieć … Dzięki ..
  • Na z drugiej strony, kiedy ssh -XY [email protected], a następnie echo $DISPLAY, wynikiem jest localhost:10.0, co jest trochę zagmatwane ..
  • @Spirit: localhost: 10.0 jest dokładnie tym, czym powinno być. ' pewnego dnia przyzwyczaisz się do tego, większość rzeczy po tunelowaniu przez SSH stanie się hostem lokalnym: xyz
  • Czy to oznacza, że export DISPLAY był pierwotnie przeznaczony do użytku z telnetem?
  • W pewnym sensie, od kiedy utworzono export DISPLAY, tylko rlogin & telnet istniał, a ssh to jeszcze lata w przyszłości.

Odpowiedź

Próbujesz używać SSH do przekazywania, czy nie. Wygląda na to, że próbujesz tutaj połączyć + dopasować dwie metody. Jeden do przekazywania przez SSH, który nie jest używany do ssh.

Jeśli chcesz przekazywać dalej przez SSH, wszystko, co powinieneś zrobić na swoim kliencie, to ssh -X remotehost. Po nawiązaniu połączenia nie musisz nic robić w sesji na serwerze. Nie jest wymagany xhost ani eksportowanie.

Zastanawiam się jednak, czy twój serwer SSH jest odpowiednio skonfigurowany do przekazywania X11. Ta opcja nie jest domyślnie włączona. Sprawdź ustawienie sshd_config X11Forwarding.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *