Ubuntu系统缺少中文字体支持时,会出现乱码。
【安装】
1. 安装开源中文字体:
sudo apt install fonts-wqy-zenhei fonts-wqy-microhei fonts-arphic-ukai fonts-arphic-uming
2. 安装中文语言包:
sudo apt install language-pack-zh-hans
3. 配置系统语言,在界面中选择 zh_CN.UTF-8 :
sudo dpkg-reconfigure locales
4. 刷新字体缓存,让系统识别新字体:
sudo fc-cache -fv
5. 重启终端。
6. 安装中文输入法
安装输入法框架和中文引擎:
sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-config-qt fcitx5-configtool
设置系统输入法为 fcitx5:
im-config -n fcitx5
参考:https://www.cnblogs.com/wzzkaifa/p/19080713
【卸载】
把 Ubuntu 服务器的默认语言和字体改为 en_US 是对的,因为服务器本身通常不涉及图形界面或中文显示,用 en_US.UTF-8 能避免很多不必要的编码问题,也更方便搜索英文报错信息。
虽然你提到“字体”,但 Linux 服务器核心的“语言环境”是由 locale 控制的,它决定了系统如何显示字符、编码和消息。服务器一般不需要安装字体,只需把 locale 设为 en_US.UTF-8 即可。
操作步骤
1. 生成并设置 locale
Ubuntu 服务器默认可能没有生成 en_US.UTF-8,需要先确保它存在,再设为默认。
# 检查是否已有 en_US.UTF-8
locale -a | grep en_US.utf8
# 如果没有,直接生成它
sudo locale-gen en_US.UTF-8
# 将系统默认 locale 设为 en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8
这里用 LC_ALL 是为了确保所有子类别都统一为英文,避免部分消息仍为中文的情况。
2. 让设置生效
update-locale 修改的是配置文件,对当前已登录的 shell 不会立即生效。可以选择其中一种:
- 重新登录(推荐):退出 SSH 再连一次,最简单可靠。
- 临时切换:如果不想断开会话,手动 export 一下:
export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8
3. 验证
重新登录或 export 后,运行:
locale
应该看到所有 LC_* 和 LANG 都显示为 en_US.UTF-8,没有报错或乱码。
补充说明
- 关于“字体”:在无图形界面的服务器上,终端显示的字体是由你本地 SSH 客户端决定的,服务器端不管理字体。你只需要在本地终端软件(如 SecureCRT、PuTTY、Windows Terminal)里把字符编码设为 UTF-8,并选一个支持等宽英文的字体即可。
- 不要用
dpkg-reconfigure locales:它会弹出交互式全屏选择界面,在服务器上操作反而麻烦。直接用locale-gen+update-locale更简洁。 LC_ALL的影响:把LC_ALL也设为en_US.UTF-8后,系统日志、程序输出都会变成英文。如果你习惯看中文日志,可以只设LANG,不设LC_ALL,但那样部分消息可能仍是中文。
执行完后,用 locale 确认一下,如果所有项都指向 en_US.UTF-8,就说明改好了。