Sì, è possibile eseguire un ambiente desktop X11 completo all'interno di un contenitore LXC.
In questo momento, lo faccio su Arch Linux. Non dirò che è "leggero" in quanto non sono arrivato al punto di provare a rimuovere le cose dall'installazione del gestore pacchetti standard, ma posso confermare che funziona molto bene.
Devi installare tutti i driver del kernel sull'HOST e nel container. Cose come il driver grafico (io uso nvidia). Devi rendere accessibili i nodi del dispositivo in sviluppo all'interno del contenitore configurando container.conf per consentirlo. È quindi necessario assicurarsi che quei nodi del dispositivo siano creati all'interno del contenitore (ad es. Mknod).
Quindi, per rispondere alla tua domanda: SÌ funziona. Se posso aiutare ulteriormente o fornire maggiori dettagli, per favore fatemelo sapere.
--- ulteriori informazioni fornite ---
Nel mio contenitore ... / etc / inittab inizia nel livello di esecuzione 5 e avvia "slim" Slim è configurato per utilizzare 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
Non sto usando un secondo display X sul mio attuale VT, ma uno completamente diverso (posso passare da molti di questi usando CTRL + ALT + Fn).
Se non stai usando slim, puoi usare un costrutto come questo per avviare X su un altro vt:
/usr/bin/startx -- :10 vt10
Questo avvierà X sul display: 10 e lo metterà su vt10 (CTRL + ALT + F10). Questi non hanno bisogno di eguagliarsi, ma penso che sia più ordinato se lo fanno.
È necessaria la configurazione del contenitore per rendere disponibili i dispositivi pertinenti, in questo modo:
# 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 devi creare i dispositivi nel tuo contenitore:
# 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
Ho anche configurato manualmente i dispositivi di input (poiché non abbiamo udev nel contenitore)
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
Quanto sopra sta andando in un file /etc/X11/xorg.conf.d/10-input.conf
Non sono sicuro se qualcuno di questi aiuterà, ma buona fortuna!