Отправляет email-рассылки с помощью сервиса Sendsay

FreeBSD: полезные заметки

  Все выпуски  

FreeBSD: полезные заметки. Русификация консоли и KDE


Всем доброго времени суток!

Довольно актуальным для русскоязычных пользователей является вопрос о русификации установленной системы. Конечно, это больше волнует пользователей, использующих FreeBSD в связке с оконным менеджером. Первоначально в версиях FreeBSD до 8.x требовалось русифицировать консоль в кодировке KOI8-R:

1. Включить в файл /etc/login.conf описание класса пользователей с поддержкой русского языка:

russian|Russian Users Accounts:\

:hushlogin:\

:charset=KOI8-R:\

:lang=ru_RU.KOI8-R:\

:tc=default:

2. Выполнить команду cap_mkdb /etc/login.conf

3. Воспользоваться программой pw:

# pw user mod <имя пользователя> -L russian

4. В файле /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

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

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


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

В настоящее время привычней и удобней использовать кодировку UTF-8. Например, я не нашёл ssh-клиента для свежекупленного телефона с ОС Android с поддержкой KOI8-R — только UTF-8. Поэтому расскажу о том, как русифицировать консоль и для UTF-8.

1. Включить в файл /etc/login.conf описание класса пользователей с поддержкой русского языка:

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

Примечание: если уже настроена локаль KOI8-R, можно просто добавить новый класс (вместо "russian" написать "russian_utf8").

2. Выполнить команду cap_mkdb /etc/login.conf

3. Воспользоваться программой pw:

# pw user mod <имя пользователя> -L russian

4. В файле /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

5. В файле /etc/rc.conf закомментировать строки:

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

6. Прописать переменные в используемом шелле /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 (root не любит все эти нежности):

setenv LANG C
setenv LC_CTYPE C
setenv LC_COLLATE POSIX
setenv LC_ALL C

Итак, мы перевели консоль на UTF-8. Не пора ли нам перевести KDE на эту же кодировку?

Смотрим файл ~/.login_conf и добавляем туда строчки:

me:\
:charset=UTF-8:\
:lang=ru_RU.UTF-8:

Затем переконвертируем имена файлов из KOI8-R в UTF-8, предварительно установив из портов:

# cd usr/ports/converters/convmv
# make && make install clean

И:

# convmv --notest -r -f KOI8-R -t UTF-8 /home


Без префикса "--notest" мы увидим результат команды без собственно преобразования. В самом конце указан путь к каталогу, где будет выполнено рекурсивное преобразование.

В избранное