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

Hie*_*yen 12 linux centos vagrant centos6

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

locale

我跑的时候 locale

-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
Run Code Online (Sandbox Code Playgroud)

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

Dom*_*nik 29

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

LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

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

sudo nano /etc/environment
Run Code Online (Sandbox Code Playgroud)

编辑

对于与Debian相关的发行版(Ubuntu等),您应该检查它/etc/default/locale是否为空.这是选择的结果没有dpkg-reconfigure locales其中,如果用户通过SSH访问建议(见Debian的维基).

/etc/environment自Debian Lenny(5.0)以来已弃用.


ken*_*orb 8

您可以设置LC_ALLC,例如

export LC_ALL=C
Run Code Online (Sandbox Code Playgroud)

或连接到虚拟机之前的前缀:

LC_ALL=C ssh vagrant@localhost
Run Code Online (Sandbox Code Playgroud)

注意:您还可以考虑设置SetEnvSSH 配置 ( man ssh_config),如下所述。


要使其永久化,您可以在您的 中添加以下规则~/.ssh/config

Host *
  SetEnv LC_ALL=C
Run Code Online (Sandbox Code Playgroud)

假设您的服务器收到以下行/etc/ssh/sshd_config

AcceptEnv LANG LC_*
Run Code Online (Sandbox Code Playgroud)

另请检查:man ssh_configman sshd_config


小智 5

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

vi /root/.bashrc

export LC_ALL=en_US.UTF-8

export LANG=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

然后重启你的系统。


ika*_*men 5

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

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

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

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