如何解决在Debian挤压区域设置

我偶尔会出现语言环境错误,并试图运行dpkg-reconfigure语言环境来解决此问题。 这是输出:

:~$ sudo dpkg-reconfigure locales perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 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 /usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory /usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory Generating locales (this might take a while)... en_US.UTF-8... done Generation complete. perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = "C" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = "C" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 

我查找/ usr / bin / locale,但它不存在于我的系统上。 我需要创build它吗? 我在那里放什么?

另外我发现一个相关的问题 ,说他的问题的原因是在sshd_config文件。 该文件具有以下条目:

 AcceptEnv LANG LC_* 

我主要担心这可能会导致我的VPS的问题,否则,如果没什么特别的,我会很乐意忽略这个问题。 我该怎么办? 谢谢!

    如果发生这种情况时SSH到您的盒子,而不是在控制台上,尝试重新configuration您的SSH客户端 (在本地计算机上)。 在Mac OS X上编辑/ private / etc / ssh_config并注释掉

     # SendEnv LANG LC_* 

    感谢Rasberry Pi公告板上的bredman职位。

    第一:

     sudo apt-get purge locales 

    然后:

     sudo aptitude install locales 

    和着名的:

     sudo dpkg-reconfigure locales 

    这摆脱了语言环境的系统,然后重新安装语言环境并将libc6从2.19降级到2.13这是问题。 然后再configuration区域设置。

    我有这个问题很长一段时间,所有关于dpkg-reconfigure locales,locale-gen等的build议都没有帮助。 所以我用了一些环境variables,我发现系统在LC_CTYPE环境variables上正在运行! UTF-8不是一个有效的值。 将其设置为en_US.UTF-8修复了它。

    为了使更改永久,我跑了

     update-locale LC_CTYPE=en_US.UTF-8 

    写入/etc/default/locale 。 然后重新启动系统使其完全生效。

    我以前在Debian安装过程中看到过这种情况,虽然很烦人,但我从来没有见过这个问题。

    如果

      /usr/bin/locale 

    缺less,请尝试(以root身份):

      apt-get install libc-bin 

    应该安装libc-bin,提供/ usr / bin / locale。

    在你的sshd_config中的AcceptEnv行是相当标准的,不应该是你的问题的原因在这里。

    如果在ssh到远程系统时发生错误,并且不想修改远程系统(例如通过更改sshd_config),则可以在本地系统上执行以下操作(假定为bash)

     export LC_ALL=en_US export LANGUAGE=en_US 

    然后ssh user@remote

    做了以下,作为Manoj,但添加到#〜/ .bashrc:

     export LC_ALL=en_US.utf8 export LANGUAGE=en_US.utf8 

    在我新鲜的Debian安装(最小)区域设置完全丢失。 安装它( aptitude install locales )和运行locale-gen做了伎俩。 所以,大家好,乍得Feller提到,但检查安装程序包locales安装第一。

    如果在/etc/ssh/sshd_configUsePAM no )中禁用了ssh的PAMauthentication,那么/etc/pam.d/login中的相关configuration无效:

    session required pam_env.so readenv=1 envfile=/etc/default/locale

    结果是: /etc/default/locale似乎没有效果。

    所以你必须configuration你的客户端来发送LAN​​Gvariables,或者像~/.profile~/bashrc等configuration文件脚本中导出envvariables

    更多: http : //wiki.debian.org/Locale#Standard

    我正在使用德语VPS,因为没有安装英文语言包,所以无法更改语言环境。

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

     aptitude install language-pack-en 

    在Debian系统上,这将解决您的问题:

    apt-get install locales-all

    在Ubuntu系统上安装特定的语言包,例如:

    apt-get install language-pack-en

    locale-gen en_US.UTF-8