có, có thể chạy một môi trường máy tính để bàn X11 hoàn chỉnh bên trong một thùng chứa LXC.
Ngay bây giờ, tôi làm điều này trên Arch Linux. Tôi sẽ không nói nó "nhẹ" vì tôi đã không cố gắng loại bỏ mọi thứ khỏi trình cài đặt trình quản lý gói tiêu chuẩn nhưng tôi có thể xác nhận rằng nó hoạt động rất tốt.
Bạn phải cài đặt bất kỳ trình điều khiển kernel nào trên HOST cũng như trong container. Những thứ như trình điều khiển đồ họa (tôi sử dụng nvidia). Bạn phải làm cho các nút thiết bị trong dev có thể truy cập được bên trong container bằng cách định cấu hình container.conf của bạn để cho phép nó. Sau đó, bạn cần đảm bảo rằng các nút thiết bị đó được tạo bên trong vùng chứa (tức là mknod).
Vì vậy, để trả lời câu hỏi của bạn: CÓ nó hoạt động. Nếu tôi có thể giúp thêm hoặc cung cấp thêm chi tiết xin vui lòng cho tôi biết.
--- thông tin bổ sung được cung cấp ---
Trong thùng chứa của tôi ... / etc / inittab bắt đầu ở cấp 5 và khởi chạy "slim" Slim được định cấu hình để sử dụng vt09:
# Path, X server and arguments (if needed)
# Note: -xauth $authfile is automatically appended
default_path /bin:/usr/bin:/usr/local/bin
default_xserver /usr/bin/X
xserver_arguments -nolisten tcp vt09
Tôi không sử dụng màn hình X thứ hai trên vt hiện tại của mình, nhưng là một màn hình hoàn toàn khác (tôi có thể chuyển đổi giữa nhiều thứ này bằng cách sử dụng CTRL + ALT + Fn).
Nếu bạn không sử dụng slim, bạn có thể sử dụng cấu trúc như thế này để bắt đầu X trên một vt khác:
/usr/bin/startx -- :10 vt10
Điều đó sẽ bắt đầu X trên màn hình: 10 và đưa nó lên vt10 (CTRL + ALT + F10). Chúng không cần phải khớp nhưng tôi nghĩ nó gọn hơn nếu có.
Bạn cần cấu hình bộ chứa của mình để cung cấp các thiết bị có liên quan, như thế này:
# XOrg Desktop
lxc.cgroup.devices.allow = c 4:10 rwm # /dev/tty10 X Desktop
lxc.cgroup.devices.allow = c 195:* rwm # /dev/nvidia Graphics card
lxc.cgroup.devices.allow = c 13:* rwm # /dev/input/* input devices
Và bạn cần phải làm cho các thiết bị trong thùng chứa của bạn:
# display vt device
mknod -m 666 /dev/tty10 c 4 10
# NVIDIA graphics card devices
mknod -m 666 /dev/nvidia0 c 195 0
mknod -m 666 /dev/nvidiactl c 195 255
# input devices
mkdir /dev/input # input devices
chmod 755 /dev/input
mknod -m 666 /dev/input/mice c 13 63 # mice
Tôi cũng đã cấu hình thủ công các thiết bị đầu vào (vì chúng tôi không có udev trong container)
Section "ServerFlags"
Option "AutoAddDevices" "False"
EndSection
Section "ServerLayout"
Identifier "Desktop"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "gb"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Ở trên có một tập tin /etc/X11/xorg.conf.d/10-input.conf
Không chắc chắn nếu có điều đó sẽ giúp, nhưng chúc may mắn!