eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 2020 :国产数据库名录和产品信息一览-墨天轮 | Blog首页 | Oracle Database 21c 十大新特性一览 - New Features »

解决Mac下远程cannot change locale (UTF-8) No such file or directory
modb.pro

果然所有问题都是有答案的,Mac 上 ssh 这个问题好长时间,早有人提供方法分析。收录:

问题描述

  • Mac下设置第一语言为English
  • 在Terminal或者iTerm2上登录远端Linux时,Linux的prompt提示 setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
  • 登录Linux后无法正常显示中文

原因

  1. Mac下设置为英文后,locale字符集默认是"C",Terminal或者iTerm2中有选项会自动设置LC_CTYPE或者LC_LANG为UTF-8
  2. Mac下ssh客户端的配置文件/etc/ssh/ssh_config中,会尝试设置本地的LANG到远端服务器中。
  3. 远端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文章:
    >> 2010-10-22文章:
    >> 2008-10-22文章:
    >> 2006-10-22文章:
    >> 2005-10-22文章:

By eygle on 2020-10-22 11:48 | Comments (0) | FAQ | 3413 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com