当我连接到vagrant centos 6时,我收到了警告setlocale LC_CTYPE

时间:2016-02-25 08:07:52

标签: linux centos vagrant centos6

我非常初学流浪汉。我尝试在我的计算机上创建一个虚拟机(cent os 6)。当我运行vagrant ssh。它警告

SET !LOOP -9999999 SET urlFolder EVAL("('{{urlAddress}}' != '{{!URLCURRENT}}') ? '*' : 'noSuchFolder';") SET urlAddress EVAL("('{{urlAddress}}' != '{{!URLCURRENT}}') ? '{{!URLCURRENT}}' : '{{urlAddress}}';") SET !EXTRACT {{urlAddress}} SET !ERRORIGNORE YES SAVEAS TYPE=EXTRACT FOLDER={{urlFolder}} FILE=dnlUrls.txt SET !ERRORIGNORE NO WAIT SECONDS=1

当我运行-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

locale

我搜索了一个小时,但我还是无法解决这个问题。请帮帮我

6 个答案:

答案 0 :(得分:24)

对于CentOS或Amazon AMI Linux,请将这些行添加到/etc/environment(如果它不存在则创建它):

LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8

要通过SSH控制台编辑此文件,请尝试

sudo nano /etc/environment

修改

对于与Debian相关的发行版(Ubuntu等),您应该检查/etc/default/locale是否为空。这是在dpkg-reconfigure locales中选择的结果,如果用户通过SSH访问(见Debian Wiki),则会建议<。>

/etc/environmentdeprecated since Debian Lenny (5.0)

答案 1 :(得分:1)

在bashrc的root下添加以下内容:

vi /root/.bashrc

export LC_ALL=en_US.UTF-8

export LANG=en_US.UTF-8

然后重新启动系统。

答案 2 :(得分:1)

请尝试下一步:

localedef -i en_US -f UTF-8 en_US.UTF-8

答案 3 :(得分:1)

就我而言,在Slackware64 14.1上我收到错误:

-bash: warning: setlocale: LC_ALL: cannot change locale (en_DK.UTF-8)

原来是缺少glibc包。

安装包:

glibc-2.17-x86_64-11_slack14.1
glibc-i18n-2.17-x86_64-11_slack14.1

解决了这个问题。

我的/etc/profile.d/lang.sh包含:

export LANG=en_DK.UTF-8
export LANGUAGE=en_DK.UTF-8
export LC_ALL=en_DK.UTF-8

export LC_COLLATE=C

享受。

答案 4 :(得分:0)

您可以将LC_ALL设置为C,例如

export LC_ALL=C
连接到VM之前的

或前缀:

LC_ALL=C ssh vagrant@localhost

答案 5 :(得分:0)

这可能是由您的终端设置引起的。

对于 iTerm2,取消选中此设置:

Profiles -> Terminal -> "Set locale variables automatically"

上下文:如果您在无法修改区域设置的共享节点上工作,警告可能是由于您的终端尝试(但未能)更改区域设置所致。