我是一个初学者。我试图用vagrant在我的电脑上创建一个虚拟机(cent os 6)。当我运行vagrant ssh时,它会打印以下警告:
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
当我运行locale
时,得到的结果是:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
我找了一个小时,但还是没能修好。
8条答案
按热度按时间zu0ti5jz1#
对于CentOS或Amazon AMI Linux,将以下行添加到
/etc/environment
(如果不存在,请创建它):要通过SSH控制台编辑此文件,请尝试
编辑
对于与Debian相关的发行版(Ubuntu等),您应该检查
/etc/default/locale
是否为空。这是在dpkg-reconfigure locales
中选择 None 的结果,如果用户通过SSH访问,建议选择 * None *(参见Debian Wiki)。/etc/environment
自Debian Lenny(5.0)起已被弃用。ojsjcaue2#
在bashrc中的root下添加以下内容:
然后重新启动系统。
mrfwxfqh3#
您可以将
LC_ALL
设置为C
,例如或前缀:
注意:您也可以考虑为SSH配置(
man ssh_config
)设置SetEnv
,如下所述。要使其永久化,可以在
~/.ssh/config
中添加以下规则:假设您的服务器在
/etc/ssh/sshd_config
中获得了以下行:同时检查:
man ssh_config
和man sshd_config
。b09cbbtk4#
在我的例子中,在Slackware 64 14.1上,我得到了错误:
原来是缺少glibc包。
安装软件包:
解决了问题。
我的/etc/profile.d/lang.sh包含:
请慢用
f0brbegy5#
请尝试下一步:
zsohkypk6#
这可能是由终端设置引起的。
对于iTerm2,取消选中此设置:
Profiles -> Terminal -> "Set locale variables automatically"
.上下文:如果您正在一个共享节点上工作,而您不能修改区域设置,则该警告可能是由您的终端尝试(并失败)更改区域设置引起的。
dy2hfwbg7#
对于在MacOS中遇到此错误的用户:打开/etc/ssh/ssh_config文件(在您喜欢的任何编辑器中,我在示例中使用了vi编辑器)
在此文件中,注解掉下面的行:
(use#用于注解:(一个月一个月)
请关闭文件。关闭并重新打开终端,然后重试ssh命令。
有关该问题的详细信息,请查看此技术博客:https://www.cyberciti.biz/faq/os-x-terminal-bash-warning-setlocale-lc_ctype-cannot-change-locale/
4ioopgfo8#
我用的是macOS,我把下面的内容放到我的
~/.ssh/config
里:在我看来,这是更改ssh配置的最不具侵入性的方法。