Một chút thông tin cơ bản: Tôi đang xử lý một phần mềm là một phần của hệ thống lớn hơn. Hầu hết các phần của hệ thống có một quá trình nền chạy liên tục và GUI có thể mở khi cần phần chức năng đó. Phần mềm đặc biệt gây rắc rối cho tôi thay vào đó được viết dưới dạng một chương trình duy nhất chứa cả GUI và xử lý nền. Điều này có nghĩa là GUI phải luôn chạy, nếu không thì quá trình xử lý liên quan không thể diễn ra. Điều này là không mong muốn (vì một số lý do).
Như một giải pháp thay thế, tôi đã xem xét các giả danh X khác nhau sẽ cho phép tôi hiển thị / ẩn cửa sổ GUI khi thích hợp. Ba cái tôi đã xem cụ thể là xmove , ximove và xpra
xmove thực sự cũ (chưa được phát triển từ tháng 11 năm 1997) và không hỗ trợ đồ họa 24 bit, không phải là khởi đầu.
Tôi cũng đã tìm thấy một thứ gọi là ximove . Tác giả, Mark C. Ballew đã bắt đầu nó với mục đích cải thiện xmove (XIMove≡Xmove được cải thiện). Nhưng, nhìn vào trang web của anh ấy, có vẻ như bản cập nhật trạng thái cuối cùng là 8/16/04 và nó liên kết đến http://forum.imumove.com/ không còn tồn tại nữa.
xpra có vẻ như là lựa chọn hứa hẹn nhất, nhưng nó không hoạt động như mong đợi. Tôi nhận được rất nhiều lỗi phàn nàn về "Cairo", đây là điều không được đề cập trong bất kỳ tệp xpra nào thảo luận về sự phụ thuộc ... dù sao chương trình cũng hoạt động cho các ứng dụng nhỏ, như trình duyệt web. Khi tôi cố gắng sử dụng nó cho chương trình vấn đề của mình, tôi gặp nhiều lỗi hơn (lỗi cairo và các lỗi khác). và cả xpra và ứng dụng dường như bị sập.
Tôi đang tìm cách cài đặt sạch phiên bản xpra mới nhất, nhưng tôi tự hỏi liệu có ai trong số các bạn có cái nhìn sâu sắc nào về một số ứng dụng pseudoserver X khác mà tôi nên thử không.
Xvfb :1
và khởi chạy chương trình của bạn với DISPLAY=:1 yourprogram
. Bằng cách này, bạn sẽ không thấy bất kỳ giao diện người dùng nào trong phiên X của mình và bạn vẫn có thể tương tác với giao diện người dùng chương trình của mình bằng cách khởi động máy chủ VNC được gắn vào phiên Xvfb. Một cách khác để ẩn UI có thể là -geometry
tùy chọn dòng lệnh thường được phân tích cú pháp bởi các chương trình dựa trên xlib.
xpra
nổi xung quanh; những cái được cung cấp trong hầu hết các kho distro đã lỗi thời. Hãy thử phiên bản mới hơn từ xpra.org