Remote X nhanh nhất từ ​​Windows


12

Tôi có các thiết lập sau:

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

và tôi muốn truy cập các cửa sổ Emacs và Eclipse trên hộp Linux từ máy Windows của tôi với độ trễ tối thiểu .

Các lựa chọn của tôi dường như là:

  • VNC
  • Ảo hóa một khách Linux trên máy chủ Windows cục bộ của tôi bằng cách sử dụng Virtualbox với Ubuntu, sau đó ssh -Xđến hộp Linux từ đó (đây là một chủ đề thảo luận về cấu hình cho đường hầm ssh X nhanh )
  • Cygwin với một máy chủ X và ssh -Xvào hộp từ xa.

Hiện tại tôi sử dụng RealVNC, nhưng tôi đã nhận thấy một số độ trễ đáng chú ý . Sau khi thực hiện một số nghiên cứu tôi đọc trên Wikipedia như sau:

Giao thức VNC dựa trên pixel . Mặc dù điều này dẫn đến tính linh hoạt cao (nghĩa là bất kỳ loại máy tính để bàn nào cũng có thể được hiển thị), nhưng nó thường kém hiệu quả hơn các giải pháp hiểu rõ hơn về bố cục đồ họa cơ bản như X11 hoặc Windows Remote Desktop Protocol

Điều này khiến tôi tự hỏi, tôi có những tùy chọn nào để có quyền truy cập nhanh nhất vào các cửa sổ X từ xa từ máy Windows cục bộ?


ssh -Xlà những gì tôi sử dụng thông qua putty, một số đồng nghiệp sử dụng xming mặc dù.
h3rrmiller

ssh đường hầm xuất hiện trong tâm trí nhưng làm thế nào bạn có thể kiểm soát độ trễ được giới thiệu bởi mạng? Độ trễ giới thiệu của VNC có thể có khả năng thấp hơn đáng kể so với giới thiệu của mạng.
Karlson

Ngoài ra, đến VNC và chuyển tiếp ssh-X, còn có Spice . Tôi không biết nếu bạn có thể sử dụng nó vì nó chủ yếu được phát triển cho các máy ảo.
jofel

Cảm ơn. @ h3rrmiller Tôi nghĩ bạn cần xming làm X từ xa với Putty. Làm thế nào chính xác làm bạn ssh -Xtrong Putty? Tôi đã nhấp vào Enable X11 forwardingPutty, nhưng điều này dường như là không đủ.
Amelio Vazquez-Reina

3
@ user27915816 có, để chuyển tiếp X11 bằng putty, bạn cần xming chạy trong nền.
jofel

Câu trả lời:


8

Tôi nghĩ trạng thái của nghệ thuật cho băng thông tối đa là NX , một chương trình nén giao thức X11. Nó sẽ thực hiện tốt đối với độ trễ quá. Hãy thử sử dụng máy khách Windows NXmáy chủ NX miễn phí trên Linux.

Nếu có thể, hãy sử dụng kết nối TCP trực tiếp thay vì SSH. Tất nhiên, điều này chỉ khả thi trong một môi trường được kiểm soát mà không phải lo lắng về bảo mật.

Tôi nghĩ rằng trong hầu hết các thiết lập, một máy ảo chạy cục bộ sẽ cung cấp cho bạn độ trễ tốt nhất. Thậm chí tốt hơn, chạy Emacs và Eclipse trong Windows; làm cho họ chỉnh sửa các tệp từ xa hoặc (để có kết quả tốt hơn) làm cho họ chỉnh sửa các tệp cục bộ mà sau đó bạn đồng bộ hóa với Unison hoặc thông qua hệ thống kiểm soát phiên bản.


2

Windows Remote Desktop hoạt động tốt - miễn là bạn chạy xrdp trên hộp Linux (và theo kinh nghiệm của tôi, nó sẽ ít gây khó chịu và phản ứng nhanh hơn so với VNC).

xrdp chạy một máy chủ X trên hộp Linux và sau đó nối nó lên RDP.

Trên thực tế, mặc dù tôi thường có Linux ở cả hai đầu của dây này, tôi thường thích rdesktop hơn xrdp so với VNC bất cứ khi nào chuyển tiếp X11 đơn giản chứng tỏ quá chậm chạp. VNC chỉ là từ viết tắt của tiếng Pháp có nghĩa là "không hoạt động tốt".


2

Tôi đồng ý rằng Mobaxterm nhanh chóng chuyển tiếp x. Sau đó tôi phát hiện ra rằng nó sử dụng ssh dựa trên cygwin, nhưng nó vẫn nhanh hơn cygwin / ssh của tôi. Sau khi xem xét thông tin gỡ lỗi, tôi phát hiện ra bí mật của Mobaxterm là sử dụng aes128 -ctr thay vì mật mã aes256-cbc phổ biến hơn , sử dụng hmac-sha1 và bật nén theo mặc định.

Trong Cygwin,

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

sẽ cung cấp cho bạn hiệu suất gần với mobaxterm. Nếu bạn vẫn tin mobaxterm nhanh hơn, bạn có thể trực tiếp sử dụng _ssh.exe, bạn có thể tìm thấy trong root mobaxterm của mình.

Một số blog / câu trả lời gợi ý mật mã như arcfour hoặc blowfish . Chúng nên tốt hơn một chút so với aes128-ctr (đối với CPU cũ), nhưng chúng đã lỗi thời và không nhất thiết phải có sẵn trên tất cả các nền tảng. Bạn có thể xem tất cả các mật mã và mac được hỗ trợ bằng cách

ssh -Q cipher
ssh -Q mac

Điểm chuẩn này cho thấy aes128-gcm sẽ cung cấp cho bạn hiệu năng tốt nhất trên CPU hiện đại.

Cập nhật:

Một số đề nghị chống nén. Tôi sẽ nói rằng giả sử -C vẫn giúp trừ khi thử nghiệm của bạn diễn ra theo cách khác, ngay cả khi bạn tin rằng mạng của bạn là hoàn hảo. Vì lượng truyền dữ liệu rất lớn và tỷ lệ nén rất ấn tượng, vd

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

Trên thực tế, tôi đã thử chuyển tiếp x với cả tcp và ssh trực tiếp với nén và mật mã thích hợp qua kết nối LAN 100Mbps bên trong với độ trễ <1ms. Tùy chọn ssh rõ ràng là nhanh hơn.


1

Thật ra tôi đã rất sốc khi thấy rằng Mobaxterm là siêu nhanh.

Tôi là một nhà phát triển phần mềm và tôi sử dụng IDE có tên Qt Creator. Qt Creator được biết đến là rất, rất nhanh, nhưng Putty + Xming quá chậm với nó mà tôi đã từ bỏ việc sử dụng nó thông qua một máy chủ xs từ xa. Cuối cùng Mobaxterm đã gây sốc cho tôi với tốc độ của nó. Thử nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.