以 ubuntu 服务器为主机的 lxc 中的 ubuntu-desktop

以 ubuntu 服务器为主机的 lxc 中的 ubuntu-desktop

我最近安装了 Ubuntu 18.04 服务器,想将其用作桌面,而不想过多干扰服务器部分。

使用 linux 容器 (lxd) 应该可以实现这一点。问题是,当我启动 ubuntu 容器、在其中安装 ubuntu-desktop、挂载 /dev/tty7 并运行 xinit 时,会发生两件事:

1) 黑屏,左上角有一个静止的光标(不是鼠标)。键盘不工作,需要重新启动 2) 在 Xorg 日志中,我发现这个错误:

xf86EnableIOPorts:无法为 I/O 设置 IOPL(操作不允许)

答案1

当主机上没有运行 X11 服务器时,应该可以在 LXD 容器中启动 X11 服务器。

这个帖子有关在容器中运行 X11 应用程序并将输出定向到主机上现有的 X11 服务器的详细信息。本文中有一prerequisite节您也必须关注。

对于在 LXD 容器内运行完整 X11 服务器的特殊情况,您需要将主机中的所有必要设备传递到容器中,确保所有权和权限模式适合每个设备。如果在指定设备的所有权或模式时出现问题,您可能需要升级到 LXD 3.2(Snap 包)。

回到你最初的问题,列出你尝试推入容器的设备及其所有权/模式会有所帮助。

答案2

上面指向 Simos 博客的链接展示了在 LXD 容器中运行 GUI 的一种方法。

Alexandre Dey 发布了一个 GitHub,其中也有非常好的方法,并且在支持 LXD 容器桌面的多个用户方面实际上更加灵活。

https://github.com/AlexandreDey/ContainerBox

Alexandre 目前正在更新 ContainerBox 文档,并且我相信他正在为图形和音频实现新的 LXD 3.xx 设备代理功能。(请阅读他的 github 页面上关于此内容的“问题”部分评论)。无论如何,您都应该阅读所有这些“问题”,因为在他更新文档之前,评论中的一些内容澄清了他当前的 README 文件中目前缺少的内容。

相关内容