Самый быстрый удаленный X из Windows

12

У меня есть следующие настройки:

|-----------------|                          |---------------|
|   Windows       |     LAN (or VPN)         |    Linux box  |
| (local machine) | <-------------------->   |               |
|-----------------|                          |---------------|

и я хотел бы получить доступ к моим окнам Emacs и Eclipse на компьютере с Linux с моего компьютера с минимальной задержкой .

Мои варианты кажутся следующими:

  • VNC
  • Виртуализация гостевой системы Linux на моем локальном хосте Windows с использованием, например, Virtualbox с Ubuntu, а затем ssh -Xс него на коробку Linux (здесь приведена ветка, в которой обсуждаются конфигурации для быстрого туннелирования ssh X )
  • Cygwin с X-сервером и ssh -Xудаленной коробкой.

На данный момент я использую RealVNC, но заметил заметную задержку . После некоторого исследования я прочитал в Википедии следующее:

Протокол VNC основан на пикселях . Хотя это приводит к большой гибкости (т. Е. Любой тип рабочего стола может отображаться), он часто менее эффективен, чем решения, которые лучше понимают базовую графическую структуру, такую ​​как X11 или протокол удаленного рабочего стола Windows

Это заставляет меня задуматься, какие варианты у меня есть, чтобы получить самый быстрый доступ к удаленным окнам X с локальной машины Windows?

Амелио Васкес-Рейна
источник
ssh -Xэто то, что я использую через замазку, хотя некоторые коллеги используют xming.
h3rrmiller
На ум приходит ssh-туннелирование, но как вы можете контролировать задержку, создаваемую сетью? Задержка внедрения VNC потенциально может быть значительно ниже, чем введенная сетью.
Карлсон
Кроме того, для VNC и ssh-X-forwarding существует Spice . Я не знаю, можете ли вы использовать его, поскольку он в основном разработан для виртуальных машин.
Джофель
Спасибо. @ h3rrmiller Я думал, тебе нужно xming сделать удаленный X с Putty. Как именно ты ssh -Xв Putty? Я нажал на Enable X11 forwardingPutty, но этого недостаточно.
Амелио Васкес-Рейна
3
@ user27915816 да, для пересылки X11 с замазкой вам нужно запустить xming в фоновом режиме.
Джофель

Ответы:

8

Я думаю, что для максимальной пропускной способности используется NX , программа сжатия протокола X11. Это должно хорошо работать и в отношении задержки. Попробуйте использовать клиент Windows NX и бесплатный сервер NX в Linux.

Если возможно, используйте прямое TCP-соединение вместо SSH. Конечно, это возможно только в контролируемой среде без проблем с безопасностью.

Я думаю, что в большинстве установок виртуальная машина, работающая локально, даст вам лучшее время ожидания. Еще лучше запустить Emacs и Eclipse под Windows; заставить их редактировать удаленные файлы или (для еще лучших результатов) заставить их редактировать локальные файлы, которые вы затем синхронизируете с Unison или через систему контроля версий.

Жиль "ТАК - перестань быть злым"
источник
2

Удаленный рабочий стол Windows работает просто отлично - до тех пор, пока вы запускаете xrdp на компьютере с Linux (и, по моему опыту, он значительно менее раздражает и более отзывчив, чем VNC).

xrdp запускает X-сервер в Linux, а затем подключает его к RDP.

Фактически, даже несмотря на то, что у меня обычно есть Linux на обоих концах этого провода, я обычно предпочитаю, чтобы rdesktop вместо xrdp, а не VNC, когда обычная пересылка X11 оказывается слишком вялой. VNC - это просто французское сокращение от "не очень хорошо работает".

Stabledog
источник
2

Я согласен, что Mobaxterm быстр в переадресации х. Затем я узнаю, что он использует ssh на основе Cygwin, но он все еще быстрее, чем мой cygwin / ssh. Изучив отладочную информацию, я обнаружил, что секрет Mobaxterm заключается в использовании aes128-ctr, а не в более распространенном шифре aes256-cbc , использовании hmac-sha1 и включении сжатия по умолчанию.

В Cygwin,

ssh -m hmac-sha1 -c aes128-ctr -C 

должен дать вам производительность, близкую к mobaxterm. Если вы все еще верите, что mobaxterm работает быстрее, вы можете напрямую использовать _ssh.exe, который вы можете найти в своем корне mobaxterm.

Некоторые блоги / ответы предложил шифры как Arcfour или Blowfish . Они должны быть немного лучше, чем aes128-ctr (для старого процессора), но они устарели и не обязательно доступны на всех платформах. Вы можете просмотреть все поддерживаемые шифры и маки по

ssh -Q cipher
ssh -Q mac

Этот тест показывает, что aes128-gcm должен дать вам лучшую производительность на современном процессоре.

Обновить:

Некоторые предлагают против сжатия. Я бы сказал, предположим, что -C все еще помогает, если ваша пробная версия не окажется иначе, даже если вы считаете, что ваша сеть идеальна Поскольку объем передаваемых данных очень велик, а степень сжатия впечатляет, например,

 debug1: compress outgoing: raw data 603154, compressed 141717, factor 0.23 
 debug1: compress incoming: raw data 67841628, compressed 641357, factor 0.01

На самом деле, я пробовал переадресацию x с прямым tcp и ssh со сжатием и соответствующим шифром по внутреннему соединению LAN 100 Мбит / с с задержкой <1 мс. Опция ssh явно быстрее.

Хаодонг Ду
источник
1

На самом деле я был шокирован, обнаружив, что Mobaxterm работает очень быстро.

Я разработчик программного обеспечения и использую IDE под названием Qt Creator. Qt Creator, как известно, работает очень и очень быстро, но Putty + Xming были слишком медлительны, поэтому я отказался от его использования через удаленный xserver. В конце концов Mobaxterm потряс меня своей скоростью. Попробуй это.

Квантовый физик
источник