Понимание переменной среды X Windows DISPLAY при туннелировании
Я хочу, чтобы SSH к удаленным серверам, оба работают CentOS
с X11Forwarding
включен.
Однако приложение X не может работать должным образом на одном из них - на хосте B оно работает нормально. Но на AI хоста появляется сообщение об ошибке "Не удается подключиться к дисплею" при каждом запуске приложения X.
После проверки DISPLAY
переменная окружения на хосте A, которая, я думаю, связана с окном X, я нашел ее значение localhost:10.0
, Следуя советам здесь, я меняю DISPLAY=0:10.0
и это работает. Тем не мение, DISPLAY
на хосте B все еще localhost:10.0
и работает отлично.
Мой вопрос в том, что значение в DISPLAY
представлять? В чем разница между localhost:10.0
а также 0:10.0
?
Он сказал, что localhost
определяет имя хоста. Затем, какой хост он идентифицирует: сервер (хост A/B), на котором запущено мое X-приложение, или мой локальный клиент, на котором я хочу, чтобы X-окно отображалось?
Любые намеки или указатели на документацию будут оценены.
1 ответ
Часть ответа можно найти здесь: https://stackoverflow.com/questions/746119/how-do-you-use-display-specifications
Переменная DISPLAY состоит в основном из 3 компонентов:
<host>:<display>[.<screen>]
Что касается localhost aka 127.0.0.1 против 0.0.0.0 aka 0, вы можете взглянуть на этот пост:
Что объясняет разницу.
В вашем конкретном случае 0.0.0.0:10.0 и localhost: 10.0 будут иметь одинаковый эффект, но в основном будут означать:
- подключиться к любому интерфейсу, на котором настроен дисплей 10
- подключите по lo0 к слушателю дисплея 10.
Практически не было бы никакой разницы, поскольку в первом случае сканирование всех интерфейсов начиналось бы с lo0, который обычно является первым интерфейсом в списке.