LINUX.ORG.RU

Настройка локали в кубунту 13.10 64bit

 , проблемы с кодировкой,


1

2

Привет, люди. Не могу избавиться от назойливых ошибок локали и неполной русификации.

root@Aspire-E1-571G:~# 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=ru_RU.UTF-8
LANGUAGE=ru:en
LC_CTYPE=\"ru_RU.UTF-8\"
LC_NUMERIC=\"ru_RU.UTF-8\"
LC_TIME=\"ru_RU.UTF-8\"
LC_COLLATE=\"ru_RU.UTF-8\"
LC_MONETARY=\"ru_RU.UTF-8\"
LC_MESSAGES=\"ru_RU.UTF-8\"
LC_PAPER=\"ru_RU.UTF-8\"
LC_NAME=\"ru_RU.UTF-8\"
LC_ADDRESS=\"ru_RU.UTF-8\"
LC_TELEPHONE=\"ru_RU.UTF-8\"
LC_MEASUREMENT=\"ru_RU.UTF-8\"
LC_IDENTIFICATION=\"ru_RU.UTF-8\"
LC_ALL=

Пробовал locale-gen ru_RU ru_RU.UTF-8 и dpkg-reconfigure locales, не помогает избавиться от ошибок. В настройках прописана страна русская (хотя до этого я указал Казахстан, но потом поменял, так как там кодировка была другая не UTF-8). Также preferred language выбран русский язык. В консоли русские буквы не отображаются, так как и во многих приложениях. Что делать?



Последнее исправление: vladamir (всего исправлений: 1)
Ответ на: комментарий от vladamir

При апгрейде у меня вылазит ошибка

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru:en",
        LC_ALL = "",
        LC_TIME = ""ru_RU.UTF-8"",
        LC_MONETARY = ""ru_RU.UTF-8"",
        LC_CTYPE = ""ru_RU.UTF-8"",
        LC_COLLATE = ""ru_RU.UTF-8"",
        LC_ADDRESS = ""ru_RU.UTF-8"",
        LC_TELEPHONE = ""ru_RU.UTF-8"",
        LC_MESSAGES = ""ru_RU.UTF-8"",
        LC_NAME = ""ru_RU.UTF-8"",
        LC_MEASUREMENT = ""ru_RU.UTF-8"",
        LC_IDENTIFICATION = ""ru_RU.UTF-8"",
        LC_NUMERIC = ""ru_RU.UTF-8"",
        LC_PAPER = ""ru_RU.UTF-8"",
        LANG = "ru_RU.UTF-8"
vladamir
() автор топика
Ответ на: комментарий от vladamir

Он у меня эту фигню пишет при каждой установки какого-нить приложения.

vladamir
() автор топика
Ответ на: комментарий от vladamir

Покажите содержимое этих файлов:

/etc/default/locale
/etc/environment

также перл:варнинг пишет..

Скорее всего напутали с экранированием в скриптах.

LC_CTYPE=\"ru_RU.UTF-8\"
LC_NUMERIC=\"ru_RU.UTF-8\"
LC_TIME=\"ru_RU.UTF-8\"
LC_COLLATE=\"ru_RU.UTF-8\"
LC_MONETARY=\"ru_RU.UTF-8\"
LC_MESSAGES=\"ru_RU.UTF-8\"
LC_PAPER=\"ru_RU.UTF-8\"
LC_NAME=\"ru_RU.UTF-8\"
LC_ADDRESS=\"ru_RU.UTF-8\"
LC_TELEPHONE=\"ru_RU.UTF-8\"
LC_MEASUREMENT=\"ru_RU.UTF-8\"
LC_IDENTIFICATION=\"ru_RU.UTF-8\"
LC_ALL=
т.к. вывод должен быть такой:
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

1./etc/default/locale

LANG="ru_RU.UTF-8"
LC_NUMERIC="kk_KZ.UTF-8"
LC_TIME="kk_KZ.UTF-8"
LC_MONETARY="kk_KZ.UTF-8"
LC_PAPER="kk_KZ.UTF-8"
LC_NAME="kk_KZ.UTF-8"
LC_ADDRESS="kk_KZ.UTF-8"
LC_TELEPHONE="kk_KZ.UTF-8"
LC_MEASUREMENT="kk_KZ.UTF-8"
LC_IDENTIFICATION="kk_KZ.UTF-8"

2./etc/environment

Пустой..

В первом надо поменять ручками на ru_RU или через консоль как то?

vladamir
() автор топика
Ответ на: комментарий от vladamir

И при любой неверной команде он мне вот что стал писать -

user@Aspire-E1-571G:~$ xfvxfv
Sorry, command-not-found has crashed! Please file a bug report at:
https://bugs.launchpad.net/command-not-found/+filebug
Please include the following information with the report:

command-not-found version: 0.3
Python version: 3.3.2 final 0
Distributor ID: Ubuntu
Description:    Ubuntu 13.10
Release:        13.10
Codename:       saucy
Exception information:

unsupported locale setting
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/CommandNotFound/util.py", line 24, in crash_guard
    callback()
  File "/usr/lib/command-not-found", line 69, in main
    enable_i18n()
  File "/usr/lib/command-not-found", line 40, in enable_i18n
    locale.setlocale(locale.LC_ALL, '')
  File "/usr/lib/python3.3/locale.py", line 541, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

раньше чота попроще было вроде..

vladamir
() автор топика
Ответ на: комментарий от vladamir

Видимо вся проблема в том, что у вас установлен тестовый релиз Ubuntu, попробуйте в начале просто обновить систему.

Проблема явно из-за ошибки мантейнера.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

А у вас вызывает проблему открыть файл в текстовом редакторе и изменить 'kk_KZ' на 'ru_RU' ?

Немного не по теме, но отвечу. При выполнении консольных команд, вполне вероятно, что обновляется не только этот файлик, а и еще зависимые программные компоненты какие-нибудь. Вдруг есть такая команда, вот поэтому я и переспросил.

vladamir
() автор топика
Ответ на: комментарий от vladamir

https://help.ubuntu.com/community/Locale

А так средствами, например strace изучайте к каким файлам обращаются консольные команды, если у вас есть вопросы по их работе.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Видимо вся проблема в том, что у вас установлен тестовый релиз Ubuntu.

Как это тестовый? Он еще 17 октября вышел.

И как понять релиз тестовый.. На то он и релиз, что протестирована работоспособность. Если я не прав, то поправьте меня.

попробуйте в начале просто обновить систему

А это как? апт-гет апдейт?? Если он, то я его часто делаю.

Проблема явно из-за ошибки мантейнера.

Ого, как.. Но может есть все таки средства исправить это.

vladamir
() автор топика
Ответ на: комментарий от vladamir

Релизы, которые выходят в апреле, т.е. *.04 - это релизы с длительным сроком поддержки, LTS. Релизы, которые выходят в октябре, т.е. *.10 - промежуточные релизы, которые в некотором роде являются «бетой» для будущего релиза *.04.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Ясно, спасибо за пояснение. А где нужно удалять это экранирование? в каком файле? я даже когда делаю purge locales у меня все равно вылазят эти ошибки. Из папки

user@Aspire-E1-571G:~$ ls /usr/lib/locale
C.UTF-8  ru_RU.cp1251

удаляются лишь локал-архив и все. после удаление также locale показывает такой же результат. Я в отчаянии :(

vladamir
() автор топика

1. /etc/locale.gen раскомментируй нужные локали

в /etc/locale.gen должны быть

en_US.UTF-8

en_US.ISO-8859-1

ru_RU.KOI8-R

ru_RU.UTF-8

ru_RU.ISO-8859-5

2.locale-gen от рута

3.~/.bashrc добавь export LANG=ru_RU.UTF-8

после изменения /.bashrc: source ~/.bashrc

4. /etc/default/locale:

LANG=«ru_RU.UTF-8»

LANGUAGE=«ru_RU.UTF-8»

QuArt3
()
Ответ на: комментарий от QuArt3

Пробовал, но ничего не изменяется. Я не могу найти файл, в котором стоит это экранирование, либо две ковычки. Так как видно, что

LC_CTYPE=\"ru_RU.UTF-8\"

и

LC_TIME = ""ru_RU.UTF-8"" 

С этими ковычками реально какой-то гемор..

vladamir
() автор топика
Ответ на: комментарий от QuArt3

$HOME/.pam_environment что там?

LANG=ru_RU.UTF-8
LANGUAGE=ru_RU:ru
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

а еще этих локалей непонятных у меня много

user@Aspire-E1-571G:~$ locale -a
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
en_US.utf8
kk_KZ.utf8
ru_RU
ru_RU.cp1251
ru_RU.iso88595
ru_RU.utf8
ru_UA.utf8
vladamir
() автор топика
Ответ на: комментарий от QuArt3

update-locale LANG=ru_RU.UTF-8 LC_MESSAGES=POSIX

Ошибка перла опять -

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "ru:en",
        LC_ALL = "",
        LC_PAPER = ""ru_RU.UTF-8"",
        LC_ADDRESS = ""ru_RU.UTF-8"",
        LC_MONETARY = ""ru_RU.UTF-8"",
        LC_NUMERIC = ""ru_RU.UTF-8"",
        LC_TELEPHONE = ""ru_RU.UTF-8"",
        LC_MESSAGES = ""ru_RU.UTF-8"",
        LC_IDENTIFICATION = ""ru_RU.UTF-8"",
        LC_COLLATE = ""ru_RU.UTF-8"",
        LC_MEASUREMENT = ""ru_RU.UTF-8"",
        LC_CTYPE = "ru_RU.UTF-8",
        LC_TIME = "ru_RU.UTF-8",
        LC_NAME = ""ru_RU.UTF-8"",
        LANG = "ru_RU.UTF-8"

Капец, и это, между прочим после установке у меня сразу не было, что-то установил походу и попа..

vladamir
() автор топика
Ответ на: комментарий от vladamir

И еще там ниже немного

    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

vladamir
() автор топика
Ответ на: комментарий от QuArt3

Нет конечно. Все проги, которые устанавливаю, ошибку такую пишут и русскими не становятся. Также меню где-то на русском, где-то на английском

vladamir
() автор топика
Ответ на: комментарий от QuArt3

Не, ничего не помогает. Блин, ну не дистрибутив же переустанавливать, в самом деле. Он даже при удалении локалей тоже ошибку такую выдает

vladamir
() автор топика
Ответ на: комментарий от QuArt3

Конечно, сейчас вот еще раз выполнил для проверки -

user@Aspire-E1-571G:~$ sudo locale-gen
Generating locales...
  en_US.ISO-8859-1... up-to-date
  en_US.UTF-8... up-to-date
  kk_KZ.UTF-8... up-to-date
  ru_RU.ISO-8859-5... up-to-date
  ru_RU.UTF-8... up-to-date
  ru_UA.UTF-8... up-to-date
Generation complete.

Locale также пишет ошибку и со слешами выводит параметры

vladamir
() автор топика

31.12.2013 11:47:50

Пришло время апгрейдить убунту.

ritsufag ★★★★★
()
Ответ на: комментарий от vladamir

/etc/environment:

LC_ALL=«ru_RU.UTF-8»

~/.profile:

export LANGUAGE=«ru»

export LANG=«C»

export LC_MESSAGES=«C»

~/.bashrc изменяли?

QuArt3
()
Ответ на: комментарий от QuArt3

Нее, нихера. Уже удалял локали ручками, толку нету. я будто бы вообще на другом компе все делаю, он не реагирует даже. Заметил, что у меня не открывается /usr/lib/locale/locale-archive через gedit, а через nano вообще кракозябры показываются

vladamir
() автор топика
Ответ на: комментарий от QuArt3

не, нихера. я думаю все же это дело в этих ковычках. только вот почему он их экранирует.Да и откуда он берет вообще их. Та же команда locale

vladamir
() автор топика
Ответ на: комментарий от vladamir

Ну пропишите вы уже в ~/.bashrc или ~/.bash_profile выставлять переменную окружения LANG:

LANG="ru_RU.UTF-8"
того пользователя, под которым вы работаете и авторизуйтесь в консоли.

Либо сразу в /etc/bash/bashrc, глобально для всех.

Раз не можете понять почему в вашей Ubuntu всё работаете через ... не то место.

kostik87 ★★★★★
()
Ответ на: комментарий от QuArt3

а если в консоле написать: export LC_ALL=ru_RU.UTF-8 ?

Ёпсинихай, ошибок уже в команде locale нету. Но после перезагрузки все опять слетает. Что означает команда экспорт?

vladamir
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.