Solución:
En mi portátil Arch bastante actualizado, /tmp/.X11-unix/
es un directorio con una entrada: X0
, un socket de dominio Unix.
El servidor X11 (usuall Xorg
estos días) se comunica con clientes como xterm
, firefox, etc. a través de algún tipo de flujo confiable de bytes. Un socket de dominio Unix es probablemente un poco más seguro que un socket TCP abierto al mundo, y probablemente un poco más rápido, ya que el kernel lo hace todo y no tiene que depender de una tarjeta Ethernet o inalámbrica.
Mi servidor X11 aparece como:
bediger 294 293 0 Apr09 tty1 01:23:26 /usr/lib/xorg-server/Xorg -nolisten tcp :0 vt1 -auth /tmp/serverauth.aK3Lrv5hMV
El “-nolisten tcp” evita que abra el puerto TCP 6000 para las comunicaciones.
El comando lsof -U
puede decirle qué procesos están usando qué sockets de dominio Unix. veo Xorg
como conectado a /tmp/.X11-unix/X0
.
El servidor X tiene varias formas de comunicarse con los clientes X (aplicaciones). El más común de usar, al menos en la misma máquina, es un socket de dominio Unix.
Un socket de dominio Unix es como los TCP más familiares, excepto que en lugar de conectarse a una dirección y puerto, se conecta a un sendero. Utiliza un archivo real (un archivo de socket) para conectarse.
El servidor X pone su zócalo en /tmp/.X11-unix
:
$ ls -l /tmp/.X11-unix/X0
srwxrwxrwx 1 root root 0 Dec 18 18:03 /tmp/.X11-unix/X0
Nota la s
delante de los permisos, lo que significa que es un socket. Si tiene varios servidores X en ejecución, tendrá más de un archivo allí.
Al menos con las páginas de manual de Linux, se pueden encontrar más detalles sobre sockets (en general) en man 7 socket
. Los detalles sobre los sockets de dominio Unix están en man 7 unix
. Tenga en cuenta que estas páginas están enfocadas al programador.