Локализация FreeBSD — переводим консоль на русский utf-8

Продолжая своё знакомство с FreeBSD, я обнаружил что система по-умолчанию совершенно  не дружит с UTF-8. Так как система будет использоваться для веб-сайтов, то присутствие кодировки UTF-8 просто необходимо. Да и не хочется коллекционировать кодировки, ведь я пользуюсь разными системами.

В интернете много статей, но мне помогла родная документация www.freebsd.org/doc

Правим файл /etc/login.conf:

russian|Russian Users Accounts:\
               :charset=UTF-8:\
               :lang=ru_RU.UTF-8:\
               :tc=default:

login.conf — это база данных описывающая классы пользователей ОС. Если точнее, то это текстовый файл описывающий конфигурацию базы данных /etc/login.conf.db. Для применения изменений в login.conf.db необходимо после правки файла login.conf воспользоваться программой cap_mkdb:

cap_mkdb /etc/login.conf

Изменяем данные пользователя root, применяем к нему класс russian

pw usermod -n root -L russian

На этом всё. Хотелось бы отметить, что этот способ не затрагивает системную консоль и применим только в юзерском шеле.

Чтобы подействовало и на системную консоль, идём дальше:

В файле /etc/ttys для каждого имени терминала ttyv0-ttyv7, указать тип cons25r, например:

ttyv0 "/usr/libexec/getty Pc" cons25r on secure
ttyv1 "/usr/libexec/getty Pc" cons25r on secure
ttyv2 "/usr/libexec/getty Pc" cons25r on secure
ttyv3 "/usr/libexec/getty Pc" cons25r on secure
ttyv4 "/usr/libexec/getty Pc" cons25r on secure
ttyv5 "/usr/libexec/getty Pc" cons25r on secure
ttyv6 "/usr/libexec/getty Pc" cons25r on secure
ttyv7 "/usr/libexec/getty Pc" cons25r on secure

В файл /etc/rc.conf добавить строки:

font8x8="koi8-r-8x8"
font8x14="koi8-r-8x14"
font8x16="koi8-r-8x16"
keymap="ru.koi8-r.win"
mousechar_start="3"

Теперь нужно выполнить перезагрузку. Русский язык должен поддерживаться. Переключение языков осуществляется комбинацией клавиш Ctrl+Shift.

Если вы используете другой шелл:

/etc/csh.cshrc

setenv LANG ru_RU.UTF-8
setenv LC_CTYPE ru_RU.UTF-8
setenv LC_COLLATE POSIX
setenv LC_ALL ru_RU.UTF-8

/etc/profile  (bash)

LANG="ru_RU.UTF-8"; export LANG
LC_CTYPE="ru_RU.UTF-8"; export LC_CTYPE
LC_COLLATE="POSIX"; export LC_COLLATE
LC_ALL="ru_RU.UTF-8"; export LC_ALL

/root/.cshrc (руту русификации не положены)

setenv LANG C
setenv LC_CTYPE C
setenv LC_COLLATE POSIX
setenv LC_ALL C
Остались или есть ещё вопросы? Задавайте!
(не забудьте указать ссылку на этот пост)




5 комментариев

  1. ttys Ukraine Google Chrome Ubuntu Linux :

    в 9ке «В файле /etc/ttys» у меня так:

    <code> 

    grep ttyv /etc/ttys

    #ttyv0"/usr/libexec/getty Pc"xtermon  secure

    ttyv1"/usr/libexec/getty Pc"xtermon  secure

    ttyv2"/usr/libexec/getty Pc"xtermon  secure

    ttyv3"/usr/libexec/getty Pc"xtermon  secure

    ttyv4"/usr/libexec/getty Pc"xtermon  secure

    ttyv5"/usr/libexec/getty Pc"xtermon  secure

    ttyv6"/usr/libexec/getty Pc"xtermon  secure

    ttyv7"/usr/libexec/getty Pc"xtermon  secure

    ttyv8"/usr/local/bin/xdm -nodaemon"xtermoff secure

    </code> 

    Thumb up 0 Thumb down 0

  2. Настраиваем локаль: 

    # sysinstall

    Configure -> Console ->

     2 Font  -> 5 IBM 866           Russian, IBM encoding

     3 Keymap-> Russia KOI8-R       Russian KOI8-R keymap

     4 Repeat-> Fast         Fast keyboard repeat rate

     5 Saver  -> 1 Blank        Simply blank the screen

     6 Screenmap-> 5 KOI8-R to IBM866  Russian KOI8-R to IBM 866

     7 Ttys  -> 6 KOI8-R            cons25r

    X Exit -> OK

    Time Zone -> NO -> 8 Europe -> 38 Russian Federation -> 2 Moscow+00 — west Russia -> YES

    X Exit -> [X Exit Install]

     

    # pw usermod root -L russian

    Thumb up 0 Thumb down 0

  3. www.freebsd.org/doc/ru_RU.../lang-setup.html

    21.5.1.1. Настройка локализации

    Поместите в ~/.login_conf следующие строки:

    me:My Account:\

    :charset=KOI8-R:\

    :lang=ru_RU.KOI8-R:

    Обратитесь к вышеизложенному материалу этой главы за соответствующей информацией.

    21.5.1.2. Настройка консоли

    Добавьте следующую строку в /etc/rc.conf:

    mousechar_start=3

    Кроме того, используйте в /etc/rc.conf такие настройки:

    keymap="ru.koi8-r"

    scrnmap="koi8-r2cp866"

    font8x16="cp866b-8×16"

    font8x14="cp866-8×14"

    font8x8="cp866-8×8"

    Для каждого устройства ttyv* в файле /etc/ttys, используйте cons25r в качестве типа терминала.

    Обратитесь к вышеизложенному материалу этой главы за примерами настройки консоли.

    Thumb up 0 Thumb down 0

  4. 5level.org/article.php/ru...nsole-koi8r-utf8

    Настройка KOI8-R:

    vi /etc/rc.conf

    keymap="ru.koi8-r"

    font8x8="cp866-8×8"

    font8x14="cp866-8×14"

    font8x16="cp866b-8×16"

    scrnmap="koi8-r2cp866"

    cursor="destructive"

    Заменить все cons25 на cons25r в /etc/ttys:

    vi /etc/ttys

    :%s/cons25/cons25r/g

    kill -HUP 1

    (чтобы перечитался /etc/ttys)

    /etc/rc.d/syscons restart

    pw usermod root -L russian

    (выполнить для всех имен пользователей кому нужен русский, если вы ходите на сервер только удаленно по ssh/telnet, то можно выполнить только этот шаг для настройки поддержки русского языка KOI8-R в системе)

    Настройка UTF-8 (для работы с удаленного терминала):

    В /etc/login.conf добавляем:

    russian-utf8|Russian Users Accounts:

    :charset=UTF-8:

    :lang=ru_RU.UTF-8:

    :lc_all=ru_RU.UTF-8:

    :tc=default:

    Перестраиваем БД:

    cap_mkdb /etc/login.conf

    Прикрепляем пользователя:

    pw usermod логин -L russian-utf8

    Добавляем в /etc/profile

    MM_CHARSET=UTF-8; export MM_CHARSET

    Thumb up 0 Thumb down 0

  5. http://adminlog.ru/?p=812

    setenv LANG ru_RU.UTF-8

    setenv LC_ALL ru_RU.UTF-8

    Thumb up 0 Thumb down 0

Оставить комментарий

Установка, настройка, мониторинг и администрирование linux, unix, windows систем