Как экспортировать DISPLAY из терминала Linux на ПК с Windows?

Как экспортировать DISPLAY из терминала Linux на ПК с Windows?

Экспортировать изображение из терминала Linux на рабочий стол Linux легко. Для этого выполните следующие действия:

На 192.168.90.121 (локальный ПК):

xhost + 192.168.10.164

На 192.168.10.164 (удаленный ПК):

export DISPLAY=192.168.90.121:0.0 <br/>
firefox

Окно Firefox появляется на моем локальном ПК. В приведенном выше случае оба ПК — Linux.

Могу ли я аналогичным образом экспортировать дисплей Linux на ПК с Windows? В приведенном выше примере localPC будет Windows, а remotePC — Linux.

решение1

Да, вы можете, если установите X-сервер на свой компьютер Windows. Есть несколько коммерческих вариантов (я использовалStarnet X-Win32некоторое время назад), и несколько с открытым исходным кодом, напримерCygwin/XиXMing. Это не так безболезненно, как с Linux на Linux (или с другой производной Unix, которая изначально использует X11), но результат вполне приемлемый и пригодный для использования.

решение2

Используйте Cygwin. Я использую Ubuntu в контейнере Docker, но это будет легко работать и без контейнера Ubuntu, т. е. полнофункциональной машины Ubuntu в той же локальной сети, что и машина Windows.

Просто игнорируйте термин IP хост-контейнера. IP хост-контейнера == IP Ubuntu Machine.

Контейнер хоста Ubuntu IP 192.168.1.20 Удаленная машина Windows в той же локальной сети IP 192.168.1.4

В ssh ubuntu conatiner: sudo vim /etc/ssh/sshd_config : перезапустить ssh-сервер в ubuntu X11UseLocalhost no

На удаленной машине Windows запущен сервер Cywin X

  1. Откройте cgywin bash 2.cd /cydrive
  2. В bash startx -- -listen tcp &
  3. экспортировать ДИСПЛЕЙ=192.168.1.4:0.0
  4. хост + 192.168.1.20
  5. На терминале X, запущенном с помощью cmd на шаге 3, сделайте то же самое, что и на шаге 4 и 5.
  6. На xterm ssh -Y

  7. Либо используйте putty. IP-адрес хоста docker 192.168.1.20 и порт ssh 22

  8. Включить переадресацию портов SSH ---> X11 отметьте галочкой опцию включить переадресацию портов. В той же вкладке используйте Display location remote windows machine 192.168.1.4:0.0, на который удаленный контейнер Ubuntu будет выводить свой дисплей 10.Нажмите connect, введите учетные данные и запустите xll-GUI, например xeyes
  9. На удаленной машине Windows 192.168.1.4:0.0, не использующей дисплей Linux, появятся два глаза.

  10. Таким образом, нет необходимости устанавливать отдельный полнофункциональный сервер X11 на Ubuntu, что позволяет уменьшить размер контейнера.

  11. Ах да, для xeyes вам нужно установить некоторые приложения x-11 GUI, sudo apt-get install x11-apps

  12. Убедитесь, что вы вставили xeyes и он не блокирует оболочку.

  13. На Xterminal вы можете сделать то же самое, что и в putty.ssh -Y[email protected]. Флаг -Y необходим для переадресации доверенных портов. После входа в систему введите xeyes &

Связанный контент