Информация
На главную Главная

Мой t-cards.ru
Войти Войти
Зарегистрироваться Регистрация

Разное
Форум Форум
Вернуться Форумы на t-cards.ru> Hard"n"Soft
Логин
Пароль
Регистрация Участники Поиск >> FAQ


Сообщения в теме: "Gentoo и локаль UTF8..."
30.03.2007 10:57
Admin

Регистрация: 05.10.2005
Проживание: Москва
Сообщения: 272
По умолчаниюGentoo и локаль UTF8

1. Создание локали
Последние полгода glibc собирается с ru_RU.UTF-8 уже "из коробки". Так что сначала проверьте, может у вас уже всё есть(необходимо наличие ru_RU.utf8):

locale -a | grep ru

ru_RU
ru_RU.cp1251
ru_RU.koi8r
ru_RU.utf8

В случае, если у вас не собрана локаль, то можно ее создать вручную или пересобрать glibc.
Для создания локaли командой localedef вам потребуются права root'а.

localedef --no-archive -c -i ru_RU -f UTF-8 ru_RU.utf8

Если команда 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

Тогда лучше определить локаль следующей командой

localedef --no-archive -c -i ru_RU -f UTF-8 ru



2. Переменные окружения

Надо в файле /etc/env.d/02locale прописать две строки:

Файл: /etc/env.d/02locale

LC_ALL=""
LANG="ru_RU.UTF-8"

Предупреждение: Не устанавливайте переменную LESSCHARSET равной UTF-8! Это приведет к неработоспособности как самой программы less, так и связанных с ней - таких как man.


3. Файлы настройки системы

Нужно также изменить несколько файлов запуска системы. Все эти файлы входят в пакет baselayout, последние версии которого содержат ряд изменений упрощающих настройку и наиболее удобны для использования. Лучше всего обновить пакет до версии 1.11.9 или выше, но если у вас нет возможности этого сделать, то ниже приведены варианты и для старых версий.

В процессе настройки файлов вам будет неоходимо выбрать вариант раскладки клавиатуры, список доступных вариантов здесь. Для каждой раскладки клавиатуры определена кодировка и ее необходимо указать с помощью опции DUMPKEYS_CHARSET, тогда система будет автоматически конвертировать кодировку раскладки в кодировку вашей локали(в данном случае UTF-8).

При использовании раскладки ru-utf (пока нет в стандартной поставке) строку DUMPKEYS_CHARSET закомментировать.

Консольные шрифты посмотрите в каталоге /usr/share/consolefonts/

Файл: /etc/rc.conf

UNICODE="yes"

Файл: /etc/conf.d/consolefont

CONSOLEFONT="ter-k14n"

Файл: /etc/conf.d/keymaps

KEYMAP="-u ru4"
SET_WINDOWKEYS="yes" # Опционально
DUMPKEYS_CHARSET="koi8-r"


Проверка локали
Заключительным аккордом дожен стать перезапуск сервисов keymaps и consolefont. /etc/init.d/keymaps restart /etc/init.d/consolefont restart (в случае ругани насчет неизвестного шрифта emerge terminus-font)

Теперь у вас должна быть локаль ru_RU.UTF-8

#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=