【发布时间】:2014-11-22 10:04:47
【问题描述】:
我的容器中安装了最少的 Ubuntu,我希望 Xserver 运行。 我需要 XServer,因为我的应用需要 meshlabserver,它本身也需要 Xserver。
我安装了 xserver-xorg 和所有其他软件包,但是当我尝试通过容器启动 X 时
/usr/bin/X :0
上面写着:
Fatal server error:
(EE) xf86OpenConsole: Cannot open /dev/tty0 (No such file or directory)
我做错了什么?如何启动 X 服务器?
更新:
相关问题:Host screen turns off when I start X server in docker container
【问题讨论】:
-
您需要真正的显示器吗?如果没有,Xvfb 可能足以满足您的目的。 XServer 是否必须在容器中运行?您可以(重新)使用在主机上运行的一个。
-
嗯...我真的不知道什么是 Xvfb。我不需要应用程序的实际图形输出,当 Xserver 未运行时,meshlabserver 无法启动,并显示以下输出:meshlabserver: cannot connect to X server。我可以使用 Xvfb 来“模拟”X 服务器吗?我真的不需要连接到主机上的某个外部 Xserver,因为在容器之外的任何地方我都不需要那个 Xserver。
-
原来 xvfb 不工作(至少现在)。我的应用程序中出现许多错误: libGL 错误:未找到匹配的 fbConfigs 或视觉对象 libGL 错误:无法加载驱动程序:swrast OpenCV 错误:在 createWindowlessOpenGLContext 中断言失败(fbConfigs != 0)
-
您的应用似乎需要 openGL,而且 OpenGL 和 Xvfb(以及其他 X 服务器)似乎存在问题。您可能想在谷歌上搜索“无法加载驱动程序:swrast”。不确定这是否可以轻松解决。否则,您唯一的选择可能是使用主机 X 服务器 - 假设它支持应用程序所需的功能。
-
@AlexPetrenko:显然你那里的 Mesa 版本并没有先尝试软管道。我认为最直接的方法是构建一个仅支持软管道的自定义 Mesa 变体并将其安装在系统上。
标签: ubuntu docker xserver lxc linux-containers