Remote X tercepat dari Windows

12

Saya memiliki pengaturan berikut:

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

dan saya ingin mengakses jendela Emacs dan Eclipse saya pada kotak Linux dari mesin Windows saya dengan latensi minimal .

Pilihan saya tampaknya:

  • VNC
  • Virtualisasi tamu Linux di host Windows lokal saya menggunakan misalnya Virtualbox dengan Ubuntu, dan kemudian ssh -Xke kotak Linux dari itu (di sini adalah utas yang membahas konfigurasi untuk fast ssh X tunneling )
  • cygwin dengan server X dan ssh -Xke kotak jauh.

Saat ini saya menggunakan RealVNC, tetapi saya telah memperhatikan beberapa latensi yang terkenal . Setelah melakukan riset saya membaca di Wikipedia berikut ini:

Protokol VNC berbasis pixel . Meskipun ini mengarah pada fleksibilitas yang besar (mis. - semua jenis desktop dapat ditampilkan), seringkali lebih efisien daripada solusi yang memiliki pemahaman yang lebih baik tentang tata letak grafis yang mendasarinya seperti X11 atau Windows Remote Desktop Protocol

Ini membuat saya bertanya-tanya, opsi apa yang saya miliki untuk mendapatkan akses tercepat ke windows X jarak jauh dari mesin Windows lokal?

Amelio Vazquez-Reina
sumber
ssh -Xadalah apa yang saya gunakan melalui dempul, beberapa rekan menggunakan xming sekalipun.
h3rrmiller
ssh tunneling datang ke pikiran tetapi bagaimana Anda bisa mengontrol latensi yang diperkenalkan oleh jaringan? Latensi pengenalan VNC berpotensi lebih rendah secara signifikan daripada yang diperkenalkan oleh jaringan.
Karlson
Selain itu, untuk VNC dan ssh-X-forwarding, ada Spice . Saya tidak tahu apakah Anda dapat menggunakannya karena ini terutama dikembangkan untuk mesin virtual.
jofel
Terima kasih. @ h3rrmiller Saya pikir Anda perlu xming melakukan remote X dengan Putty. Bagaimana tepatnya Anda ssh -Xdi Putty? Saya telah mengklik Enable X11 forwardingdi Putty, tetapi ini sepertinya tidak cukup.
Amelio Vazquez-Reina
3
@ user27915816 ya, untuk penerusan X11 dengan dempul, Anda perlu menjalankan xming di latar belakang.
jofel

Jawaban:

8

Saya pikir yang paling canggih untuk bandwidth maksimum adalah NX , program kompresi protokol X11. Itu harus berkinerja baik sehubungan dengan latensi juga. Coba gunakan klien Windows NX dan server NX gratis di Linux.

Jika memungkinkan, gunakan koneksi TCP langsung dan bukan SSH. Tentu saja, ini hanya dapat dilakukan dalam lingkungan yang terkendali tanpa kekhawatiran keamanan.

Saya pikir dalam kebanyakan pengaturan mesin virtual yang berjalan secara lokal akan memberikan Anda latensi terbaik. Lebih baik lagi, jalankan Emacs dan Eclipse di Windows; membuat mereka mengedit file jarak jauh, atau (untuk hasil yang lebih baik) membuatnya mengedit file lokal yang kemudian Anda sinkronkan dengan Unison atau melalui sistem kontrol versi.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
2

Windows Remote Desktop berfungsi dengan baik - selama Anda menjalankan xrdp pada kotak Linux (dan menurut pengalaman saya, ini jauh lebih menyebalkan dan lebih responsif daripada VNC).

xrdp menjalankan server X pada kotak Linux, dan kemudian mengaitkannya hingga RDP.

Bahkan, meskipun saya biasanya memiliki Linux di kedua ujung kawat ini, saya biasanya lebih suka rdesktop daripada xrdp daripada VNC setiap kali penerusan X11 terbukti terlalu lamban. VNC hanyalah akronim Prancis untuk "tidak bekerja dengan baik".

Stabledog
sumber
2

Saya setuju bahwa Mobaxterm cepat dalam penerusan x. Kemudian saya mengetahui bahwa itu menggunakan ssh berdasarkan cygwin, tetapi masih lebih cepat dari cygwin / ssh saya. Setelah melihat info debug, saya mengetahui rahasia Mobaxterm menggunakan aes128-ctr daripada cipher aes256-cbc yang lebih umum , gunakan hmac-sha1 dan nyalakan kompresi secara default.

Di cygwin,

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

harus memberi Anda kinerja dekat dengan mobaxterm. Jika Anda masih percaya mobaxterm lebih cepat, Anda dapat langsung menggunakan _ssh.exe, yang dapat Anda temukan di root mobaxterm Anda.

Beberapa blog / jawaban menyarankan sandi seperti arcfour atau blowfish . Mereka harus sedikit lebih baik daripada aes128-ctr (untuk CPU lama), tetapi mereka sudah usang dan belum tentu tersedia di semua platform. Anda dapat melihat semua cipher dan mac yang didukung oleh

ssh -Q cipher
ssh -Q mac

Ini patokan menunjukkan bahwa AES128-GCM harus memberikan performa terbaik pada CPU modern.

Memperbarui:

Beberapa menyarankan untuk tidak melakukan kompresi. Saya akan mengatakan anggap -C masih membantu kecuali percobaan Anda ternyata sebaliknya, bahkan jika Anda yakin jaringan Anda sempurna. Karena jumlah transfer data sangat besar, dan rasio kompresi sangat mengesankan, misalnya

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

Sebenarnya, saya mencoba x forwarding dengan tcp dan ssh langsung dengan kompresi dan cipher yang sesuai melalui koneksi LAN 100Mbps internal dengan latensi <1ms. Opsi ssh jelas lebih cepat.

Haodong Du
sumber
1

Sebenarnya saya terkejut menemukan bahwa Mobaxterm sangat cepat.

Saya seorang pengembang perangkat lunak, dan saya menggunakan IDE yang disebut Qt Creator. Qt Creator sangat dikenal sangat, sangat cepat, tetapi Putty + Xming terlalu lambat sehingga saya menyerah untuk menggunakannya melalui xserver jarak jauh. Akhirnya Mobaxterm mengejutkan saya dengan kecepatannya. Cobalah.

Fisikawan Kuantum
sumber