目前是否可以使用LXC集装箱功能来设置X11?我期待最轻的可用X11容器(内存),硬件加速是一个加,但不是必要的。
如果目前无法或随时可用,是否知道还需要实现哪些功能才能支持它?
发布于 2011-09-28 12:50:04
是的,可以在LXC容器中运行完整的X11桌面环境。
现在,我在Arch Linux上做这个。我不会说它是“轻”的,因为我还没有尝试从标准的包管理器安装中删除一些东西,但我可以确认它确实工作得很好。
您必须在主机上以及容器中安装任何内核驱动程序。例如图形驱动程序(我使用nvidia)。您必须通过配置container.conf来使dev中的设备节点在容器内可访问。然后,您需要确保这些设备节点是在容器中创建的(即mknod)。
所以,回答你的问题:是的,确实有效。如果我能提供进一步的帮助或提供更多的细节,请告诉我。
-提供额外信息
在我的容器里。/etc/inittab在运行级别5中启动并启动“瘦”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.con.d/10-input.conf文件中。
不知道这些是否会有帮助,但祝你好运!
https://unix.stackexchange.com/questions/18003
复制相似问题