最直接方法是通过GNOME Terminal首选项修改:右键终端空白处→“Preferences”→选中配置文件→“Text”标签页→勾选“Custom font”→点击字体名选择等宽字体并调整大小,新窗口自动生效。

终端首选项里改字体最直接
Ubuntu 默认终端(GNOME Terminal)的字体设置不走系统全局配置,而是独立在自身首选项里。想改具体字体,别去动 /etc/fonts/ 或 ~/.Xresources,那只会让终端无视——它压根不读那些。
操作路径很固定:右键终端空白处 → “Preferences” → 左侧选中当前配置文件(通常是 “Unnamed” 或你自定义的名字)→ 右侧点 “Text” 标签页。
- 勾选 “Custom font” 才能激活字体选择器
- 点击右侧的字体名(默认是
Monospace Regular 12),弹出的列表只显示真正适配终端的等宽字体(monospace类) - 预览区在列表底部实时刷新,调大小也在这里拖动滑块,不是输数字
- 改完不用重启终端,新窗口自动生效;已有窗口需关闭重开
为什么有些字体在列表里找不到
终端只加载已安装、且被识别为等宽(monospace)的字体。哪怕你双击安装了 Source Code Pro 或 Fira Code 的 .ttf 文件,若没触发字体缓存重建,它就不会出现在下拉菜单里。
验证是否真装好了:fc-list :spacing=100 | grep -i "source code\|fira\|jetbrains" —— 这个命令只列等宽字体,:spacing=100 是关键过滤条件。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 如果没输出,说明字体文件没放对位置或没刷新缓存
- 把
.ttf放到~/.fonts/(旧方式)或~/.local/share/fonts/(推荐),然后运行fc-cache -fv - 注意:系统级安装(
/usr/share/fonts/)需要sudo fc-cache -fv,但普通用户通常没必要 - 某些字体即使装了,也可能因缺少
monospace声明被终端跳过——这时看fc-match monospace返回的 fallback 字体,就知道终端实际认哪些
命令行批量设置终端字体(适合脚本或远程配置)
GNOME Terminal 的配置存在 dconf 数据库里,用 dconf 命令可绕过 GUI 直接写入。比改 gsettings 更底层、更稳定,尤其适合部署场景。
先查当前配置路径:dconf dump /org/gnome/terminal/legacy/profiles:/,找到你用的 profile ID(比如 :b1dcc9dd-5262-4d8d-a8ff-654344f794ad),再执行:
dconf write "/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a8ff-654344f794ad/font" "'Fira Code SemiBold 13'"
- 字符串必须用单引号包裹,且带空格的字体名(如
Fira Code)不能省略引号 - 字号必须写在字体名后面,中间一个空格,不能用冒号或等号
- 字体名要和
fc-list输出的 exact name 一致(区分大小写,含空格) - 改完立刻生效,但已打开的终端窗口不会刷新,新开窗口才用新设置
中文显示异常?别硬塞非等宽字体
终端里中文发虚、错位、或根本不出,大概率是因为选了非等宽中文字体(比如 WenQuanYi Zen Hei 虽然名字带 “Hei”,但它不是严格等宽)。Ubuntu 终端要求每个字符宽度一致,否则换行、对齐全乱。
- 优先试
Noto Sans CJK SC、WenQuanYi Micro Hei Mono、YaHei Consolas Hybrid这类明确标 “Mono” 的 - 用
fc-list :lang=zh:spacing=100筛出可用的中文字体,再挑名字含 “Mono” 或 “Regular” 的 - 别指望
Microsoft YaHei直接可用——它本身不是等宽,强行用会导致光标偏移、ls列表错行 - 如果非要 YaHei 风格,得用 hybrid 字体(如
YaHei Consolas Hybrid),它是把 YaHei 的汉字和 Consolas 的 ASCII 字符拼在一起的等宽变体
真正麻烦的从来不是“怎么设”,而是设完发现字不对齐、中文挤成一团、或者 vim 里光标跳错位——这些基本都卡在字体本身的等宽属性上,不是配置漏了哪一步。

















