终端字体颜色分两类:PS1提示符颜色由ANSI转义序列控制,需用[和]包裹且及时重置;普通文本颜色由终端调色板决定,需配合dircolors规则与LS_COLORS生效,二者缺一不可。

终端字体颜色分两类:提示符(PS1)颜色和文本内容颜色,改错地方会导致颜色不生效或乱码。
修改 PS1 提示符文字颜色(如用户名、路径)
这是最常见也最容易混淆的“字体颜色”——它控制的是 PS1 变量里显示的部分,比如 \u@\h:\w\$ 这些字符的颜色。不是整个终端所有文字都变色。
- 颜色代码必须用
\[\e[F;Bm\]包裹,F是前景色(30–37),B是背景色(40–47),例如\[\e[32m\]是绿色文字,\[\e[1;33m\]是高亮黄色 - 每个颜色段后必须接
\[\e[m\]重置,否则后续所有命令输出都会被染色 - 别直接写
\033,在.bashrc里推荐统一用\e或\033,但不能混用;\e更可读,\033兼容性略好 - 修改完要运行
source ~/.bashrc生效,而不是重启终端
示例(绿色用户名 + 蓝色路径):PS1='\[\e[32m\]\u@\h\[\e[m\]:\[\e[34m\]\w\[\e[m\]\$ '
修改终端内普通文本颜色(ls、cat、man 等命令输出)
这类颜色由终端的“调色板(palette)”决定,和 PS1 无关。你看到的 ls 彩色目录、红色错误信息,都来自这个调色板。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- GNOME 终端默认使用系统主题配色,想自定义得先取消勾选 “Use colors from system theme”
- 进入终端 → Preferences → Profiles → Colors → 取消 “Use colors from system theme”,再选 “Custom”
- 调色板共 16 色(0–15),第 0 色是黑色(
ls普通文件)、第 1 色是红色(目录链接、错误)、第 2 色是绿色(可执行文件)……改错编号会破坏命令输出可读性 - 如果用了
terminator,它的调色板在~/.config/terminator/config的palette字段里,格式是十六进制颜色串,顺序固定不可跳
改完颜色后 ls 还是黑白?检查 dircolors 配置
ls 是否彩色,不只取决于终端调色板,还依赖 dircolors 规则。很多用户改了终端颜色却没效果,卡在这一步。
- 运行
ls --color=always测试是否支持强制着色;若仍无色,说明LS_COLORS未加载 - 检查
~/.dircolors是否存在,不存在就生成:dircolors -p > ~/.dircolors - 确保
.bashrc里有这行:eval "$(dircolors -p ~/.dircolors 2>/dev/null)",否则规则不生效 -
LS_COLORS里的颜色编号(如31表示红色)必须和终端当前调色板第 1 号色一致,否则颜色错位
字体颜色和背景色冲突导致看不清文字
白底黑字、黑底黄字看着爽,但容易忽略终端对“光标”和“选中文字”的颜色继承逻辑。
- GNOME 终端里,即使设了白底黑字,选中文本时若背景色没同步调整,可能变成白底白字——得手动设
highlight background color - 某些主题(如 Yaru-dark)默认禁用终端透明度,但如果你启用了透明背景,又设了浅色文字,DPI 缩放或 HiDPI 屏下文字边缘会发虚
- 用
gsettings set org.gnome.desktop.interface text-scaling-factor 1.25放大 UI 字体时,终端字体大小不会自动同步,需单独调monospace-font-name - 虚拟机里(如 VirtualBox)常因显卡驱动缺失导致颜色渲染异常,此时优先尝试
terminator或xfce4-terminal替代 GNOME Terminal
真正麻烦的从来不是改哪一行配置,而是改完之后——某条命令突然不显示、vim 语法高亮消失、tmux pane 边框变色、甚至 SSH 到远程机器后颜色错乱。这些都不是孤立问题,而是终端、shell、应用三方颜色协议咬合不严的表现。

















