我们的应用程序使用帧缓冲区显示以无头模式运行一些命令。我们不能依赖 Xvfb 安装在每台机器上的事实,但我们假设 X 服务器是,所以我们将 Xvfb 二进制文件捆绑到我们的应用程序中。问题是在某些机器上,当运行捆绑的 Xvfb 时,我们会收到以下致命错误:
could not open default font 'fixed'
有没有办法捆绑基本字体,并将 Xvfb 二进制文件指向它们,或者有更优雅的解决方案吗?
谢谢!
来自 X.Org 的现代版本的 libXfont 具有内置的基本“固定”和“光标”字体,但直到最近的版本(我相信 2009 年的 Xorg 1.7),您需要在字体路径中明确指定“内置”让 Xvfb 等 Xserver 找到它们。
未来会有一个更优雅的解决方案,它被称为 Xdummy,它能够使用带有虚拟驱动程序的真实 X11 服务器来获得由真实服务器支持的虚拟屏幕(Xvfb 现在几乎没有维护)。更多细节(和包)here,它基于Karl Runge 的 Xdummy,但更简洁(没有共享库技巧)这将是 Xorg 服务器 1.12 的一部分(即将到期)
在那之前,你可以用Xvfb
一个小脚本来计算字体在系统上的位置(没有那么多地方)并将-fp string default font path
参数添加到命令行。