¿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.


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.


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).


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...


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.


¿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.


¿Qué es delgado? Debe agregar un enlace en su respuesta, para demostrar que es relevante para la pregunta.
ΤΖΩΤΖΙΟΥ
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.