LC_ALL:无法更改区域设置

LC_ALL:无法更改区域设置

当我通过 PuTTY 登录我的服务器(Debian 7)时,我收到一条消息:

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

然后,当我尝试运行几乎任何命令时,我都会得到以下信息:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_GB:en",
        LC_ALL = "en_GB.UTF-8",
        LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

我在网上到处寻找帮助。我的 /etc/environment 文件中有 'LC_ALL="en_GB.UTF-8"' 。

打字;

locale -a

打印以下内容:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
C.UTF-8
POSIX

这是 locale-gen 的结果:

root@vps94194:/# locale-gen
-bash: locale-gen: command not found

update-locale 命令也是如此。

我无法通过 aptitude 重新安装区域设置,因为错误阻止了它。出于同样的原因,我无法使用 dpkg 重新配置。

我真的不知道如何解决这个问题。到目前为止,一切都没有任何改变。

答案1

使用:

export LC_ALL=C

aptitude并通过(locales包或等效的东西)安装所需的东西。

如果由于之前的失败而仍然出现一些错误,请首先运行:

apt-get install -f

答案2

我使用的是德语 VPS,无法更改区域设置,因为没有安装英语语言包。

安装后我终于可以更改语言环境

aptitude install language-pack-en

答案3

考虑将以下规则添加到您的~/.ssh/config

Host *
  SetEnv LC_ALL=C

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

AcceptEnv LANG LC_*

另请检查:man ssh_configman sshd_config

相关内容