Jenkins: fontconfig head is null, check your fonts or fonts configuration;

在部署jenkins第一次启动时遇到如下报错:

一大串报错,看的让人脑瓜疼。。。静静地分析一下日志,发现第一行报错信息: fontconfig head is null, check your fonts or fonts configuration。

这是个什么鬼,我也不造,在网上搜的解决办法如下:

"Jenkins fontconfig head is null, check your fonts or fonts configuration" 这条错误信息通常表示 Jenkins 在加载或找到渲染文本所需的字体时遇到了问题,这种情况通常发生在运行图形应用程序或生成嵌入文本的报告时,尤其是在无头环境(如 CI/CD 管道)中,那里没有图形用户界面。

以下是一些解决该问题的方法:

1. 安装所需的字体

  • 确保在运行 Jenkins 的系统上安装了所需的字体。在基于 Debian 的系统(如 Ubuntu)上,你可以使用以下命令安装一组常用字体:

    bash 复制代码
    sudo apt-get install -y fonts-dejavu-core fonts-freefont-ttf
  • 在基于 Red Hat 的系统上,使用以下命令:

    bash 复制代码
    sudo yum install -y dejavu-sans-fonts

2. 验证 Fontconfig 的安装

  • 确保 fontconfig 已正确安装和配置。fontconfig 是一个允许程序访问和管理字体数据的库。你可以使用以下命令安装它:

    bash 复制代码
    sudo apt-get install -y fontconfig
  • 运行以下命令检查 fontconfig 是否可以正确检测到字体:

    bash 复制代码
    fc-list

    该命令应列出系统上所有可用的字体。如果没有列出,则可能是字体配置出现了问题。

3. 手动设置字体路径

  • 有时,显式设置字体路径可以解决问题。你可以通过将 FONTCONFIG_PATH 环境变量设置为包含字体配置文件的目录来实现:

    bash 复制代码
    export FONTCONFIG_PATH=/etc/fonts

4. 配置 Jenkins 使用无头模式

  • 如果问题是由于 Jenkins 试图在无头环境中运行引起的,请确保你的 Java 应用程序配置为使用无头模式:

    bash 复制代码
    java -Djava.awt.headless=true -jar jenkins.war
  • 你还可以将 -Djava.awt.headless=true 添加到 Jenkins 配置中的 JVM 选项。

5. 重建字体缓存

  • 有时,字体缓存可能已损坏或不同步,重建它可能会有所帮助:

    bash 复制代码
    sudo fc-cache -f -v

6. 检查权限

  • 确保 Jenkins 具有访问字体目录和字体配置文件的适当权限。

如果这些步骤无法解决问题,请提供有关你的设置的更多详细信息(例如操作系统、Jenkins 版本、Java 版本等),这可能有助于进一步诊断问题。

相关推荐
Harvy_没救了8 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
春风有信8 小时前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器
2401_873479409 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
守城小轩9 小时前
基于Chrome140的Yahoo自动化(关键词浏览)——需求分析&环境搭建(一)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
handler0110 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
日取其半万世不竭12 小时前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器
优化Henry12 小时前
TDD-LTE站点Rilink=3链路故障处理案例---BBU侧C口“有发光、无收光”的排查与恢复
运维·网络·信息与通信·tdd
浪客灿心12 小时前
Linux网络传输层协议
linux·运维·网络
V搜xhliang024612 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
遇见火星13 小时前
Nginx限流配置:防止接口被刷,服务器稳如泰山
运维·服务器·nginx