Jak zmusić X.org do słuchania połączeń zdalnych na porcie 6000?


17

To jest na 64-bitowym komputerze Ubuntu 10.10 (Maverick Meerkat).

Chcę, aby mój serwer X nasłuchiwał połączeń zdalnych od klientów na innych komputerach w sieci lokalnej. Wiem o ssh -Xtym i nie tego chcę. Niejasno pamiętam zmianę czegoś takiego jak TCPListenz nona yes, ale nie pamiętam, gdzie ta zmiana powinna zostać zastosowana.

Interesuje mnie metoda GUI lub CLI.

Edycja PS w /etc/X11/xinit/xserverrccelu usunięcia -nolisten tcpopcji i ponowne uruchomienie nie działa.


Wskazówka Prawdopodobnie warto wyłączyć zaporę ogniową (iptables) podczas próby uruchomienia.

@ user243114 wskazówka zwrócona nieużywana, ale mimo wszystko dzięki :)
ΤΖΩΤΖΙΟΥ

Odpowiedzi:


16

(Poniżej znajduje się niemal dosłowna kopia odpowiedzi na to samo pytanie dotyczące błędu serwera, o której zapomniałem; askubuntu jeszcze nie zostało utworzone).

Na podstawie informacji zawartych na tej stronie dotyczących włączania XDCMP i pliku /etc/gdm/gdm.schemas udało mi się utworzyć /etc/gdm/custom.confplik:

# /etc/gdm/custom.conf
[xdmcp]

[chooser]

[security]
DisallowTCP=false

[debug]

Uważaj na wielkość liter: nie zadziała, jeśli napiszesz „disallowTCP = false” ... Zmieniłem również plik / etc / X11 / xinit / xserverrc na:

exec /usr/bin/X11/X

tzn. usunąłem -nolisten tcpopcje do pliku wykonywalnego X. Nie wiem czy musiałem. Możesz spróbować uniknąć tej edycji.

Jeśli zmienisz tylko plik xserverrc, X zacznie jednak od „-nolisten TCP”.

Następnie wystarczy ponownie uruchomić proces gdm:

sudo service gdm restart

Możesz zweryfikować sukces jako:

tzot@tzot-laptop:/etc/X11
$ netstat -an | grep -F 6000
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN
tcp6       0      0 :::6000                 :::*                    LISTEN

Aktualizacja

Po aktualizacji do 12.04 miałem ten sam problem. Tym razem winowajcą jest lightdm, którego używa system. Plik, który należy zaktualizować, jest /etc/lightdm/lightdm.confwymaganym dodatkiem xserver-allow-tcp=truew [SeatDefaults]sekcji.

A potem znalazłem również tę odpowiedź . :)

Streszczenie

Tak więc w 10.10 to nadal działa: utwórz /etc/gdm/custom.confz zawartością, jak określono powyżej i uruchom ponownie gdm.


1
W przypadku Ubuntu 14.04 jedyne, czego potrzeba, to mieć plik taki jak /usr/share/lightdm/lightdm.conf.d/100-custom.conf`` SeatDefaults] server-allow-tcp = true `
Nitz

@Nitz, pamiętaj, że xserver-allow-tcp=truebrakuje ci znaku „x” w komentarzu. Możesz usunąć istniejący komentarz i przepisać go. Chociaż odpowiedź obejmuje teraz to rozwiązanie.
Alexis Wilke

1
I skomentował oryginalnym pytaniem na serwerze winy : teraz Xorg domyślnie nie słuchać TCP. Trzeba dodać, -listen tcpaby ją włączyć, ale gdm3wydaje się , że nie oferuje takiej możliwości.
L. Levrel,

4

Ta odpowiedź dotyczy Kubuntu 17.04 i dodaję ją, ponieważ żadna inna odpowiedź (związana z gdmlub lightdm) nie pomogła mi. W moim przypadku sddmdziałało. Aby to sprawdzić, uruchom na przykład

ps -eal | grep sddm

Jeśli jest uruchomiony, przetwarza sddmi sddm-helperjest wyświetlany. W takim przypadku dodaj plik konfiguracyjny /etc/sddm.confz zawartością

[XDisplay]
ServerArguments=-listen tcp

Po utworzeniu tego pliku uruchom ponownie system (może być sddmwystarczający restart). W konsekwencji

PS ax | grep sddm 

pokazuje żądaną Xorgopcję, -listen tcpa X Server jest gotowy na połączenia przychodzące (nie zapomnij dodać zdalnego hosta za pomocą xhost).


1
Zauważ, że od SDDM 0.14.0 (który jest dostarczany z Kubuntu 17.10 Artful) [XDisplay]nazwa sekcji została zmieniona [X11]. Spowodowało to wiele zamieszania, gdy próbowałem pomóc mojemu współpracownikowi, dopóki nie uruchomiłem man 5 sddm.confodpowiednio maszyn na naszych 16.04 i 17.10, i zauważyłem rozbieżność!
keithzg

2

Ubuntu 18.04 działający jako lubuntu 18.04 z lightdm 1.26.0, to właśnie musiałem zrobić (zajęło mi to tylko kilka tygodni, aby to wszystko zrozumieć). Musisz utworzyć jedno /etc/lightdm/lightdm.confi drugie /etc/lightdm.conf.d/50-xserver-command.confw następujący sposób:

sudo vi /etc/lightdm/lightdm.conf:

[Seat:*]

xserver-allow-tcp=true
xserver-command=X -listen tcp

sudo vi /etc/lightdm/lightdm.conf.d/50-xserver-command.conf:

[Seat:*]

xserver-command=X -core -listen tcp

Spowoduje to, że lightdm uruchomi Xorg z następującą linią poleceń:

Xorg -listen tcp :0 -seat seat0 -auth /var/run/lightdm/root/:0 -listen tcp vt7  
   -novtswitch

To -listen tcpdwukrotnie, ale nic nie szkodzi. Jeśli nie masz obu plików, jedną z opcji Xorg będzie „-nolisten tcp”, która zastępuje inne „-listen tcp”. W końcu znalazłem wskazówki na ten temat tutaj .

Następnie dodaj: xhost +do swojego.bashrc

Uruchom ponownie i sprawdź, czy Xorg nasłuchuje na porcie 6000:

$ netstat -nal | grep 6000
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN     
tcp6       0      0 :::6000                 :::*                    LISTEN     

Cieszyć się...


2

Począwszy od Ubuntu 18.04, spojrzałem na uruchomione procesy i odkryłem, że używany menedżer wyświetlania to gdm3:

$ ps ax|grep dm
 1515 ?        Ssl    0:00 /usr/sbin/gdm3

Następnie zredagowałem /etc/gdm3/custom.confi dodałem wiersz:

[security]
DisallowTCP=false

Jak wspomniano, otwarcie portu 6000 nie jest bezpieczne. Jednak używam tego tylko w sieci domowej, a port jest dodatkowo zabezpieczony, iptablesaby otworzyć się tylko na moim podstawowym laptopie, powinno być w porządku.


Czym różni się to od przyjętej odpowiedzi?
Stephen Rauch

1
Nie jest zasadniczo inny, ale w 18.04 plik konfiguracyjny to „/etc/gdm3/custom.conf”, podczas gdy w przyjętej odpowiedzi to „/etc/gdm/custom.conf”
Bing Ren

1

W przypadku Slim zmień opcję xserver_argumentsw /etc/slim.conf. I uruchom ponownie sesję X.


Co to jest Slim? W odpowiedzi należy dodać link, aby wykazać, że ma on znaczenie dla pytania.
ΤΖΩΤΖΙΟΥ
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.