MobaXterm продолжает менять местоположение DISPLAY на разных компьютерах? - PullRequest
0 голосов
/ 19 апреля 2020

Я использую MobaXterm с WSL2 в качестве терминала и X-клиента, и у меня возникают проблемы с тем, что MobaXterm меняет свою переменную DISPLAY, казалось бы, случайно. Кажется, что IP остается тем же при данной загрузке компьютера, но меняется изо дня в день (или, может быть, каждые пару дней?).

Я устанавливал DISPLAY на мою установку WSL2 через ~/.bashrc (так оно и есть), как мне говорят на стартовом экране MobaXterm (обычно что-то вроде 192.168.1.Y:0.0, где Y - другое число, которое, похоже, меняется).

Когда я меняю DISPLAY, все работает как надо, пока я не получу сообщение об ошибке подключения к дисплею, и я проверяю, чтобы увидеть значение Y / местоположение DISPLAY изменилось. Опять же, я могу проверить, что MobaXterm отображает выше как «Ваш DISPLAY установлен как ...», и вручную изменить его с помощью ~ / .bashr c, но я бы хотел установить его один раз и заставить его просто работать.

У моих коллег, которые используют MobaXterm, похоже, что их DISPLAY постоянно настроен на что-то вроде 'localhost', но мой, похоже, каждый раз показывает какой-то полный IP-адрес (который меняется).

Кто-нибудь знаком? с этой проблемой, и / или есть какие-либо идеи о том, как я могу это исправить?

Добавление примера из терминала MobaXterm bash в моем дистрибутиве WSL2:

$ xeyes
Error: Can't open display: 127.0.0.1:0.0
$ export DISPLAY=localhost:0.0
$ xeyes
Error: Can't open display: localhost:0.0
$ export DISPLAY=:0.0
$ xeyes
Error: Can't open display: :0.0

Как только Я установил export DISPLAY=192.168.1.13:0.0 (это то, о чем MobaXterm говорит, что сейчас на дисплее установлен дисплей), xeyes отображается нормально.

Кто-то также привел меня к документации MobaXterm :

По умолчанию MobaXterm Xserver прослушивает все ваши сетевые адаптеры. На баннере будет указано, что ваша среда DISPLAY установлена ​​на «: 0.0», но это только информационное сообщение: оно напечатано здесь, чтобы помочь пользователям установить переменную среды «DISPLAY» при подключении к удаленному серверу. Однако встроенный сервер X11 прослушивает все сетевые интерфейсы, а не только тот, который записан. Не имеет значения, какой IP-адрес вы видите в переменной «DISPLAY»: поскольку сервер MobaXterm X прослушивает все ваши сетевые интерфейсы, он также прослушивает 2-й, 3-й, (...) сетевые интерфейсы. Например, если ваш компьютер имеет 2 сетевых адаптера (192.168.0.10 и 10.10.10.36): MobaXterm сообщает, что для вашего DISPLAY установлено значение «192.168.0.10:0.0». Однако X-сервер действительно прослушивает «127.0.0.1» (localhost) , «192.168.0.10:0.0» (1-й адаптер) и «10.10.10.36:0.0» (2-й адаптер).

Хорошо, если действительно «X-сервер действительно слушает« 127.0.0.1 »(localhost)», «не должны ли мои X-приложения запускаться правильно, когда установлен DISPLAY (в дистрибутиве WSL2) до 127.0.0.1:0.0 или localhost:0.0?

...