cmatrix 出现乱码,通常是终端字符集、字体或 locale 设置的问题。可以按下面顺序排查和修复:
一、最常见原因:终端不支持 UTF‑8 或字体缺失
1️⃣ 确认终端支持 UTF‑8
在终端执行:
locale
正常应看到类似:
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
如果不是 UTF‑8:
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
(永久生效可写入 ~/.bashrc 或 ~/.zshrc)
2️⃣ 安装 / 切换支持字符的字体(非常关键)
cmatrix 使用特殊字符(如 █ ░ ▒ ▓),如果字体不支持就会乱码。
推荐字体:
- Noto Sans Mono
- Fira Code
- JetBrains Mono
- DejaVu Sans Mono
Ubuntu / Debian:
sudo apt install fonts-noto fonts-dejavu
Arch:
sudo pacman -S noto-fonts ttf-dejavu
macOS(Homebrew):
brew install --cask font-fira-code
安装后:
- 在终端设置里 切换字体
- 关闭并重新打开终端
二、cmatrix 本身参数问题
1️⃣ 禁用 UTF‑8(如果终端不支持)
cmatrix -u 2 -C cyan -b
或强制 ASCII:
cmatrix -a
-a 使用 ASCII 字符,避免乱码。
三、检查 cmatrix 版本
老版本对 UTF‑8 支持不好。
cmatrix -V
建议安装较新版本:
Ubuntu / Debian
sudo apt install cmatrix
编译安装(推荐)
git clone https://github.com/abishekvashok/cmatrix.git
cd cmatrix
./configure
make
sudo make install
四、终端模拟器问题(常见于 Windows / 老终端)
Windows
- 不要使用 cmd
- 使用:
- Windows Terminal
- 并设置字体为
Cascadia Code或Noto Mono
Linux
- 推荐:
gnome-terminalkittyalacritty
五、快速自检清单 ✅
| 检查项 | 是否 |
|---|---|
| locale 是 UTF‑8 | ✅ |
| 终端字体支持特殊字符 | ✅ |
使用 cmatrix -a 不乱码 |
✅ |
| 非 Windows cmd | ✅ |
六、最稳妥方案(一步到位)
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
cmatrix -a
如果你愿意,可以告诉我:
- 操作系统(Ubuntu / Arch / macOS / Windows)
- 终端名称
- 是否远程 SSH
我可以给你精确到命令级别的修复方案。