区域设置为不存在的区域

区域设置为不存在的区域

我正在使用 Kubuntu(Ubuntu 14.04.1 LTS)

$uname -a
Linux mobile2 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:30:01 UTC 2014 i686 i686 i686 GNU/Linux)

我在 Konsole(KDE 的终端仿真器)程序的区域设置方面遇到了一个非常奇怪的问题。如果我登录到正常控制台,它不存在。

我已将语言环境设置为保加利亚语 (bg_BG),但是最近当使用西里尔字母时,我开始在控制台中收到乱码输出,甚至我的 Thunderbird 也无法处理具有西里尔字母名称的文件夹。

事实证明,我的语言环境不知何故被搞乱了。以下是我从locale命令中得到的结果:

$locale
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_ALL to default locale: No such file or directory
LANG=en_BG.UTF-8
LANGUAGE=en:bg:es:en
LC_CTYPE="en_BG.UTF-8"
LC_NUMERIC=en_BG.UTF-8
LC_TIME=en_BG.UTF-8
LC_COLLATE="en_BG.UTF-8"
LC_MONETARY=en_BG.UTF-8
LC_MESSAGES="en_BG.UTF-8"
LC_PAPER=en_BG.UTF-8
LC_NAME=en_BG.UTF-8
LC_ADDRESS=en_BG.UTF-8
LC_TELEPHONE=en_BG.UTF-8
LC_MEASUREMENT=en_BG.UTF-8
LC_IDENTIFICATION=en_BG.UTF-8
LC_ALL=

正如您可能猜到的,没有这样的语言环境en_BG。我在中有正确的设置/etc/default/locale

$cat /etc/default/locale 
LANG="en_US.UTF-8"
LC_NUMERIC="bg_BG.UTF-8"
LC_TIME="bg_BG.UTF-8"
LC_MONETARY="bg_BG.UTF-8"
LC_PAPER="bg_BG.UTF-8"
LC_NAME="bg_BG.UTF-8"
LC_ADDRESS="bg_BG.UTF-8"
LC_TELEPHONE="bg_BG.UTF-8"
LC_MEASUREMENT="bg_BG.UTF-8"
LC_IDENTIFICATION="bg_BG.UTF-8

如果我以 root 身份登录(我已启用 root 权限),设置locale正确,控制台工作正常。我没有手动导出任何变量,也找不到语言环境为何处于如此混乱的状态。

我尝试重新安装语言包、重新生成语言环境,并搜索主目录中的各种点文件,但没有找到任何指向问题所在的东西。

有什么想法会以这种奇怪的方式扰乱我的语言环境吗?

相关内容