ข้อมูลพื้นฐานเล็กน้อย: ฉันกำลังจัดการกับซอฟต์แวร์บางส่วนที่เป็นส่วนหนึ่งของระบบที่ใหญ่ขึ้น ชิ้นส่วนของระบบส่วนใหญ่มีกระบวนการพื้นหลังที่ทำงานอย่างต่อเนื่องและ GUI ที่สามารถเปิดได้เมื่อจำเป็นต้องใช้ส่วนการทำงานนั้น ซอฟต์แวร์เฉพาะที่ทำให้ฉันมีปัญหาแทนที่จะเขียนเป็นโปรแกรมเดี่ยวที่มีทั้ง GUI และการประมวลผลเบื้องหลัง ซึ่งหมายความว่า GUI ต้องทำงานอยู่เสมอไม่เช่นนั้นการประมวลผลที่เกี่ยวข้องจะไม่เกิดขึ้น สิ่งนี้ไม่ต้องการ (ด้วยเหตุผลหลายประการ)
ในฐานะที่เป็นวิธีแก้ปัญหาฉันได้ตรวจสอบ X pseudoservers ต่างๆที่จะอนุญาตให้ฉันแสดง / ซ่อนหน้าต่าง GUI ตามความเหมาะสม ทั้งสามที่ฉันได้ดูโดยเฉพาะคือxmove , ximoveและxpra
xmoveเก่ามาก (ยังไม่ได้รับการพัฒนาตั้งแต่ พ.ย. 1997) และไม่รองรับกราฟิก 24 บิตซึ่งไม่ใช่การเริ่มต้น
ฉันได้พบสิ่งที่เรียกว่าximoveด้วย Mark C. Ballew ผู้เขียนเริ่มต้นด้วยความตั้งใจที่จะปรับปรุง xmove (XIMove≡Xmove Improved) แต่เมื่อดูที่เว็บไซต์ของเขาดูเหมือนว่าการอัปเดตสถานะครั้งล่าสุดคือ 8/16/04 และจะเชื่อมโยงไปยังhttp://forum.ximove.com/ซึ่งดูเหมือนว่าจะไม่มีอีกต่อไป
xpraดูเหมือนจะเป็นตัวเลือกที่มีแนวโน้มมากที่สุด แต่ก็ไม่ได้ผลตามที่หวังไว้ ฉันได้รับข้อผิดพลาดจำนวนมากที่บ่นเกี่ยวกับ "ไคโร" ซึ่งเป็นสิ่งที่ไม่ได้กล่าวถึงในไฟล์ xpra ใด ๆ ที่กล่าวถึงการพึ่งพา ... อย่างไรก็ตามโปรแกรมนี้ทำงานได้กับแอปพลิเคชันขนาดเล็กเช่นเว็บเบราว์เซอร์ เมื่อฉันพยายามที่จะใช้สำหรับโปรแกรมปัญหาของฉันฉันได้รับข้อผิดพลาดมากขึ้น (ข้อผิดพลาดไคโรและอื่น ๆ ) และทั้ง xpra และแอปพลิเคชันนั้นดูเหมือนว่าจะขัดข้อง
ฉันกำลังมองหาการลองติดตั้ง xpra เวอร์ชั่นใหม่ล่าสุด แต่ฉันสงสัยว่าพวกคุณคนใดมีความเข้าใจในแอปพลิเคชัน X pseudoserver อื่น ๆ ที่ฉันควรลอง
Xvfb :1
DISPLAY=:1 yourprogram
วิธีนี้คุณจะไม่เห็น UI ใด ๆ ในเซสชัน X ของคุณและคุณยังสามารถโต้ตอบกับ UI โปรแกรมของคุณได้โดยเริ่มต้นเซิร์ฟเวอร์ VNC ที่เชื่อมต่อกับเซสชัน Xvfb อีกวิธีหนึ่งในการซ่อน UI อาจเป็น-geometry
ตัวเลือกบรรทัดคำสั่งซึ่งโดยทั่วไปจะแยกวิเคราะห์โดยโปรแกรมที่ใช้ xlib
xpra
ลอยอยู่รอบ ๆ ; ที่ให้ไว้ในที่เก็บ distro ส่วนใหญ่ล้าสมัยอย่างมาก ลองรุ่นที่ใหม่กว่าจาก xpra.org