当我通过 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_config
和man sshd_config
。