我在各种论坛上发现了许多问题,Mac 用户locale
在通过 SSH 登录 Linux 系统时抱怨错误LC_CTYPE=UTF-8
设置不正确。
更详细地说,MacOS 上的 shell 似乎设置了这个值,然后(如果您在终端中启用了该选项等)LC_*
当您 SSH 进入时,您的本地变量会导出到远程系统。
Linux 坚持LC_CTYPE
需要将其设置为有效的语言环境(有时您可以localegen
在 Linux 系统上以管理员身份修复此问题),但UTF-8
首先不是语言环境。
我的主要问题是,这是 MacOS 中的错误吗?还是 Linux 坚持需要将变量设置为完全指定的语言环境名称是错误的?
其次,为了能够争论哪一个是正确的以及为什么,这是在哪里指定的?
第三,这些 Mac 用户(包括我自己)是否可以或应该做些不同的事情?
明显的解决方法是放置类似的东西
LC_CTYPE=en_US.UTF-8
在您的 中.bash_profile
,但这显然只能为您的个人帐户解决它,并硬编码一个可能与您的其他locale
设置一致或不一致的值。