ubuntu设置默认字体核心是用gsettings分别配置document-font-name、monospace-font-name和titlebar-font三类键值,必须带字号且字体名须与fc-list : family输出完全一致,改完需重启应用或重登录生效。

Ubuntu 设置具体系统默认字体,核心是改 gsettings 对应的键值,而不是编辑 /etc/fonts/fonts.conf 或手动改 fontconfig 配置——后者在现代 GNOME(20.04+)中已被弃用,改了也不生效。
用 gsettings 查看和设置三类默认字体
GNOME 桌面把字体分三类管理,每类对应不同用途,必须分别设置:
-
document-font-name:用于对话框、网页内容、文件管理器等常规 UI 文本 -
monospace-font-name:终端、代码编辑器等等宽场景(必须是真正的等宽字体,比如JetBrains Mono,不能填Microsoft YaHei) -
titlebar-font:窗口标题栏字体(支持 Bold 样式,如Sans Bold 10)
查看当前值:
gsettings get org.gnome.desktop.interface document-font-name<br>gsettings get org.gnome.desktop.interface monospace-font-name<br>gsettings get org.gnome.desktop.wm.preferences titlebar-font
设置示例(以「Noto Sans CJK SC」为例):
gsettings set org.gnome.desktop.interface document-font-name 'Noto Sans CJK SC 10'<br>gsettings set org.gnome.desktop.interface monospace-font-name 'Noto Sans Mono 10'<br>gsettings set org.gnome.desktop.wm.preferences titlebar-font 'Noto Sans CJK SC Bold 10'
注意:gsettings 值必须带字号(如 10),且字体名要和 fc-list : family 输出的完全一致(大小写、空格、连字符都不能错)。
字体名怎么查?别靠猜
直接运行 fc-list : family,会列出所有已注册字体族名。中文常用字体返回结果类似:
Noto Sans CJK SC<br>WenQuanYi Zen Hei<br>Microsoft YaHei<br>SimSun
如果装了微软雅黑但没出现,说明没正确注册——常见原因:
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 字体文件权限不对(
sudo chmod 644 /usr/share/fonts/winFonts/*.ttf必须执行) - 没刷新缓存(
sudo fc-cache -fv缺一不可) - 字体文件本身损坏或非标准 TTC/TTFO(某些打包版雅黑含非法嵌入许可,
fc-list会跳过)
验证是否生效:运行 fc-match "Noto Sans CJK SC",输出应为对应 .ttf 路径;若返回 DejaVuSans.ttf,说明该字体名未被识别。
为什么改了 gsettings 还不生效?
最常被忽略的两个点:
- 部分应用(如 VS Code、Chrome)完全忽略
gsettings,它们读取自己的配置项,需单独设(例如 VS Code 的"editor.fontFamily") - GTK 应用可能缓存字体映射,改完后需重启应用,或注销重登录(不是重启电脑)
- 如果你用的是 KDE 或 Xfce 等非 GNOME 桌面,
gsettings不起作用——KDE 用systemsettings5,Xfce 用xfce4-appearance-settings
另外,fontconfig 规则(如 /etc/fonts/conf.d/ 下的 XML)仍会影响最终渲染效果(比如字重映射、hinting 开关),但不会覆盖 gsettings 指定的字体族名。
重置回系统默认字体
不想折腾时,一键恢复最保险:
gsettings reset org.gnome.desktop.interface document-font-name<br>gsettings reset org.gnome.desktop.interface monospace-font-name<br>gsettings reset org.gnome.desktop.wm.preferences titlebar-font
注意:gsettings reset 不会删字体文件,也不会动 fontconfig 缓存,只是把 GNOME 的偏好设为空,让它 fallback 到内置默认(通常是 Ubuntu 或 Cantarell)。如果重置后显示异常,大概率是字体文件缺失或 fc-cache 损坏,此时再跑一遍 sudo fc-cache -fv。
真正麻烦的永远不是“设哪个字体”,而是确保那个字体名能被系统稳定识别并加载——所有后续设置都建立在这一步之上。










