так, можна запустити повне середовище робочого столу X11 всередині контейнера LXC.
Зараз я це роблю в Arch Linux. Я не скажу, що це "легенько", оскільки я не пішов так, щоб спробувати викреслити речі зі встановлення стандартного менеджера пакунків, але можу підтвердити, що це працює дуже добре.
Ви повинні встановити будь-які драйвери ядра як на HOST, так і в контейнер. Такі речі, як графічний драйвер (я використовую nvidia). Ви повинні зробити вузли пристроїв у програмі dev доступними всередині контейнера, налаштувавши ваш контейнер.conf, щоб дозволити це. Потім потрібно переконатися, що ці вузли пристрою створені всередині контейнера (тобто mknod).
Отже, щоб відповісти на ваше запитання: ТАК це працює. Якщо я можу допомогти чи надавати більше деталей, будь ласка, повідомте мене про це.
--- додаткова інформація надається ---
У моєму контейнері ... / etc / inittab починається з 5 рівня запуску та запускає "slim" Slim, налаштований на використання 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
Я не використовую другий X-дисплей у своєму поточному vt, але зовсім інший (я можу перемикатися між багатьма з цього, використовуючи CTRL + ALT + Fn).
Якщо ви не використовуєте slim, ви можете використовувати таку конструкцію, щоб запустити X на іншому vt:
/usr/bin/startx -- :10 vt10
Це запустить X на дисплеї: 10 і поставить його на vt10 (CTRL + ALT + F10). Їм не потрібно відповідати, але я думаю, що це акуратніше, якщо вони є.
Вам потрібна конфігурація контейнера, щоб зробити доступними відповідні пристрої:
# 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
І вам потрібно зробити пристрої у вашому контейнері:
# 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
Я також налаштував пристрої введення вручну (оскільки у нас немає udev в контейнері)
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
Наведене вище у файлі /etc/X11/xorg.conf.d/10-input.conf
Не впевнений, чи допоможе щось із цього, але удачі!