ใช่มันเป็นไปได้ที่จะเรียกใช้สภาพแวดล้อมเดสก์ทอป X11 ที่สมบูรณ์ภายในคอนเทนเนอร์ LXC
ตอนนี้ฉันทำสิ่งนี้บน Arch Linux ฉันจะไม่พูดว่ามัน "เบา" เท่าที่ฉันยังไม่ได้ไปเท่าที่พยายามที่จะดึงสิ่งต่าง ๆ จากการติดตั้งตัวจัดการแพคเกจมาตรฐาน แต่ฉันสามารถยืนยันได้ว่ามันทำงานได้ดีมาก
คุณต้องติดตั้งเคอร์เนลไดรเวอร์ใด ๆ บนโฮสต์เช่นเดียวกับในภาชนะ สิ่งต่าง ๆ เช่นไดรเวอร์กราฟิก (ฉันใช้ NVIDIA) คุณต้องทำให้โหนดอุปกรณ์ในการเข้าถึง dev ในภาชนะโดยการกำหนดค่า container.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 ปัจจุบันของฉัน แต่เป็นจอที่แตกต่างไปจากเดิมอย่างสิ้นเชิง
หากคุณไม่ได้ผอมคุณสามารถใช้โครงสร้างแบบนี้เพื่อเริ่ม 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
ไม่แน่ใจว่าสิ่งใดจะช่วยได้ แต่ขอให้โชคดี!