เร่งความเร็วเซสชัน X ระยะไกล


16

ฉันมีเครื่องระยะไกลที่ใช้ Ubuntu 11.10 Server ซึ่งฉันเชื่อมต่อผ่าน SSH จาก OS X 10.7.3:

โฮสต์ remote.example.com
 ForwardX11 ใช่
 ForwardX11 ไว้วางใจใช่

บางครั้งฉันต้องการเปิดแอปพลิเคชั่น GUI ที่นั่น (ที่สะดุดตาที่สุดgitk) แต่ UI ค่อนข้างช้า ทั้งเครื่องระยะไกลและ Mac ของฉันมีการเชื่อมต่ออินเทอร์เน็ตที่ดี Ping ระหว่างพวกเขาคือประมาณ 55ms และไม่มีการสูญเสียต มีบางอย่างที่ฉันสามารถทำได้เพื่อเร่งความเร็วของสิ่งต่างๆหรือไม่?

การตั้งค่าโซลูชันเดสก์ท็อประยะไกลอื่น ๆ เป็นตัวเลือก แต่ฉันต้องการหลีกเลี่ยงเนื่องจากฉันไม่ต้องการแอปพลิเคชันนี้บ่อยนัก


คุณลองเปิดใช้งานการบีบอัดเมื่อเรียกใช้แอปพลิเคชันหรือไม่
Geek

1
ขอบคุณ อย่างที่คุณเห็นจาก.ssh/configคำพูดของฉันไม่ฉันไม่ได้ทำ ฉันได้เพิ่มCompression yesและCompressionLevel 9การกำหนดค่าโฮสต์ ดูเหมือนตอนนี้จะเร็วขึ้นเล็กน้อย แต่ก็ยังไม่เพียงพอสำหรับการใช้งานที่สะดวกสบาย มีอะไรอีกที่ฉันสามารถทำได้?
Alexander Gladysh

@AlexanderGladysh อะไรของคุณต้นน้ำความเร็ว?
EKW

scpบอกว่า 1.2 MB / s เมื่ออัพโหลดหรือดาวน์โหลดไปยังเครื่องระยะไกลซึ่งมากหรือน้อยคือจำนวนที่ ISP ของฉันโฆษณา
Alexander Gladysh

1
หากเป็นไปได้การใช้sshfsหรือระบบไฟล์เครือข่ายอื่น ๆ และการเรียกใช้แอปพลิเคชันของคุณในพื้นที่อาจเร็วขึ้น
Eroen

คำตอบ:


15

บทความตัวเลือก SSH ที่ดีที่สุดสำหรับการส่งต่อ X11แนะนำให้ใช้แทนรหัสศูนย์เริ่มต้นของ AES, รหัส arcfour และ blowfish ที่ทำงานได้ดีกว่ามาก

ดังนั้นควรใช้:

ssh -c arcfour,blowfish-cbc -XC host.com

หมายเหตุด้านเทคนิคของ Seb (หากไซต์ไม่ทำงานมีรุ่นที่เก็บถาวร ) แนะนำให้ใช้:

ssh -Y -C -o CompressionLevel=9 -c arcfour,blowfish-cbc user@hostname

นี่อาจช่วยปรับปรุงความเร็วที่คุณได้รับจากการบีบอัด


1
AES, arcfour และ blowflish ไม่ใช่การบีบอัด พวกเขาเป็นวิทยาการเข้ารหัสลับ โปรดทราบว่าการเปลี่ยนจาก AES จะทำให้ความปลอดภัยของการเชื่อมต่อลดลง ดังนั้นสิ่งนี้อาจไม่สามารถทำได้ในบางโอกาส -Cตัวเลือกที่สำคัญที่นี่ แต่เพราะนั่นคือการบีบอัด ระวังด้วยการตั้งค่าระดับการบีบอัดตรวจสอบให้แน่ใจว่าได้ทำการวัดเนื่องจากอาจส่งผลกระทบอย่างมากต่อ CPU ...
Tamara Wijsman

นอกจากนี้ CPU บางตัวยังมีการเร่งด้วยฮาร์ดแวร์สำหรับการเข้ารหัส AES
ปล้น

6

คุณกล่าวว่าคุณไม่ต้องการตั้งค่าโซลูชันเดสก์ท็อประยะไกลอื่น ๆ แต่คุณใส่ใจกับประสิทธิภาพ X11 ไม่ใช่โปรโตคอลที่มีประสิทธิภาพมากดังนั้นคุณจะสามารถคาดหวังการปรับปรุงเล็กน้อยได้เว้นแต่ว่าคุณจะใช้โปรโตคอลที่ทันสมัยกว่านี้

NX (NoMachine) น่าจะเป็นทางเลือกที่ดีที่สุดของคุณ มันยังคงใช้ ssh ดังนั้นจึงไม่ควรใช้ความพยายามมากเกินไปเมื่อเทียบกับโพรโทคอลเดสก์ท็อปอื่น ๆ ที่อาจต้องมีการเปลี่ยนแปลงการตั้งค่าไฟร์วอลล์และอื่น ๆ มีแพ็คเกจ NX สำหรับ Fedora ดังนั้นฉันคิดว่ามันใช้ได้สำหรับ Ubuntu

หากคุณสนใจมากพอที่จะใช้เวลาซักถามคำถามหวังว่าคุณจะสามารถใช้เวลาเรียนรู้ NX ได้อีกไม่กี่นาที

แก้ไข: เพื่อชี้แจงว่าทำไม X11 บน ssh จะไม่เร็ว: โปรโตคอล X เกี่ยวข้องกับการวาดระดับต่ำเช่นเส้นและวงกลมและเหตุการณ์ระดับต่ำเช่น "เมาส์เลื่อน 3 พิกเซลไปทางซ้าย" ชุดเครื่องมือ GUI ที่ทันสมัยเช่น GTK และ Qt ไม่ได้วาดเส้น แต่ก็วาดภาพได้ เมื่อ X11 ผ่าน SSH จะต้องส่งข้อมูลรูปภาพและเหตุการณ์เมาส์ระดับต่ำอย่างต่อเนื่อง โปรโตคอลระดับสูงเช่น NX, VNC หรือเดสก์ท็อประยะไกลสามารถลดแบนด์วิดท์และเวลาแฝงด้วยการรับรู้ว่าชุดเครื่องมือทำงานอย่างไร ตัวอย่างเช่นพวกเขาสามารถหลีกเลี่ยงความจำเป็นในการส่งเหตุการณ์ของเมาส์พวกเขาสามารถหลีกเลี่ยงการวาดซ้ำได้หลายพันเมื่อมีการย้ายหน้าต่างและพวกเขาสามารถแคชพื้นที่ของหน้าจอเช่นเมนู หากประสิทธิภาพเป็นสิ่งที่น่ากังวลเล็กน้อย X11 raw เป็นตัวเลือกที่ผิดเสมอ โชคดีที่มีทางเลือกจำนวนมากที่รวดเร็วซึ่งง่ายต่อการกำหนดค่าและใช้งาน


ไม่ใช่ว่าฉันไม่ต้องการใช้เดสก์ท็อประยะไกล แต่ฉันต้องการพยายามเพิ่มประสิทธิภาพการเชื่อมต่อ X11 ของฉันก่อน :-) ขอบคุณฉันจะดู NX
Alexander Gladysh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.