温馨提示×

如何修复Linux cmatrix乱码

小樊
46
2026-08-16 17:07:19
栏目: 智能运维

cmatrix 出现乱码,通常是终端字符编码、字体或 locale 设置的问题。可以按下面顺序排查和修复。


一、最常见原因:终端不支持或字体缺失

1️⃣ 确认终端支持 UTF‑8

在终端执行:

locale

重点看:

LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8

如果不是 UTF‑8,可临时设置:

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

永久生效(以 bash 为例):

echo "export LANG=en_US.UTF-8" >> ~/.bashrc
echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc
source ~/.bashrc

2️⃣ 安装 / 切换支持字符的字体(非常关键)

推荐字体

  • DejaVu Sans Mono
  • Noto Mono
  • WenQuanYi Micro Hei Mono
  • Source Code Pro

安装字体(示例)

# Debian / Ubuntu
sudo apt install fonts-dejavu-core fonts-noto-mono

# Arch
sudo pacman -S ttf-dejavu noto-fonts

# CentOS / Rocky
sudo yum install dejavu-sans-mono-fonts

安装后:

  • 关闭并重新打开终端
  • 在终端设置中手动选择字体

二、cmatrix 参数问题

1️⃣ 禁用 Unicode(如果终端不支持)

cmatrix -u 2 -b -C cyan

或强制 ASCII:

cmatrix -a

三、终端类型(TERM)不正确

查看当前终端类型:

echo $TERM

推荐值:

export TERM=xterm-256color

四、SSH 远程连接乱码

1️⃣ 确认本地终端是 UTF‑8

  • Windows:Windows Terminal / MobaXterm 设置为 UTF‑8
  • macOS / Linux:默认一般没问题

2️⃣ 远程服务器设置

sudo dpkg-reconfigure locales

勾选:

en_US.UTF-8
zh_CN.UTF-8

五、使用替代方案(彻底避免乱码)

如果仍然乱码,可换用类似工具:

工具 安装
unimatrix pip install unimatrix
pmatrix 手动编译
tty-matrix GitHub 项目

六、快速自检清单 ✅

locale
echo $TERM
fc-list | grep -i dejavu
cmatrix -a

如果你愿意,可以告诉我:

  • 你用的是 哪个 Linux 发行版
  • 本地还是 SSH
  • 终端软件(如 GNOME Terminal / Konsole / MobaXterm)

我可以给你精确到命令级别的解决方案。

0