2014-01-06 3 views
3

Я новичок в Linux, и мне пришлось установить переменную DISPLAY для запуска Java-приложения. Каким-то образом мне удалось сделать это, и я понимаю, что дисплей может быть установлен с помощьюПонимание переменной Linux DISPLAY

<host>:<display>[.<screen>] 

но то, что я делаю: 1001.

Теперь этот 1001 является 1001-м дисплеем этого linux? Возможно ли такое отображение в машине или мое понимание ошибочно?

ответ

2

Значения DISPLAY обычно равны :0, :0.0 и т. Д. При работе под сервером X Window на том же хосте. Большие числа, как в :1001, типичны для SSH, прошедшего X-соединение. Числа действительно слагаются до 6000, чтобы получить номер порта TCP; местные начинают с 6000, а SSH могут запускаться с 7000. (Это увеличение отличается в разных системах, например, возможны 10 или 100).

Как только эти значения назначаются динамически, вы должны получить значение для DISPLAY из существующей среды подключения, при условии, что также имеется соответствующий токен авторизации (например, в ~/.Xauthority).

1

Переменная DISPLAY используется X11 для идентификации вашего дисплея (и клавиатуры и мыши). Обычно это будет :0 на настольном компьютере, со ссылкой на основной монитор и т.д.

Если вы используете SSH с переадресацией X (ssh -X otherhost), то он будет установлен на что-то вроде localhost:10.0. Это сообщает X-приложениям отправлять свой вывод и получать их данные от порта TCP 127.0.0.1:6010, который SSH отправит обратно на ваш исходный хост.

И, да, в то время, когда вычисления «тонкого клиента» означали X terminal, было принято, что несколько сотен дисплеев подключены к одному и тому же хосту.

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