Вы получаете две категории вариантов:
Использование X11 для его клиент-серверных возможностей.
X11 разработан как протокол клиент-сервер, поэтому ваше приложение эффективно подключается к серверу X11 для отображения своих окон. В модели X11 приложение является клиентом, а дисплей - сервером.
Например, если вы сидите рядом с машиной A и машина B является вашим удаленным сервером Linux, вы можете использовать SSH от машины A к машине B (поэтому машина A является клиентом для SSH). Затем, если вы запустите xeyes
(или любое приложение X11), machineB будет клиентом для подключения к серверу X11 machineA (что касается приложения X11).
Чтобы это работало, вам нужен сервер X11, работающий на машине A. Это не является проблемой. Системы Linux с настольной средой будут иметь одну из коробок. В Windows вы можете использовать тот, который поставляется с Cygwin, или, возможно, Exceed.
Чтобы защитить такое соединение, используйте -X
(или -Y
если вы доверяете серверу) с ssh
из Linux-машины (машина A), это автоматически перенаправит соединения X11 обратно на ваш компьютер A, туннелированный через SSH. Точно так же (поскольку в вашем случае использования machineA работает под управлением Windows), клиенты SSH, такие как Putty, имеют возможность пересылать X11.
Использование полной среды удаленного рабочего стола.
Вы можете настроить VNC-сервер (или аналогичный, RDP, ...) на удаленном компьютере и подключиться к нему из VNC-клиента. (Понятие клиента и сервера, возможно, более интуитивно понятно в этой модели.) Если ваш VNC-сервер не работает по умолчанию, вам, возможно, придется войти через SSH вручную, чтобы запустить его.
С большей вероятностью вы получите "полный рабочий стол" с этим методом (в конечном итоге это зависит от того, как он настроен), поэтому вам не нужно знать команды для запуска графического интерфейса, который вы хотите использовать.
У UltraVNC, кажется, есть возможность получить его из коробки в своем коммерческом продукте. Если вы хотите защитить такое соединение вручную, вам, вероятно, придется подключиться к этому компьютеру через SSH и туннелировать порт VNC на удаленном сервере на ваш клиентский компьютер.
В общем, второй вариант (полный рабочий стол) будет быстрее.