目前是否可以使用X11功能设置LXC containers?我期待着最轻的X11容器(内存方式),硬件加速,但不是必需的.
如果目前不可能或者现成,是否知道为了支持它还需要实现哪些功能呢?
解决方法:
是的,可以在LXC容器内运行完整的X11桌面环境.
现在,我在Arch Linux上这样做.我不会说它很“轻”,因为我没有尝试从标准软件包管理器安装中删除东西,但我可以确认它确实工作得很好.
您必须在HOST和容器中安装任何内核驱动程序.像图形驱动程序(我使用nvidia).您必须通过配置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
我没有在我当前的vt上使用第二个X显示器,但是完全不同(我可以使用CTRL ALT Fn在许多之间切换).
如果你没有使用slim,你可以使用这样的结构在另一个vt上启动X:
/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
不确定是否有任何帮助,但祝你好运!