Найшвидший віддалений X від Windows


12

У мене встановлено наступне:

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

і я хотів би отримати доступ до своїх вікон Emacs і Eclipse на вікні Linux зі своєї машини Windows з мінімальною затримкою .

Мої варіанти, здається, такі:

  • VNC
  • Віртуалізація гостя Linux на моєму локальному хості Windows, використовуючи, наприклад, Virtualbox з Ubuntu, а потім ssh -Xу вікні Linux з нього (ось нитка, що обговорює конфігурації для швидкого тунелювання ssh X )
  • cygwin з сервером X та ssh -Xдо віддаленого вікна.

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

Протокол VNC заснований на пікселях . Хоча це призводить до великої гнучкості (тобто будь-який тип робочого столу може бути відображений), він часто менш ефективний, ніж рішення, які краще розуміють базовий графічний макет, як X11 або Windows Remote Desktop Protocol

Це змушує мене замислитися, які параметри я маю отримати швидкий доступ до віддалених вікон X з локальної машини Windows?


ssh -Xце те, що я використовую через шпаклівку, хоча деякі колеги використовують xming.
h3rrmiller

ssh тунелювання приходить на думку, але як можна контролювати затримки, введені мережею? Затримка введення VNC потенційно може бути значно меншою, ніж введена мережею.
Карлсон

Крім того, до VNC та ssh-X-переадресація є Spice . Я не знаю, чи можете ви використовувати його, оскільки він в основному розроблений для віртуальних машин.
jofel

Дякую. @ h3rrmiller Я думав, що вам потрібно xming зробити віддалений X із Putty. Як саме вам ssh -Xв Putty? Я натиснув на Enable X11 forwardingPutty, але цього, здається, недостатньо.
Амеліо Васкес-Рейна

3
@ user27915816 так, для пересилання X11 із шпаклівкою вам потрібно працювати xming у фоновому режимі.
jofel

Відповіді:


8

Я думаю, що найсучаснішим для максимальної пропускної здатності є NX , програма стиснення протоколу X11. Це також повинно справлятись із затримкою. Спробуйте використовувати клієнт Windows NX та безкоштовний сервер NX в Linux.

Якщо можливо, використовуйте пряме TCP-з'єднання замість SSH. Звичайно, це є життєздатним лише у контрольованому середовищі, не турбуючись про безпеку.

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


2

Windows Remote Desktop працює чудово - доки ви запустите xrdp у вікні Linux (і, на мій досвід, він значно менший роздратування і чуйніший ніж VNC).

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

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


2

Я погоджуюсь, що Mobaxterm швидкий у переадресації x. Потім я з’ясовую, що він використовує ssh на основі cygwin, але це все-таки швидше, ніж мій cygwin / ssh. Переглянувши інформацію про налагодження, я з'ясував, що секрет Mobaxterm використовує aes128-ctr, а не більш поширений шифр aes256-cbc , використовує hmac-sha1 і включає компресію за замовчуванням.

У cygwin,

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

має дати вам продуктивність, близьку до мобакстерму. Якщо ви все ще вважаєте, що 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 із стисненням та відповідним шифром через внутрішнє з'єднання локальної мережі 100 Мбіт / с з затримкою <1 мс. Опція ssh очевидно швидша.


1

Насправді я був шокований, виявивши, що Mobaxterm є надшвидким.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.