FreeBSD: Переходим с koi8-r на utf-8

Как известно при установки FreeBSD ставится русская локаль koi8-r, но стало интересно – возможно ли перевести ее на utf-8. Нашел – вначале надо прописать в ядро поддержку utf-8 консоли и далее перенастроить саму локаль.

Для начала добавим в ядро поддержку utf-8. Добавляем в ядро

options     TEKEN_UTF8
options     TEKEN_XTERM

далее компилим и устанавливаем ядро. Меняем в /etc/ttys ‘cons25′ на ‘xterm’.

Теперь локаль – заходим в /etc/login.conf и ищем секцию ‘russian|Russian Users Accounts:\’ и меняем

:charset=UTF-8:\
:lang=ru_RU.UTF-8:\
:tc=default:

сохранив вводим команду

cap_mkdb /etc/login.conf

теперь для каждого пользователя который будет ходить по ssh

pw usermod -n user_name -L russian

если надо перевезти пользователя на bash

pw usermod -n user_name -s /usr/local/bin/bash

теперь для пользователей которые пользуются bash – добавляем в /etc/profile

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 оставляем английскую(американскую) локаль – пишем в /root/.bashrc

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

Информацию про смену локали взял с сайта.