FAQ
2020-10-22
解决Mac下远程cannot change locale (UTF-8) No such file or directory
果然所有问题都是有答案的,Mac 上 ssh 这个问题好长时间,早有人提供方法分析。收录:
问题描述
- Mac下设置第一语言为English
- 在Terminal或者iTerm2上登录远端Linux时,Linux的prompt提示
setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory - 登录Linux后无法正常显示中文
原因
- Mac下设置为英文后,locale字符集默认是"C",Terminal或者iTerm2中有选项会自动设置LC_CTYPE或者LC_LANG为UTF-8
- Mac下ssh客户端的配置文件
/etc/ssh/ssh_config中,会尝试设置本地的LANG到远端服务器中。 - 远端Linux服务器,没有UTF-8的字符集,就导致了setlocale的警报
解决办法
为了登录而来,修改每个服务器的字符集,操作上是不可行的。最简单的办法就是修改Mac本地的ssh客户端配置,不要将LANG设置发送到服务器端。
打开ssh配置文件,sudo vim /etc/ssh/ssh_config, 注释掉如下几行
|
1
2
|
Host *
SendEnv LANG LC_*
|
重新ssh到服务器,就不会再有setlocale的告警了。
历史上的今天
- 2013-10-22 2013年11月17日-第三届Oracle技术嘉年华再度来袭
- 2010-10-22 Oracle统计信息的收集、管理与清除
- 2008-10-22 《深入浅出Oracle》更名《深入解析Oracle》
- 2008-10-22 MMNL进程与ORA-07445 ktsmg_get_threshold
- 2006-10-22 就这样 我们的年华开始老去
- 2005-10-22 奇妙之旅-纵横双龙山之一