Linux 下设置回落字体来避免Konsole里中文以宋体显示
Linux 下设置回落字体来避免Konsole里中文以宋体显示
起因
最近一段时间突然发现我的 konsole
终端里面的中文字体开始显示为宋体,倒不是说宋体一定不好看,而是跟英文字体显得有些格格不入。不过突然想起之前似乎在哪里看到过这个,后来想起是 archlinux cn 的 TG 频道里有提到这个,并且给出了 解决方案 。不过既然提到了 fontconfig
我觉得还是应该去了解一下,知其然也知其所以然。

fontconfig 是什么
这个问题已经有诸位大佬讲的比较清楚,比如 这篇文章,如果想要相对详细了解的可以仔细阅读一番,收获会比较大。
而我们这里就简单的知道 fontconfig
可以提供字体回落,也就是如果某个字体不能正常显示一些文字,比如英文字体想要显示中文,那么这个时候 fontconfig
就可以控制回落的时候选择什么字体,也就解决了我们上面的默认回落为宋体的问题。
如何配置 fontconfig
就像上面那片大佬的文章里面讲到的,我个人也是推荐在 ~/.config/fontconfig/fonts.conf
中配置 fontconfig。
fontconfig 的配置文件格式为 xml 格式,简单的示例如下:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
<test name="family" compare="eq">
<string>Hack Nerd Font Mono</string>
</test>
<edit name="family" mode="append">
<string>Source Han Mono SC</string>
</edit>
</match>
</fontconfig>
对于这个配置文件来说,Hack Nerd Font Mono
是需要被配置的字体,而 Source Han Mono SC
则是回落字体。由于我们目前配置的是为 konsole 配置,所以中文字体我们也选择了等宽字体 Source Han Mono, 当然你也可以选择其他的等宽字体,比如 maple-font 。
然后我们也需要确定目前 konsole
使用的字体,点击右上角 菜单
——编辑当前方案
——外观
, 即可在下方看到自己选择的字体,之后你可以执行 fc-list | grep 字体名
来找到这款字体并且复制其名称。
更改完上面两个值,保存之后执行 fc-cache -fv
来刷新字体缓存即可。
后面我们举一反三就可以更改其他英文字体的回落字体,只需要将 match
以及其中间的内容复制到下面新加一个配置即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!