Ich habe Google die gleiche Frage gestellt und die Ergebnisse, die ich erhalten habe, nicht gefallen.
Was ist /tmp/.X11-unix/
?
Ich habe Google die gleiche Frage gestellt und die Ergebnisse, die ich erhalten habe, nicht gefallen.
Was ist /tmp/.X11-unix/
?
Antworten:
Auf meinem ziemlich aktuellen Arch-Laptop /tmp/.X11-unix/
befindet sich ein Verzeichnis mit einem Eintrag:, X0
einem Unix-Domain-Socket .
Der X11-Server (heutzutage üblich Xorg
) kommuniziert mit Clients wie xterm
Firefox usw. über eine Art zuverlässigen Bytestrom. Ein Unix-Domain-Socket ist wahrscheinlich ein bisschen sicherer als ein weltoffener TCP-Socket und wahrscheinlich ein bisschen schneller als der Kernel und muss sich nicht auf eine Ethernet- oder WLAN-Karte verlassen.
Mein X11-Server wird angezeigt als:
bediger 294 293 0 Apr09 tty1 01:23:26 /usr/lib/xorg-server/Xorg -nolisten tcp :0 vt1 -auth /tmp/serverauth.aK3Lrv5hMV
Das "-nolisten tcp" verhindert, dass der TCP-Port 6000 für die Kommunikation geöffnet wird.
Der Befehl lsof -U
kann Ihnen mitteilen, welche Prozesse welche Unix-Domain-Sockets verwenden. Ich sehe Xorg
als verbunden /tmp/.X11-unix/X0
.
Der X-Server bietet verschiedene Möglichkeiten zur Kommunikation mit X-Clients (Apps). Am häufigsten wird zumindest auf demselben Computer ein Unix-Domain-Socket verwendet.
Ein Unix-Domain-Socket ist mit den bekannteren TCP-Sockets vergleichbar, mit dem Unterschied, dass Sie keine Verbindung zu einer Adresse und einem Port herstellen, sondern eine Verbindung zu einem Pfad herstellen . Sie verwenden eine aktuelle Datei (eine Socket-Datei), um eine Verbindung herzustellen.
Der X-Server steckt seinen Socket in /tmp/.X11-unix
:
$ ls -l /tmp/.X11-unix/X0
srwxrwxrwx 1 root root 0 Dec 18 18:03 /tmp/.X11-unix/X0
Beachten Sie die s
vor den Berechtigungen, was bedeutet, es ist ein Socket. Wenn mehrere X-Server ausgeführt werden, ist mehr als eine Datei vorhanden.
Zumindest in den Linux-Hilfeseiten finden Sie weitere Informationen zu Sockets (im Allgemeinen) in man 7 socket
. Details zu Unix-Domain-Sockets finden Sie in man 7 unix
. Beachten Sie, dass diese Seiten programmiererorientiert sind.
/tmp/.X11-unix/X{n} sind die Positionen, an denen der X-Server die empfangsbereiten AF_DOMAIN-Sockets platziert. In der Nähe des gleichen Ortes befinden sich /tmp/.X{n}-lock being locks. Wie in https://bugzilla.redhat.com/show_bug.cgi?id=503181 beschrieben, ist dieses Schema nicht für FHS geeignet.