Fast X สำหรับแขก LXC บน localhost?


12

ฉันจะรันแอพ X ภายในคอนเทนเนอร์ LXC ได้อย่างมีประสิทธิภาพได้อย่างไร

ssh -Y guest

ช้าเกินไป - ไม่มีการเร่งกราฟิกด้วยssh -Y- ทุกอย่างต้องเดินทางผ่านเครือข่ายเสมือนจริงด้วยโปรโตคอล X11 แบบดั้งเดิม

ความสามารถในการคัดลอกวางระหว่างแอปโฮสต์และเกสต์เป็นสิ่งที่ต้องการ แต่ไม่จำเป็น การรันเซิร์ฟเวอร์ X สองตัวหนึ่งตัวสำหรับโฮสต์และอีกหนึ่งตัวสำหรับแขกเป็นสิ่งจำเป็น (สำหรับจุดประสงค์ของฉัน)

ฉันไม่สามารถเรียกใช้ Xorg ดั้งเดิมจากภายในแขกเพราะบ่น/dev/tty0ว่าหายไปและฉันไม่สามารถmknodใช้อุปกรณ์นั้นในแขกเพราะฉันได้รับอนุญาตถูกปฏิเสธแม้ว่าจะทำในฐานะรูท

คำตอบ:


12

คุณอาจต้องการลองxpraหรือ NX, VNC และอื่น ๆ ลองดูVirtualGLถ้าคุณต้องการความเร่ง GL

หากคุณสามารถแชร์ไดเรกทอรีกับโฮสต์คุณสามารถใช้ mmap กับ xpra (ระบุพา ธ ไปยังไฟล์ mmap) ซึ่งให้การปรับปรุงประสิทธิภาพที่สำคัญมาก


บางคนสามารถแบ่งปันตัวอย่างที่ปลอดภัยเกี่ยวกับวิธีใช้ Xpra และ Xephyr กับ LXC ได้หรือไม่
baptx

3

หมายเหตุ : วิธีการนี้เป็นบิตของการแฮ็ก มันไม่รองรับการคัดลอกและวางระหว่างโฮสต์และแขก - และไม่ปลอดภัยโดยสิ้นเชิง!

  1. เพิ่ม/tmpเป็นระบบไฟล์เพิ่มเติมในการกำหนดค่าของผู้เยี่ยมชมซึ่งผ่านไปยัง/tmpบนโฮสต์
  2. ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ X ของคุณไม่ได้รับการกำหนดค่าให้ยอมรับการเชื่อมต่อเครือข่ายทุกชนิดเนื่องจากขั้นตอนต่อไปปิดใช้งานความปลอดภัย X
  3. พิมพ์xhost +ในหน้าต่างเทอร์มินัล
  4. เริ่มต้นแขกของ LXC
  5. เข้าสู่ระบบในฐานะผู้ใช้สามัญที่คุณต้องการภายในแขก (เช่นไม่เป็น root) และพิมพ์

DISPLAY=:0 Xephyr :2 -screen 1024x768 -dpi 96 &

DISPLAY=:2 /etc/X11/xinit/Xsession

ภายในแขก (แทนที่ทั้งสอง2ด้วยจำนวนหน้าจอที่จะใช้หากคุณใช้สิ่งนี้เพื่อเชื่อมต่อกับ LXC VM หลายตัว) ปรับพารามิเตอร์ความละเอียด ( -screen) และ DPI ( -dpi) ให้เหมาะสม

สิ่งนี้ทำการตั้งค่าการเชื่อมต่อ "พร็อกซี" ไปยังเซิร์ฟเวอร์ Xephyr ที่ซ้อนกัน X ที่ทำงานในเกสต์ (ซึ่งใช้ทั้งซ็อกเก็ตโดเมน UNIX และส่วนขยาย MIT-SHM) และการเชื่อมต่ออื่นจาก Xephyr ไปยังเซิร์ฟเวอร์ X โฮสต์ของคุณ แต่ไม่สามารถทำได้ให้ใช้ MIT-SHM เนื่องจากการออกแบบของ LXC) ดูเหมือนว่านี่จะเป็นการกำหนดค่าที่เร็วที่สุดสำหรับแขก LXC อย่างน้อยก็พร้อมกับไดรเวอร์โอเพ่นซอร์สสำหรับฮาร์ดแวร์ของฉัน (nvidia)


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