修复 SSH 登录时出现的 setlocale 警告问题
› 社区话题 › 修复 SSH 登录时出现的 setlocale 警告问题
- 该话题为空。
正在查看 0 条回复

- 作者帖子
- 2025年7月19日 - 下午5:54 #775

追光管理员? 问题描述
在使用 SSH 登录服务器时,出现了如下警告信息:
-bash: warning: setlocale: LCCTYPE: cannot change locale (UTF-8): No such file or directory虽然该警告不影响实际使用,但每次登录都会显示,影响体验。为了彻底解决这个问题,我进行了排查并成功修复。
? 问题分析
通过执行以下命令查看系统支持的 locale:
locale -a输出结果中显示系统已经安装了 enUS.utf8、zhCN.utf8 等 UTF-8 编码的 locale,但没有 UTF-8(注意 .utf8 和 UTF-8 是两个不同的 locale 名称)。
SSH 客户端默认尝试使用 UTF-8 编码,而服务器端未识别该 locale,导致出现警告。
✅ 解决方案
根据系统环境和需求,我采用了创建软链接的方法,让系统识别 UTF-8 编码:
ln -sf /usr/lib/locale/enUS.utf8 /usr/lib/locale/UTF-8此方法快速、有效,无需修改 SSH 配置或重新编译 locale。
? 修复结果
执行命令后,重新通过 SSH 登录服务器:
ssh 账号@服务器✅ 警告信息不再出现,问题成功解决!
? 附加建议
如果使用的是其他 Linux 发行版(如 Ubuntu),可以使用 update-locale 或 dpkg-reconfigure locales 来管理 locale。
若你有多个用户或服务器,建议统一 locale 设置,避免环境差异带来的问题。
- 作者帖子
正在查看 0 条回复
- 在下方一键注册,登录后就可以回复啦。