Категорії
FreeBSD

Руссификация (украинизация) локали

Обновлена 4.04.2012

Захотелось, что в консоли русские буквы нормально отображались, да и так что бы русские имена файлов нормально понимала (у меня на серваке была самба). Приступим. Я привожу для украинского языка локализацию. В /etc/rc.conf добавляем такое:

mousechar_start="3"
font8x8="cp866u-8x8"
font8x14="cp866u-8x14"
font8x16="cp866u-8x16"
scrnmap="koi8-u2cp866u"
keymap="ua.koi8-u.shift.alt"

В файле /etc/profile добавляем такое (это если для всех. если хотите только для некоторых юзеров, то добавляете соотвественно в ~/.profile):

LANG=ru_RU.KOI8-R; export LANG
LC_ALL=ru_RU.KOI8-R; export LC_ALL
MM_CHARSET=KOI8-U; export MM_CHARSET

В файле /etc/login.conf (отступы обязательны):

russian|Russian Users Accounts:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:\
:tc=default:

Меняем юзеру язык локали (тот язык, который мы описали в файле /etc/login.conf):

#pw usermod -n skeletor -L russian

Теперь перелогиниваемся (а если делали изменения в файле /etc/login.conf, то и перегружаем сервак) и наслаждаемся локалью:

$ locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_ALL=ru_RU.KOI8-R

Примечание.

Внимание!!!

Это не полноценная поддержка, а лишь подобие. При этом, если работать непосредственно в консоли, то творится вообще ужас: терминал не реагирует на управляющие клавиши, и прочее.

Если же работать удалённо через ssh, то никаких проблем не наблюдается.

Начиная с 8-ой версии добавлена полноценная поддержка UTF-8 в консоле. При использовании Х-ов проблем не возникнет, просто выбираем нужную кодировку и вперёд. А вот при использовании консоли нужно добавить эту поддержку в ядро:

options    TEKEN_UTF8
options    TEKEN_XTERM

в 9-ой версии опцию TEKEN_XTERM переименовали в TEKEN_CONS25, соответственно в /etc/ttys тип консоли прописывает cons25.

После этого пересобираем ядро, меняем в файле /etc/ttys все cons25 на xterm, а так же не забываем проделать русификацию для UTF-8 (как описано выше, только вместо KOI8-R пишем UTF-8, в /etc/rc.conf не нужно добавлять настройки для русификации) и перегружаемся.

Если у вас mc был собран без поддержки UTF-8, то нужно будет пересобрать, иначе будет отображаться псевдографика.

CRON

Отдельно хочется сказать про выполнение заданий через cron. Если вы используете системный crontab файл (/etc/crontab) то в нём нужно отдельно добавить следующие строки для поддержки UTF-8:

LANG=ru_RU.UTF-8
LC_ALL=ru_RU.UTF-8
LANGUAGE=ru
MM_CHARSET=UTF-8

А вот неплохая статья для версии 10.1

2 коментарі “Руссификация (украинизация) локали”

>Внимание!!!
>Это не полноценная поддержка, а лишь подобие.

А что значит “полноценная поддержка”? Хотя бы вкратце.

Это значит, что при работе непосредственно с консоли (возле сервера) или при работе в single mode будут проблемы, которые я описал. Сейчас на дворе уже 9-ка, нужно будет посмотреть как это там реализовано.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff