Làm cách nào tôi có thể chạy các ứng dụng X11 được lưu trữ trên máy chủ từ xa, với các mục tiêu sau:
- Chạy bất cứ điều gì mà sẽ chạy cục bộ trên máy chủ. Điều này bao gồm các ứng dụng OpenGL sử dụng
GLX
. - Tích hợp liền mạch với máy tính để bàn cục bộ, tức là, các ứng dụng trông giống như chúng đang chạy cục bộ, không có khu vực máy tính để bàn riêng. Vì vậy, tôi cần một giải pháp X 11, không phải là giao thức trình bao bọc.
- Tốt nhất là cho phép các ứng dụng tiếp tục chạy nếu tôi bị ngắt kết nối; sau đó, tôi có thể mở lại các ứng dụng đang chạy sau khi kết nối lại.
Tôi đã thấy rất nhiều lời khuyên trôi nổi ở đây về siêu người dùng, nhưng phần lớn là một sửa chữa một phần hoặc chỉ đơn giản là xấu.
- ssh đồng bằng
X11-Forwarding
hết: Nó không thể chạy một số ứng dụng nhất định, đặc biệt là những ứng dụng dựa trên tiện ích mở rộng GLX. - Cài đặt
LIBGL_ALWAYS_INDIRECT=1
không làm việc cho tôi. Xephyr
cũng được ra Hiện tại nó không hỗ trợ GLX, mặc dù tôi đã thấy một số GLX hoạt động trong cây phát triển. Có lẽ trong tương lai, đó sẽ là cách sạch nhất.xmove
cũng được ra Quá cũ để xem xét thêm.- VNC đã ra. Nó chuyển tiếp toàn bộ máy tính để bàn và không thể dò tìm giao thức X.
EDIT: Tôi đã chiến đấu trong một ngày cuối tuần để đưa ra một số gợi ý, và xpra
là những gì làm việc tốt nhất. Tôi đã mô tả thiết lập của mình trong câu trả lời dưới đây và tôi hy vọng nó sẽ giúp người khác.