debian.org / О Debian Где взять Debian Поддержка Уголок разработчика Новости Wiki

Автор Тема: Локаль для пользователя и крякобязы mc  (Прочитано 4482 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nordwest

  • Topic Author
  • Сообщений: 22
Здравствуйте.
Не могу добиться того, чтобы при кодировке пользователя ru_RU.UTF-8 в mc правильно отображался русский.
Исходная ситуация. У рута кодировка utf-8, у пользователя KOI8-R:
# locale
LANG=ru_RU.UTF-8
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
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=

mc в обоих случаях отображается правильно. Но при подключении к удаленному компьютеру по ssh, запускаемый там mc в крякобязах. На той стороне локаль utf-8.
dpkg-reconfigure locales не помогает
Получается установить utf-8 пользователю, если в ~/.bashrc прописать:
LANG=ru_RU.UTF-8
export LANG
Там предупреждающие надписи стоят о недопустимости изменений. Но изначально там прописана как раз KOI8-R и я не припомню, чтобы я её туда писал.
После такой правки locale выдает везде utf-8, но mc - крякобяз. Удаленно тоже :(
Пробовал ещё создать ~/.bash_login с таким содержанием:
LANG=ru_RU.UTF-8 mcТоже никак, пришлось возвращать koi8-r.

Пробовал и так:
localedef -i ru_RU -f UTF-8 ru_RU.UTF-8Результат тот же.

Что ещё можно попробовать?
 

Оффлайн rayanAyar

  • Сообщений: 538
  • Jabber: rayanAyar@jabber.ru
Re: Локаль для пользователя и крякобязы mc
« Ответ #1 : 20 Июль 2011, 21:39:22 »
Это конечно оффтоп...
Но если не затруднит - для чего понадобилась KOI8 ?
Просто любопытство :) . Первый раз вижу, чтобы в нынешнее время кто-то использовал "НЕ-UTF8".
 

paulcarroty

  • Гость
Re: Локаль для пользователя и крякобязы mc
« Ответ #2 : 20 Июль 2011, 21:53:03 »
Это конечно оффтоп...
Но если не затруднит - для чего понадобилась KOI8 ?
Просто любопытство :) . Первый раз вижу, чтобы в нынешнее время кто-то использовал "НЕ-UTF8".
+1
 

Оффлайн Udachnik

  • Сообщений: 1439
Re: Локаль для пользователя и крякобязы mc
« Ответ #3 : 20 Июль 2011, 21:55:14 »
Я не понял  что надо. Сменить локаль, что ли?
 

Оффлайн Nordwest

  • Topic Author
  • Сообщений: 22
Re: Локаль для пользователя и крякобязы mc
« Ответ #4 : 21 Июль 2011, 12:19:28 »
Это конечно оффтоп...
Но если не затруднит - для чего понадобилась KOI8 ?
Просто любопытство :) . Первый раз вижу, чтобы в нынешнее время кто-то использовал "НЕ-UTF8".
Т.е. как она вообще у меня оказалась? Сложно сказать, возможно выбрал где-то при установке. У меня 2 системы, ещё винда есть, возможно из-за совместимости устанавливал, хз.

Я не понял  что надо. Сменить локаль, что ли?
Ну да, сменить на utf-8. Замена в ~/.bashrc приводит к желаемому выводу locale, но mc русский перестает показывать. Да и вообще, в консоли тоже русский неправильно отображается, так что возможно проблема не в mc.
 

Оффлайн Udachnik

  • Сообщений: 1439
Re: Локаль для пользователя и крякобязы mc
« Ответ #5 : 21 Июль 2011, 12:56:50 »
В /etc/locale.gen закомментировать все локали кроме ru_RU.UTF-8 UTF-8. Затем выполнить
# locale-genНу и установить пакет console-cyrillic
 

Оффлайн Nordwest

  • Topic Author
  • Сообщений: 22
Re: Локаль для пользователя и крякобязы mc
« Ответ #6 : 21 Июль 2011, 14:00:25 »
В /etc/locale.gen закомментировать все локали кроме ru_RU.UTF-8 UTF-8. Затем выполнить
# locale-genНу и установить пакет console-cyrillic
Сделал, перезагрузился. Меню гнома встретила английским. locale пользователя осталось KOI8-R. Заменил в ~/.bashrc KOI8-R -> UTF-8. Всё то же - консоль крякобязная.

--
Вот новый пользователь с нормальной кодировкой создается. Ну на самом деле новый-старый, с lenny был в /home, подключил его только. И UTF-8 у него, и русское меню и mc нормальный. В ~/.bashrc вообще ничего про локаль нет. Где же она, локаль эта, в какой корень зрить?
--
Ещё вот. Если из ~/.bashrc вообще убрать локаль, то 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.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=
Вот, уже интереснее. А вот что с console-cyrillic:
$ sudo dpkg-reconfigure console-cyrillic
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "ru_RU.KOI8-R"
    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_MESSAGES 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_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "ru_RU.KOI8-R"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
insserv: warning: script 'freenx-server.outformat' missing LSB tags and overrides
Причем это с sudo и меню конфигуратора английское. Если от рута - то меню русское и никаких ошибок не выдает.
Явно куда-то я влез :(
« Последнее редактирование: 21 Июль 2011, 16:35:40 от Nordwest »
 

Оффлайн Nordwest

  • Topic Author
  • Сообщений: 22
Re: Локаль для пользователя и крякобязы mc
« Ответ #7 : 21 Июль 2011, 23:13:59 »
Заработало! :)
Вобщем стал экспериментировать по поводу различий между учетными записями. Оказалось, что правильные настройки экспортируются заменой системных файлов в корне домашней директории. В bashrc закоментировал уже. В krusader'е поискал файлы с текстом "koi8-r", нашел в файле .xsession такое:
LANG=ru_RU.KOI8-R
export LANG
Закоментировал и всё стало красиво. Странно, что этого файла вообще нет в образцовой учетке. И откуда они вообще... А потом ломай себе голову - почему все рекомендации по смене кодировки не работают.
 

Теги: