启动大多数图形程序时出现问题。只是说
Fontconfig error: Cannot load default config file
我可以确认它/etc/fonts/fonts.conf
存在并且具有正确的权限。
-rw-r--r-- 1 root root 5497 Jan 16 09:55 fonts.conf
我没有得到与此错误相关的任何其他信息,并且搜索也没有提供任何有用的信息。
我该如何修复此问题?
运行 gedit、geany、chromium-browser、firefox、libreoffice……基本上任何使用字体的图形程序
编辑
使用strace
我发现问题源于这里:
access("/data/jenkins/pms-deps-universal/BUILD_TAG/linux-ubuntu-i686/output/pms-depends-linux-ubuntu-i686-release-8400c3b/etc/fonts/fonts.conf", R_OK) = -1 ENOENT (No such file or directory)
write(2, "Fontconfig error: ", 18Fontconfig error: ) = 18
write(2, "Cannot load default config file", 31Cannot load default config file) = 31
我以前从未使用过 Jenkins,我会尝试删除它,看看会发生什么
sudo apt-get purge jenkins
这表示 jenkins 未安装......
我甚至没有/data/
分区。
我如何更改 Fontconfig 的路径?
答案1
您需要$FONTCONFIG_PATH
正确设置。通常,它是在中设置的,/etc/profile
但是,如果您从非登录 shell(例如,通过 cron)执行命令,则需要通过执行以下操作明确设置它:
export FONTCONFIG_PATH=/etc/fonts
答案2
在构建 fontconfig 之前,对其进行了配置。这会对查找各种文件的路径进行硬编码。您的程序链接到的 fontconfig 未正确配置。Fontconfig 应按如下方式配置:
./configure --enable-static --sysconfdir=/etc --localstatedir=/var
这将使得 fontconfig 寻找fonts.conf
in/etc/fonts
而不是/data/jenkins/pms-deps-universal/BUILD_TAG/linux-ubuntu-i686/output/pms-depends-linux-ubuntu-i686-release-8400c3b/etc/fonts
。