Описание русификации консоли (KOI8-R)

Аватар пользователя filin

Начнем, как водится, с консоли. Грубо говоря, требуется настроить корректное отображение символов на экране, ввод и переключение раскладок клавиатуры, выбрать профиль локализации и дополнительно сконфигурировать некоторые программы. В состав FreeBSD входят как минимум два варианта кириллических шрифтов: CP-866 и KOI8-R, хотя де-факто основной русской кодировкой UNIX-подобных систем до сих пор является KOI8-R. То есть, так или иначе, с ним придется иметь дело. Существует и два варианта отображения символов: непосредственно с помощью набора шрифтов KOI8-R или при помощи альтернативного набора шрифтов CP-866 с автоматической перекодировкой символов KOI8-R в CP-866 при выводе на экран. Несмотря на внешнюю .кривизну. второго метода, он имеет некоторые преимущества и поэтому используется чаще всего. В частности, нет глюков при отображении курсора мыши, а псевдографические элементы шрифта смотрятся гораздо лучше. При использовании первого способа необходимо добавить в файл /etc/rc.conf следующие строки:

font8x16=koi8-r-8x16 
font8x14=koi8-r-8x14
font8x8=koi8-r-8x8

При использовании шрифтов CP-866 с перекодировкой (вы уже наверняка догадались, что это и есть рекомендуемый вариант!) необходимо вместо предыдущих трех строк написать в /etc/rc.conf следующие четыре:

scrnmap=koi8-r2cp866 
font8x16=cp866-8x16
font8x14=cp866-8x14
font8x8=cp866-8x8

Для обеспечения поддержки ввода русскоязычных символов необходимо указать предпочитаемую раскладку клавиатуры для русского языка - специальные файлы с расширением *.kbd лежат обычно в /usr/share/syscons/keymaps. Стандартно переключение раскладок навешивается на Caps Lock, что не всем удобно. Еще менее удобно само расположение русских символов на клавиатуре, соответствующее старинной DOS-раскладке. В стандартной поставке FreeBSD наиболее распространенной (т. н. майкрософтовской) раскладки нет, поэтому ее делают самостоятельно (что совсем несложно) или для экономии сил скачивают файл keymaps.tar.gz (3 Kb), содержащий две такие раскладки: одну с переключением по Ctrl+Shift и другую - с переключением по Caps Lock. Для использования русской раскладки необходимо прописать в /etc/rc.conf следующее (дополнительно мы еще включаем акселератор клавиатуры - для пользователей .без тормозов.):

keyrate=FAST 
keymap=ru.koi8-r.win

Теперь настроим локаль. Здесь тоже существует два способа: прописать переменные окружения руками или добавить каждому из пользователей системы соответствующий профиль (класс). Проще всего настроить последний вариант, который, к сожалению, отсутствует в ранних версиях FreeBSD. В файле /etc/master.passwd необходимо заполнить пятое поле - класс :russian:, а делается это следующей командой (можно и руками с помощью вызова редактора: vipw /etc/master.passwd): pw usermod -L russian Если делать то же самое .по старинке., то в файле $HOME/.profile (если для всех пользователей, то в /etc/profile) прописываем:

LANG=ru_RU.KOI8-R 
MM_CHARSET=KOI8-R
export LANG
export MM_CHARSET

После этого для оболочки (как правило, по умолчанию это /bin/csh - C Shell) необходимо указать поддержку русского языка и локали (файл /etc/csh.login): setenv LANG ru_RU.KOI8-R setenv MM_CHARSET KOI8-R Дальше просто необходимо настроить некоторые программы. Самое главное - прописать тип терминала, поддерживающий русский. В файле /etc/ttys меняем тип с cons25 на 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/X11R6/bin/xdm -nodaemon" xterm off secure

Для правильного ввода и вывода символов в Midnight Commander'е в пункте меню .Configuration - Display Bits. надо установить переключатель .Full 8-bit output. и флажок .Full 8-bit input.. В последних версиях программы вместо установки переключателя нужно выбрать из списка предпочитаемую кодировку ввода-вывода (как правило, это KOI8-R). Для правильного отображения русских имен файлов на разделах FAT/FAT32 следует прописать в /etc/fstab следующие параметры монтирования для этих дисков (разумеется, что раздел и точка монтирования могут называться и по-другому): /dev/ad1s1 /mnt/D msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0 Замечание Редактировать /etc/fstab необходимо очень аккуратно, так как любая, даже незначительная ошибка в итоге может привести... нет, не к падению системы, как в различных дистрибутивах Linux, а к некоторой .возне. с восстановлением правильности записей. При монтировании файловых ресурсов или принтеров через SMB для правильного отображения русской кодировки обычно подходят такие параметры:

mount_smbfs -E koi8-r:cp866 //USER@SERVER/SHARE /mnt/share
Теги: