X nhanh cho khách LXC trên localhost?


12

Làm cách nào để chạy ứng dụng X bên trong thùng chứa LXC một cách hiệu quả?

ssh -Y guest

quá chậm - không có khả năng tăng tốc đồ họa với ssh -Y- mọi thứ phải truyền qua mạng ảo với giao thức X11 truyền thống.

Có thể sao chép-dán giữa ứng dụng máy chủ và ứng dụng khách là mong muốn nhưng không cần thiết. Chạy hai máy chủ X, một cho máy chủ và một cho khách, là (cho mục đích của tôi) là điều cần thiết.

Tôi không thể chạy Xorg bản địa từ bên trong khách vì nó phàn nàn về việc /dev/tty0bị mất và tôi không thể mknodthiết bị đó trong khách vì tôi bị từ chối cấp phép, ngay cả khi thực hiện quyền root.

Câu trả lời:


12

Bạn có thể muốn thử xpra hoặc NX, VNC, v.v. Ngoài ra hãy xem VirtualGL nếu bạn muốn tăng tốc GL.

Nếu bạn có thể chia sẻ một thư mục với máy chủ, thì bạn có thể sử dụng mmap với xpra (chỉ định đường dẫn đến tệp mmap) cung cấp các cải tiến hiệu suất rất đáng kể.


Ai đó có thể chia sẻ một ví dụ an toàn về cách sử dụng Xpra và Xephyr với LXC không?
baptx

3

LƯU Ý : Cách tiếp cận này là một chút hack. Nó cũng không hỗ trợ sao chép và dán giữa máy chủ và khách - và hoàn toàn không an toàn!

  1. Thêm /tmpdưới dạng một hệ thống tệp bổ sung trong cấu hình khách, đi qua /tmptrên máy chủ.
  2. Đảm bảo rằng máy chủ X của bạn không được cấu hình để chấp nhận bất kỳ kết nối mạng nào, bởi vì bước tiếp theo sẽ vô hiệu hóa bảo mật X.
  3. Nhập xhost +vào một cửa sổ đầu cuối.
  4. Bắt đầu khách LXC
  5. Đăng nhập như người dùng thông thường mong muốn của bạn bên trong khách (nghĩa là không phải là root) và nhập

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

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

bên trong khách (thay thế cả hai 2bằng số màn hình sẽ sử dụng nếu bạn đang sử dụng điều này để kết nối với nhiều máy ảo LXC.) Điều chỉnh các tham số độ phân giải ( -screen) và DPI ( -dpi) cho phù hợp.

Những gì nó làm là thiết lập các kết nối "proxy" đến máy chủ X lồng nhau Xephyr đang chạy trong máy khách (sử dụng cả ổ cắm tên miền UNIX và phần mở rộng MIT-SHM) và một kết nối khác từ Xephyr đến máy chủ X của máy chủ của bạn (sử dụng ổ cắm tên miền UNIX , nhưng không thể, theo như tôi có thể xác định, sử dụng MIT-SHM, do thiết kế của LXC). Đây dường như là cấu hình nhanh nhất có thể với một khách LXC, ít nhất là với trình điều khiển nguồn mở cho phần cứng của tôi (nvidia).


Có cách nào an toàn để sử dụng Xephyr với LXC không? Cách ly X11 với Xephyr được hỗ trợ bởi firejail vì vậy tôi đoán chúng ta cũng có thể làm điều đó đúng với LXC.
baptx
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.