Come fare in modo che X.org ascolti le connessioni remote sulla porta 6000?


17

Questo è su Ubuntu 10.10 (Maverick Meerkat) desktop a 64 bit.

Voglio fare in modo che il mio server X ascolti le connessioni remote dai client di altre macchine sulla rete locale. So di ssh -Xe non è quello che voglio. Ricordo vagamente di aver cambiato qualcosa del tipo TCPListenda noa yes, ma non ricordo dove applicare questo cambiamento.

Sono interessato a un metodo GUI o CLI.

La modifica di PS /etc/X11/xinit/xserverrcper rimuovere l' -nolisten tcpopzione e il riavvio non funziona.


Suggerimento Probabilmente vale la pena disabilitare il firewall (iptables) mentre si sta tentando di far funzionare le cose.

Il suggerimento @ user243114 è tornato inutilizzato, ma grazie comunque :)
ΤΖΩΤΖΙΟΥ

Risposte:


16

(Qui segue una copia quasi letterale di una risposta autonoma da una domanda identica su serverfault che avevo dimenticato; askubuntu non era ancora stato creato).

Sulla base delle informazioni trovate in questa pagina sull'abilitazione di XDCMP e del file /etc/gdm/gdm.schemas, sono riuscito a creare un /etc/gdm/custom.conffile:

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

[chooser]

[security]
DisallowTCP=false

[debug]

Fai attenzione al maiuscolo / minuscolo: non funzionerà se scrivi "disallowTCP = false" ... Ho anche cambiato il file / etc / X11 / xinit / xserverrc in:

exec /usr/bin/X11/X

cioè ho rimosso le -nolisten tcpopzioni sull'eseguibile X. Non so se ne avessi bisogno. Potresti provare a evitare questa modifica.

Se modifichi solo il file xserverrc, X inizierà comunque con "-nolisten TCP".

Dopodiché, tutto ciò che serve è un riavvio del processo gdm:

sudo service gdm restart

Puoi verificare il successo come:

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

Aggiornare

Dopo un aggiornamento a 12.04, ho avuto lo stesso problema. Questa volta, il colpevole è il raggio di luce che il sistema utilizza. Il file che deve essere aggiornato è /etc/lightdm/lightdm.confe l'aggiunta richiesta è a xserver-allow-tcp=truenella [SeatDefaults]sezione.

E dopo, ho anche trovato quella risposta . :)

Sinossi

Quindi, in 10.10 funziona ancora: crea /etc/gdm/custom.confcon i contenuti come specificato sopra e riavvia gdm.


1
Per Ubuntu 14.04, l'unica cosa necessaria è avere un file come /usr/share/lightdm/lightdm.conf.d/100-custom.conf`` [SeatDefaults] server-allow-tcp = true `
Nitz

@Nitz, nota che xserver-allow-tcp=trueti manca la 'x' nel tuo commento. È possibile eliminare il commento esistente e riscriverlo. Sebbene la risposta includa quella soluzione ora.
Alexis Wilke,

1
Ho commentato la tua domanda originale sull'errore del server : ora Xorg di default non ascolta TCP. Bisogna aggiungere -listen tcpper abilitarlo, ma gdm3non sembra offrire questa possibilità.
L. Levrel,

4

Questa risposta è correlata a Kubuntu 17.04 e la aggiungo perché nessuna delle altre risposte (relative a gdmo lightdm) mi ha aiutato. Nel mio caso sddmstava correndo. Per verificare ciò, eseguire ad esempio

ps -eal | grep sddm

Se è in esecuzione, i processi sddme sddm-helpervengono visualizzati. In questo caso aggiungere un file di configurazione /etc/sddm.confcon contenuto

[XDisplay]
ServerArguments=-listen tcp

Dopo la creazione di questo file, riavviare il sistema (potrebbe essere sddmsufficiente un riavvio). Come conseguenza

PS ax | grep sddm 

mostra l' Xorgopzione desiderata -listen tcpe X Server è pronto per le connessioni in entrata (non dimenticare di aggiungere l'host remoto con xhost).


1
Nota che a partire da SDDM 0.14.0 (fornito con Kubuntu 17.10 Artful), la [XDisplay]sezione è stata rinominata [X11]. Ciò ha causato molta confusione quando stavo cercando di aiutare il mio collega fino a quando ho eseguito una man 5 sddm.confdelle nostre macchine 16.04 e 17.10 rispettivamente e ho notato la discrepanza!
keithzg,

2

Ubuntu 18.04 funziona come lubuntu 18.04 con lightdm 1.26.0, questo è quello che dovevo fare (mi ci sono voluti solo un paio di settimane per capire tutto). Devi creare entrambi /etc/lightdm/lightdm.confe /etc/lightdm.conf.d/50-xserver-command.confcome segue:

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

Questo farà sì che lightdm esegua Xorg con la seguente riga di comando:

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

Questo ha " -listen tcp" due volte, ma non fa male a niente. Se non hai entrambi i file, una delle opzioni di Xorg sarà "-nolisten tcp" che sovrascrive l'altra "-listen tcp". Ho finalmente trovato gli indizi su questo qui .

Quindi aggiungi: xhost +al tuo.bashrc

Riavvia e verifica che Xorg sia in ascolto sulla porta 6000:

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

Godere...


2

A partire da Ubuntu 18.04, ho esaminato i processi in esecuzione e ho capito che il display manager utilizzato è gdm3:

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

Quindi ho modificato /etc/gdm3/custom.confe aggiunto una riga:

[security]
DisallowTCP=false

Come accennato, l'apertura della porta 6000 non è sicura. Tuttavia, sto usando questo solo sulla rete domestica e la porta è ulteriormente protetta da iptablesaprirsi solo al mio laptop principale, dovrebbe essere ok.


In cosa differisce dalla risposta accettata?
Stephen Rauch,

1
Non sostanzialmente diverso, ma nel 18.04 il file di configurazione è "/etc/gdm3/custom.conf" mentre nella risposta accettata è "/etc/gdm/custom.conf"
Bing Ren,

1

Per Slim, cambia l'opzione xserver_argumentsin /etc/slim.conf. E riavvia la tua sessione X.


Che cos'è Slim? È necessario aggiungere un collegamento nella risposta, in modo da dimostrare che è pertinente alla domanda.
ΤΖΩΤΖΙΟΥ
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.