sim, é possível executar um ambiente de área de trabalho X11 completo dentro de um contêiner LXC.
Agora, faço isso no Arch Linux. Eu não vou dizer que é "leve", já que não fui tão longe quanto tentar remover coisas da instalação padrão do gerenciador de pacotes, mas posso confirmar que ele funciona muito bem.
Você precisa instalar qualquer driver de kernel no HOST, assim como no container. Coisas como o driver de gráficos (eu uso nvidia). Você precisa tornar os nós do dispositivo em dev acessíveis dentro do contêiner, configurando seu container.conf para permitir isso. Em seguida, você precisa se certificar de que esses nós de dispositivo sejam criados dentro do contêiner (por exemplo, mknod).
Então, para responder a sua pergunta: sim, funciona. Se eu puder ajudar mais ou fornecer mais detalhes, por favor me avise.
--- informações adicionais fornecidas ---
No meu contêiner ... / etc / inittab começa no nível 5 e lança "slim" Slim está configurado para usar 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
Eu não estou usando um segundo display X no meu vt atual, mas um outro completamente diferente (eu posso alternar entre muitos de thise usando CTRL + ALT + Fn).
Se você não estiver usando slim, você pode usar uma construção como esta para iniciar o X em outro vt:
/usr/bin/startx -- :10 vt10
Isso iniciará o X no display: 10 e o colocará em vt10 (CTRL + ALT + F10). Isso não precisa ser igual, mas acho que é melhor se o fizerem.
Você precisa da configuração do seu contêiner para disponibilizar os dispositivos relevantes, assim:
# 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
E você precisa criar os dispositivos no seu contêiner:
# 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
Eu também configurei dispositivos de entrada manualmente (já que não temos udev recipiente)
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
O exemplo acima vai em um arquivo /etc/X11/xorg.conf.d/10-input.conf
Não tenho certeza se isso ajudará, mas boa sorte!