Що таке `/ tmp / .X11-unix /`?


31

Я задав Google те саме питання, і результати, які я отримав, не сподобалися.

Що таке /tmp/.X11-unix/?


2
Нічого собі, я збирався запитати вас, що вам не сподобалось у них ... але це дуже жахливі результати.
дероберт

Ви запускаєте Xvnc?
toxefa

2
@ py4on Я так не думаю, я прошу через мій інтерес до запуску графічних додатків усередині контейнера докера, на який згадується перенесення цього сокета x11 до контейнера. stackoverflow.com/a/25334301/1695680
ThorSummoner

Страшенно? Дійсно? У моїй частині світу другий результат пошуку - unix.stackexchange.com/questions/57138 на цьому веб-сайті WWW.
JdeBP

3
@JdeBP насправді, але заголовок уривка не дає вам причини його клацати - виглядає як усунення якоїсь випадкової проблеми. Звичайно, зараз з'являється це запитання, тому Google виправлений.
дероберт

Відповіді:


21

На мій досить уточнений Arch ноутбук, /tmp/.X11-unix/це каталог з одним записом: X0, сокет Unix-домену .

Сервер X11 (Usuall в Xorgці дні) спілкується з такими клієнтами, як xtermfirefox тощо, через якийсь надійний потік байтів. Сокет домену Unix, ймовірно, трохи безпечніший, ніж розетка TCP, відкрита для світу, і, мабуть, трохи швидше, оскільки ядро ​​робить це все, і не потрібно покладатися на мережу або бездротову карту.

Мій сервер X11 відображається як:

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

"-Nolisten tcp" не дозволяє відкривати TCP-порт 6000 для зв'язку.

Команда lsof -Uможе сказати вам, які процеси використовуються в яких сокетах домену Unix. Я бачу, Xorgяк це пов'язано /tmp/.X11-unix/X0.


1
Був ось-ось посилання на іншу вашу відповідь! unix.stackexchange.com/a/20380/109083
toxefa

2
Не для nitpick, але я сумніваюся, що локальний сокет Unix має будь-які переваги у порівнянні з локальним TCP-сокетом (який не використовує апаратний інтерфейс, а також є 100% ядром).
goldilocks

@goldilocks - цікаве твердження.
Брюс Едігер


1
@Max я виправлений! Хоча це не з причин, які наводив Брюс, а через накладні витрати на стек TCP ядра.
goldilocks

11

X-сервер має кілька способів спілкування з X-клієнтами (додатками). Найпоширеніший з них, принаймні на одній машині, - це розетка Unix-домену.

Розетка домену Unix схожа на більш звичні TCP, за винятком того, що замість підключення до адреси та порту ви підключаєтесь до шляху . Для підключення використовується фактичний файл (файл сокета).

Сервер X ставить свій сокет у /tmp/.X11-unix:

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

Зверніть увагу на sперед дозволом, що означає його розетку. Якщо у вас працює декілька серверів X, у вас буде більше одного файлу.

Принаймні, з підручниками Linux, більше деталей про сокети (загалом) можна знайти в man 7 socket. Подробиці про розетки домену Unix є в man 7 unix. Зауважте, що ці сторінки орієнтовані на програму.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.