X11 с безголового сервера на другой сервер X11 - PullRequest
1 голос
/ 30 ноября 2011

У меня есть приложение, работающее на автономном сервере.Это веб-приложение, но для определенной функции (отладки) оно запускает приложение на основе свинга.Поскольку сервер не работает (я уже установил -Djava.awt.headless = true ), он выдает исключение при запуске ...

Я попытался установить Xvfb, но этоне решил бы мою проблему, так как Xvfb не имеет вывода графического интерфейса, и я не мог видеть вывод.

Поэтому я хочу перенаправить / переслать вывод этого сервера на другой (например, мой ноутбук), чтобы увидеть приложение Swing и отладить его.

Есть ли способ достичь этого с помощью переменной DISPLAY или чего-то еще?

Спасибо.

Ответы [ 3 ]

1 голос
/ 30 ноября 2011

Вы можете либо

  1. Запустить Xvnc и подключиться к нему с помощью VNC-клиента
  2. Запустить Xvfb вместе с x11vnc и подключиться к нему с помощью VNC-клиента (это отличается отвыше, но конечный результат для вас тот же, полезный, только если вы уже запускаете Xvfb по какой-либо другой причине)
  3. Использовать пересылку ssh сессий X11 (или прямое TCP-соединение) согласно ответу favoretti

Опции 1 или 2 полезны, если на вашем ноутбуке установлена ​​Windows, и вы не хотите запускать на ней сервер X11.Тогда вы можете использовать собственный VNC-клиент Windows.

Вы также можете использовать RDP вместо VNC (X11rdp или xrdp на стороне X11 и RDP-клиент на стороне Windows).Это должно дать более высокую частоту обновления, но предположительно сложнее настроить его на стороне X11 (я не делал этого лично).OTOH Windows имеет встроенный RDP-клиент, поэтому вам даже не нужно ничего устанавливать на стороне Windows.

Если у вас на ноутбуке X11, гораздо удобнее использовать вариант 3.

1 голос
/ 23 мая 2014

Мне не хватает "Rep", чтобы комментировать ответ другого пользователя, поэтому мой пост предназначен для усиления хорошего ответа "favoretti".

Если вы работаете на ПК с Windows, установите подсистему cygwin unix и установите x-windows и ssh. Если вы используете OSX для запуска X11 или для Mavericks, установите xQuartz.

Затем, как уже упоминалось, вы можете подключиться к целевому (безголовому) удаленному серверу и указать флаг -X, чтобы трафик X возвращался по проводам

 ssh -l <user> -X -v <host>

Вы можете или не можете вызывать команду

xhost + 

, чтобы разрешить возврат трафика X на ваш компьютер.

1 голос
/ 30 ноября 2011

Если на вашем ноутбуке запущен X-сервер, вы можете подключиться к серверу по протоколу ssh, включив X-Forwarding в своем SSH, он автоматически установит для переменной DISPLAY значение в виде строк: 10.0, и вы сможете запустить свое приложение.с графическим интерфейсом, экспортируемым на ваш локальный X-сервер.

В противном случае, если вы хотите настроить DISPLAY вручную, вам необходимо убедиться, что сервер может подключиться к вашему ноутбуку через прямое TCP-соединение через порт x-server.

...