Ho fatto a Google la stessa domanda e non mi sono piaciuti i risultati che ho ottenuto.
Che cosa è /tmp/.X11-unix/
?
Ho fatto a Google la stessa domanda e non mi sono piaciuti i risultati che ho ottenuto.
Che cosa è /tmp/.X11-unix/
?
Risposte:
Sul mio laptop Arch abbastanza aggiornato, /tmp/.X11-unix/
c'è una directory con una voce: X0
un socket di dominio Unix .
Il server X11 (di solito in Xorg
questi giorni) comunica con client come xterm
, Firefox, ecc. Tramite una specie di flusso affidabile di byte. Un socket di dominio Unix è probabilmente un po 'più sicuro di un socket TCP aperto al mondo e probabilmente un po' più veloce, poiché il kernel fa tutto e non deve fare affidamento su una scheda Ethernet o wireless.
Il mio server X11 si presenta come:
bediger 294 293 0 Apr09 tty1 01:23:26 /usr/lib/xorg-server/Xorg -nolisten tcp :0 vt1 -auth /tmp/serverauth.aK3Lrv5hMV
"-Nolisten tcp" impedisce di aprire la porta TCP 6000 per le comunicazioni.
Il comando lsof -U
può dirti quali processi stanno usando quali socket di dominio Unix. Vedo Xorg
come connesso a /tmp/.X11-unix/X0
.
Il server X ha diversi modi di comunicare con i client X (app). Il più comune da utilizzare, almeno sulla stessa macchina, è un socket di dominio Unix.
Un socket di dominio Unix è come i più noti TCP, tranne che invece di connettersi a un indirizzo e una porta, ci si connette a un percorso . Si utilizza un file effettivo (un file socket) per connettersi.
Il server X inserisce il suo socket /tmp/.X11-unix
:
$ ls -l /tmp/.X11-unix/X0
srwxrwxrwx 1 root root 0 Dec 18 18:03 /tmp/.X11-unix/X0
Nota s
davanti alle autorizzazioni, il che significa che è un socket. Se hai più server X in esecuzione, avrai più di un file lì.
Almeno con le manpage di Linux, puoi trovare maggiori dettagli sui socket (in generale) man 7 socket
. Sono disponibili dettagli sui socket di dominio Unix man 7 unix
. Si noti che queste pagine sono incentrate sul programmatore.
/tmp/.X11-unix/X{n} sono i punti in cui il server X inserisce i socket AF_DOMAIN in ascolto. Quasi nello stesso posto sono /tmp/.X{n}- i blocchi sono bloccati. Come discusso in https://bugzilla.redhat.com/show_bug.cgi?id=503181 questo schema non è valido per FHS.