Co to jest `/ tmp / .X11-unix /`?


31

Zadałem Google to samo pytanie i nie podobały mi się uzyskane wyniki.

Co to jest /tmp/.X11-unix/?


2
Wow, chciałem cię zapytać, co ci się w nich nie podoba ... ale to są całkiem okropne wyniki.
derobert 16.04.15

Czy korzystasz z Xvnc?
toksefa

2
@ py4on Nie sądzę, pytam ze względu na moje zainteresowanie uruchamianiem aplikacji graficznych w kontenerze dokera, o czym wspomniano o przekazywaniu tego gniazda x11 do kontenera. stackoverflow.com/a/25334301/1695680
ThorSummoner

Straszny? Naprawdę? W mojej części świata drugim wynikiem wyszukiwania jest unix.stackexchange.com/questions/57138 poza tą samą witryną WWW.
JdeBP

3
@JdeBP rzeczywiście, ale tytuł fragmentu nie daje powodu, aby go kliknąć - wygląda na to, że rozwiązano jakiś przypadkowy problem. Oczywiście teraz pojawia się to pytanie, więc Google jest naprawiony.
derobert 16.04.2015

Odpowiedzi:


21

Na moim dość up-to-date Arch laptopa, /tmp/.X11-unix/to katalog z jednego wpisu: X0, A gniazdo Unix domeny .

Serwer X11 (zwykle Xorgte dni) komunikuje się z klientami takimi jak xtermFirefox, itp. Za pośrednictwem pewnego rodzaju niezawodnego strumienia bajtów. Gniazdo domeny uniksowej jest prawdopodobnie nieco bezpieczniejsze niż gniazdo TCP otwarte na świat i prawdopodobnie nieco szybsze, ponieważ jądro robi to wszystko i nie musi polegać na karcie Ethernet lub bezprzewodowej.

Mój serwer X11 pokazuje się jako:

bediger    294   293  0 Apr09 tty1     01:23:26 /usr/lib/xorg-server/Xorg -nolisten tcp :0 vt1 -auth /tmp/serverauth.aK3Lrv5hMV

„-Nolisten tcp” uniemożliwia otwarcie portu TCP 6000 dla komunikacji.

Polecenie lsof -Umoże ci powiedzieć, jakie procesy wykorzystują, które gniazda domeny Uniksa. Widzę Xorgjako połączony z /tmp/.X11-unix/X0.


1
Właśnie miałem zamieścić link do innej odpowiedzi! unix.stackexchange.com/a/20380/109083
toksefa

2
Nie wybijaj, ale wątpię, czy lokalne gniazdo unix ma jakąkolwiek przewagę wydajności nad lokalnym gniazdem TCP (które nie korzysta z interfejsu sprzętowego, a także jest w 100% jądrem).
złotowłosa

@goldilocks - ciekawe stwierdzenie.
Bruce Ediger


1
@Max Stoję poprawiony! Chociaż nie jest to z powodów cytowanych przez Bruce'a, ale z powodu narzutu na stos TCP w jądrze.
złotowłosa

11

Serwer X ma kilka sposobów komunikacji z klientami X (aplikacjami). Najczęściej stosowanym, przynajmniej na tym samym komputerze, jest gniazdo w domenie uniksowej.

Gniazdo domeny uniksowej przypomina bardziej znane gniazda TCP, z tym wyjątkiem, że zamiast łączyć się z adresem i portem, łączysz się ze ścieżką . Do połączenia używasz rzeczywistego pliku (pliku gniazda).

Serwer X umieszcza gniazdo w /tmp/.X11-unix:

$ ls -l /tmp/.X11-unix/X0 
srwxrwxrwx 1 root root 0 Dec 18 18:03 /tmp/.X11-unix/X0

Uwaga sprzed uprawnieniami, co oznacza, że ​​jest to gniazdo. Jeśli masz uruchomionych wiele serwerów X, będziesz mieć tam więcej niż jeden plik.

Przynajmniej na stronach Linuksa więcej szczegółów na temat gniazd (ogólnie) można znaleźć w man 7 socket. Szczegóły dotyczące gniazd w domenie uniksowej są dostępne man 7 unix. Pamiętaj, że te strony są przeznaczone dla programistów.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.