Admin
Регистрация: 05.10.2005
Проживание: Москва
Сообщения: 284
|
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=
|