2012-08-28 3 views
5

Дисплей является частью X11 display name.Насколько высоки номера дисплея X11?

Я видел несколько определений, которые объясняют, что это число от 0 вверх, но я не видел никаких документов, объясняющих, есть ли максимальный отображаемый номер.

Самый высокий номер дисплея? Где это определено?


Фоном для этого вопроса является то, что я пытаюсь понять алгоритм распределения номер дисплея PyVirtualDisplay. Я еще не понял роли файлов /tmp/.X*lock, но похоже, что процедура распределения будет выбирать всегда увеличивающиеся номера дисплеев, предлагая на какой-то стадии многократного вызова, она может попасть в лимит и упасть, особенно если он маленький.

ответ

9

Короткий ответ: он не определен.

Более длинный ответ: это зависит от протокола потока, который вы используете. В TCP это просто добавляется к номеру базового порта 6000, что означает, что сервер не сможет запустить где-нибудь около номера дисплея 59535. В сокетах unix домена это просто целое число, добавленное к имени сокета под /tmp/.X11-unix (так что если вы используете, запустив сервер с -nolisten tcp, у вас может быть несколько миллиардов или около того). В DECnet ... ну, я не знаю, но если вы когда-нибудь окажетесь в ситуации, чтобы заботиться, мне очень жаль.

Возможно, лучший ответ для потомков: если вы используете достаточно новый сервер X, вы можете использовать -displayfd <n> аргумент, чтобы сервер просто выбрать доступный номер дисплея, и записать его обратно к вам на этот файл дескриптор. Подумайте, что это новое в xserver 1.13, которое должно быть в конце 2012 года.

Смежные вопросы