¿Cómo hacer que X.org escuche conexiones remotas en el puerto 6000?

17

Esto está en Ubuntu 10.10 (Maverick Meerkat) de escritorio de 64 bits.

Quiero que mi servidor X escuche conexiones remotas de clientes en otras máquinas en la red local. Lo sé ssh -Xy eso no es lo que quiero. Recuerdo vagamente cambiar algo como TCPListende noa yes, pero no recuerdo dónde debería aplicarse este cambio.

Estoy interesado en un método GUI o uno CLI.

La edición de PS /etc/X11/xinit/xserverrcpara eliminar la -nolisten tcpopción y reiniciar no funciona.

ΤΖΩΤΖΙΟΥ
fuente
Sugerencia Probablemente valga la pena desactivar el cortafuegos (iptables) mientras intenta hacer que las cosas funcionen.
@ user243114 sugerencia devuelta sin usar, pero gracias de todos modos :)
ΤΖΩΤΖΙΟΥ

Respuestas:

16

(Aquí sigue una copia casi literal de una respuesta propia de una pregunta idéntica sobre el servidor predeterminado que había olvidado; askubuntu aún no se había creado).

Según la información que se encuentra en esta página sobre la habilitación de XDCMP y el archivo /etc/gdm/gdm.schemas, logré crear un /etc/gdm/custom.confarchivo:

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

[chooser]

[security]
DisallowTCP=false

[debug]

Tenga cuidado con las mayúsculas y minúsculas: no funcionará, si escribe "disallowTCP = false" ... También cambié el archivo / etc / X11 / xinit / xserverrc a:

exec /usr/bin/X11/X

es decir, eliminé las -nolisten tcpopciones del ejecutable X. No sé si lo necesitaba. Es posible que desee intentar evitar esta edición.

Si solo cambia el archivo xserverrc, X comenzará con "-nolisten TCP".

Después de eso, todo lo que se necesita es reiniciar el proceso de gdm:

sudo service gdm restart

Puede verificar el éxito como:

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

Actualizar

Después de una actualización a 12.04, tuve el mismo problema. Esta vez, el culpable es el lightdm que usa el sistema. El archivo que debe actualizarse es /etc/lightdm/lightdm.confy la adición requerida es un xserver-allow-tcp=trueen la [SeatDefaults]sección.

Y luego, también encontré esa respuesta . :)

Sinopsis

Entonces, en 10.10 esto todavía funciona: cree /etc/gdm/custom.confcon los contenidos como se especificó anteriormente y reinicie gdm.

ΤΖΩΤΖΙΟΥ
fuente
1
Para Ubuntu 14.04, lo único que se necesita es tener un archivo que /usr/share/lightdm/lightdm.conf.d/100-custom.confcontenga `[SeatDefaults] server-allow-tcp = true`
Nitz
@Nitz, ten en cuenta que xserver-allow-tcp=truete falta la 'x' en tu comentario. Puede eliminar su comentario existente y volver a escribirlo. Aunque la respuesta incluye esa solución ahora.
Alexis Wilke
1
Me ha comentado tu pregunta original en la culpa del servidor : Xorg ahora por defecto no escucha TCP. Hay que agregar -listen tcppara habilitarlo, pero gdm3no parece ofrecer esta posibilidad.
L. Levrel
4

Esta respuesta está relacionada con Kubuntu 17.04 y la agrego, porque ninguna de las otras respuestas (relacionadas con gdmo lightdm) me ayudaron. En mi caso sddmestaba corriendo. Para verificar esto, ejecute por ejemplo

ps -eal | grep sddm

Si se está ejecutando, los procesos sddmy sddm-helperse muestran. En este caso, agregue un archivo de configuración /etc/sddm.confcon contenido

[XDisplay]
ServerArguments=-listen tcp

Después de la creación de este archivo, reinicie su sistema (puede ser sddmsuficiente reiniciarlo). Como consecuencia

PS ax | grep sddm 

muestra la Xorgopción deseada -listen tcpy el X Server está listo para las conexiones entrantes (no olvide agregar el host remoto con xhost).

Trinimon
fuente
1
Tenga en cuenta que a partir de SDDM 0.14.0 (que se incluye con Kubuntu 17.10 Artful), la [XDisplay]sección ha cambiado de nombre [X11]. Esto causó mucha confusión cuando intentaba ayudar a mi compañero de trabajo hasta que ejecuté una man 5 sddm.confen nuestras máquinas 16.04 y 17.10 respectivamente, ¡y noté la discrepancia!
keithzg
2

Ubuntu 18.04 ejecutándose como lubuntu 18.04 con lightdm 1.26.0, esto es lo que tenía que hacer (solo me tomó un par de semanas resolverlo). Tienes que crear ambos /etc/lightdm/lightdm.confy de la /etc/lightdm.conf.d/50-xserver-command.confsiguiente manera:

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

Esto hará que lightdm ejecute Xorg con la siguiente línea de comando:

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

Esto tiene " -listen tcp" dos veces, pero no hace daño a nada. Si no tiene ambos archivos, una de las opciones de Xorg será "-nolisten tcp", que anula la otra "-listen tcp". Finalmente encontré las pistas para esto aquí .

Luego agregue: xhost +a su.bashrc

Reinicie y compruebe que Xorg ahora está escuchando en el puerto 6000:

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

Disfrutar...

Glenn Talbott
fuente
2

A partir de Ubuntu 18.04, miré los procesos en ejecución y descubrí que el administrador de pantalla que se usa es gdm3:

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

Luego edité /etc/gdm3/custom.confy agregué una línea:

[security]
DisallowTCP=false

Como se mencionó, abrir el puerto 6000 no es seguro. Sin embargo, estoy usando esto solo en la red doméstica y el puerto está más seguro iptablespara abrir solo en mi computadora portátil principal, debería estar bien.

Bing Ren
fuente
¿Cómo difiere esto de la respuesta aceptada?
Stephen Rauch
1
No es fundamentalmente diferente, pero en 18.04 el archivo de configuración es "/etc/gdm3/custom.conf", mientras que en la respuesta aceptada es "/etc/gdm/custom.conf"
Bing Ren
1

Para Slim, cambie la opción xserver_argumentsen /etc/slim.conf. Y reinicie su sesión X.

ceving
fuente
¿Qué es delgado? Debe agregar un enlace en su respuesta, para demostrar que es relevante para la pregunta.
ΤΖΩΤΖΙΟΥ