it-swarm.com.de

Was ist `/ tmp / .X11-unix /`?

Ich habe Google dieselbe Frage gestellt und die Ergebnisse, die ich erhalten habe, nicht gemocht.

Was ist /tmp/.X11-unix/?

32
ThorSummoner

Auf meinem ziemlich aktuellen Arch-Laptop /tmp/.X11-unix/ ist ein Verzeichnis mit einem Eintrag: X0, a nix-Domain-Socket .

Der X11-Server (heutzutage normalerweise Xorg) kommuniziert mit Clients wie xterm, Firefox usw. über einen zuverlässigen Bytestrom. Ein Unix-Domain-Socket ist wahrscheinlich etwas sicherer als ein TCP-Socket, der für die Welt geöffnet ist, und wahrscheinlich etwas schneller, da der Kernel alles erledigt und nicht auf ein Ethernet angewiesen ist oder drahtlose Karte.

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 TCP Port 6000 für die Kommunikation geöffnet wird).

Der Befehl lsof -U kann Ihnen sagen, welche Prozesse welche Unix-Domain-Sockets verwenden. Ich sehe Xorg als verbunden mit /tmp/.X11-unix/X0.

22
Bruce Ediger

Der X-Server bietet verschiedene Möglichkeiten zur Kommunikation mit X-Clients (Apps). Zumindest auf demselben Computer wird am häufigsten ein Unix-Domain-Socket verwendet.

Ein Unix-Domain-Socket ähnelt dem bekannteren TCP), außer dass Sie anstelle einer Verbindung zu einer Adresse und einem Port eine Verbindung zu einem Pfad herstellen. Sie verwenden einen tatsächlichen Datei (eine Socket-Datei) zum Verbinden.

Der X-Server setzt 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 das s vor den Berechtigungen, was bedeutet, dass es sich um einen Socket handelt. Wenn mehrere X-Server ausgeführt werden, ist dort mehr als eine Datei vorhanden.

Zumindest mit den Linux-Manpages finden Sie weitere Details 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.

11
derobert

In /tmp/.X11-unix/X{n} hat der X-Server AF_DOMAIN-Sockets abgehört. In der Nähe des gleichen Ortes befinden sich /tmp/.X{n}-lock als Sperren. Wie in https://bugzilla.redhat.com/show_bug.cgi?id=503181 erläutert, ist dieses Schema nicht FHS-gut.