Tengo algún programa de cliente X que necesita acceso a un servidor X. Solo puede acceder al servidor X por TCP, no por otros métodos como los sockets de dominio Unix. Se ejecutará en el mismo host que el servidor, para facilitar las cosas.
Entonces, ¿cómo puedo hacer que mi servidor Xorg escuche en el puerto TCP 6000, pero solo para conexiones desde localhost?
Encontré ¿Cómo hacer que X.org escuche conexiones remotas en el puerto 6000? , que explica cómo habilitar el acceso para hosts remotos, pero realmente no quiero acceso remoto (por razones de seguridad, principalmente).
Pensé en reenviar de alguna manera el transporte predeterminado a TCP, pero realmente no encontré información sobre cuál es el transporte predeterminado.
(Estoy usando kdm como mi administrador de pantalla aquí, pero creo que puedo transferir soluciones para el administrador de pantalla, o incluso cambiar el administrador de pantalla).
¿Algunas ideas?
Esto está en 11.04 en una instalación mixta Kubuntu-Ubuntu-XUbuntu (originalmente Kubuntu, pero agregué ubuntu-desktop y xubuntu-desktop. En el arranque ahora dice Xubuntu 11.04). Ahora estoy usando el escritorio gnome-classic, creo, de KDM.
/tmp/.X11-unix/X0
: este es un ejemplo de dirección AF_UNIX (se usa netstat -x
para ver la suya). La especificación del protocolo X11 debe determinar las direcciones exactas para conectarse. Y realmente DEBE leerlo si está escribiendo una biblioteca cliente para ese protocolo.
/tmp/.X11-unix/X0
existe como un socket aquí (OpenSUSE), también, lo comprobaré nuevamente en casa (en el sistema Ubuntu nombrado en la pregunta). Ahora solo tengo que ver cómo reenviar esto a un socket TCP a 6000.