Я использую 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
в порядке, и консоль работает нормально. Я не делаю никаких ручных экспортов переменных, и я не смог найти, почему локали находятся в таком искаженном состоянии.
Я пробовал переустановить языковые пакеты, заново сгенерировать локали и искал в различных dot-файлах в моем домашнем каталоге, но не нашел ничего, указывающего на возможную проблему.
Есть идеи, что может так странно испортить мои локации?