在 CentOS 下运行 cmatrix 出现乱码,通常不是程序本身的问题,而是终端字符集 / 字体 / 语言环境不匹配导致的。下面按常见原因给你排查和解决思路。
locale
正常应看到类似:
LANG=en_US.UTF-8
LC_CTYPE=UTF-8
如果看到:
LANG=C
LANG=POSIX
或没有 UTF-8,就会乱码。
✅ 修复方法
localectl set-locale LANG=en_US.UTF-8
或临时:
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
然后重新登录。
cmatrix 使用大量 特殊字符 / 方块字符。
在终端设置中更换为以下字体之一:
✅ 推荐字体:
❌ 不推荐:
如果你是通过 Xshell / SecureCRT / PuTTY 连接 CentOS:
必须设置为:
UTF-8
例如:
文件 → 属性 → 终端 → 编码 → UTF-8Window → Translation → UTF-8cmatrix -b
cmatrix -u 2
或:
cmatrix -C cyan
如果字符变正常,说明是 字符集渲染问题。
| 场景 | 解决方案 |
|---|---|
| CentOS 7 + 中文环境 | 改用 en_US.UTF-8 |
| 使用 screen / tmux | 先 export LANG=en_US.UTF-8 |
| 最小化安装 | 安装字体:yum install dejavu-sans-mono-fonts |
echo $LANG
locale
fc-list | grep -i mono
如果你只是想看效果,不想折腾:
export LANG=C
cmatrix
⚠️ 缺点:字符可能变简单,但不乱码。
如果你愿意,可以告诉我:
我可以给你精确到一步的修复命令。