Что такое `/ 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 (обычно в Xorgнаши дни) общается с такими клиентами, как xtermFirefox и т. Д., Через некоторый надежный поток байтов. Сокет домена Unix, вероятно, немного более безопасен, чем открытый для всего мира сокет TCP, и, возможно, немного быстрее, поскольку ядро ​​все это делает, и ему не нужно полагаться на Ethernet или беспроводную карту.

Мой сервер 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
токсифа

2
Не слишком уж, но я сомневаюсь, что локальный сокет unix имеет какие-либо преимущества в производительности по сравнению с локальным сокетом TCP (который не использует аппаратный интерфейс, а также является 100% ядром).
Златовласка

@goldilocks - интересное утверждение.
Брюс Эдигер


1
@ Макс я исправлюсь! Хотя это не по причинам, указанным Брюсом, а из-за накладных расходов для стека TCP ядра.
Златовласка

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-серверов, у вас будет более одного файла.

По крайней мере с man-страницами Linux, больше деталей о сокетах (в общем) можно найти в man 7 socket. Подробная информация о сокетах Unix-домена находится в man 7 unix. Обратите внимание, что эти страницы ориентированы на программистов.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.