За онези от NetBSD потребителите, които са се опитвали да кирилизират конзолата и не са успели, давам тази връзка. Ако я няма, не съм виновен аз :) Инструкциите накратко, адаптирани за наши условия:
-
Във
/usr/src/sys/dev/wscons/wskbd.cпроменятеcase KS_Mode_switch: update_modifier(id, type, 0, MOD_MODESHIFT);на
case KS_Mode_switch: update_modifier(id, type, 1, MOD_MODESHIFT); -
Прекомпилирате ядрото. Изнамирате си отнякъде RAW шрифтове и keymap-ове. Копирате шрифтовете в
/usr/share/wscons/fonts. Копирате keymap-овете в/usr/share/wscons/keymaps. -
Във
/etc/wscons.confдобавяте редовете:- за CP1251
encoding=us
font cp1251 - - iso /usr/share/wscons/fonts/cp1251.816
mapfile /usr/share/wscons/keymaps/pckbd.bg.qwerty.cp1251
# Или pckbd.bg.bds.cp1251 - за KOI8-R
encoding=us
font koi8r - - iso /usr/share/wscons/fonts/koi8r.816
mapfile /usr/share/wscons/keymaps/pckbd.bg.qwerty.koi8-r
- за CP1251
-
В
/etc/rc.localдобавяте:for TTY in 1 2 3; do
wsconsctl -f /dev/ttyE${TTY} -dw font=cp1251
done -
В
${HOME}/.profileдобавяте:export LANG=bg_BG.CP1251и евентуално
export LC_CTYPE=bg_BG.CP1251 -
Рестартирате.
Ако ви е нужен KOI8-R локал, просто копирайте ru_RU.KOI8-R.
Keymap-овете се разпространяват под BSD лиценз. Шрифтовете са отвсякъде, но повечето са от Slackware 8.1 или от пакета „Терминус“ на Димитър Жеков, като някои от тях са модифицирани. По-специално, iso*kg.816 шрифтовете покриват съответната ISO-8859 кодова страница, но знаците в диапазона 0×80-0×9F са приспособени да показват KOI8-R псевдографика.
28.X.2007 г.
Руската страничка за кирилизация на NetBSD окончателно се е изпарила. Тук публикувам една леко редактирана версия, която пазя локално. Вероятно в кеша на Google все още може да се намери нещо.
Максим С. Витвицкий (c0dez@mail.ru)
28.02.2005 11:23:22 GMT
Все опыты проводились на свежеустановленной NetBSD 2.0 с wscons драйвером консоли. ОК, начнем. Русификация консоли сводится: к обеспечению ввода русских букв с клавиатуры, выводе их на экран и установке системной локали. Сначала обеспечим ввод русских букв с клавиатуры, добавив русскую раскладку. Для этого, в файле /etc/wscons.conf добавим или раскомментируем следующую строку:
encoding=ru
Ввод русских букв происходит при зажатии одной из клавиш Alt, причем при зажатии левой кнопки Alt — ввод осуществляется в раскладке ЯВЕРТ, а при зажатии правой — ЙЦУКЕН. Но, набирать текст, зажимая одну или две клавиши — неудобно. Выход один — фиксированный переключатель. Для реализации фиксированного переключателя раскладки, нам понадобится пересобрать ядро с некоторыми изменениями. Скачайте и распакуйте файлы ядра. Затем в файле /usr/src/sys/dev/wscons/wskbd.c находим следующие строчки:
case KS_Mode_swith: update_modifier(id, type, 0, MOD_MODESHIFT);
и заменяем 0 на 1. Пересобираем и устанавливаем ядро. Пересборка ядра описана в документации и вопросов, надеюсь, не вызовет.Далее нам нужны консольные шрифты (в комплекте с системой не идут). Следовательно, нужно их загрузить, подойдут шрифты от OpenBSD или от FreeBSD (c некоторыми изменениями). Готовые можно взять здесь fonts.tar.gz.Если вы решили использовать шрифты от FreeBSD, то Вам надо выполнить команду:
uudecode -p </путь/к/koi8-r-8x16.fnt> /usr/share/wscons/fonts/koi8.816
Далее добавляем в файл /etc/wscons.conf следующие строки:
font koi8 - - iso /usr/share/wscons/fonts/koi8.816
mapfile /usr/share/wscons/keymaps/pckbd.ru.koi8-r
Перезагружаемся для того, чтобы изменения в wscons вступили в силу. После перезагрузки нужно активизировать шрифт на каком-нибудь терминале, вводим:
wsconsctl -f /dev/ttyE* -dw font=koi8
где * — номер консоли. Я бы рекомендовал загружать шрифты во все консоли, кроме 0, нулевая консоль должна остаться в случае любого краха системы — рабочей. Для удобства, я предлагаю проводить активизацию шрифтов во время загрузки системы, чтобы каждый раз при перезагрузке не делать этого руками. Для этого нужно просто добавить несколько строк в файл /etc/rc.local:
/sbin/wsconsctl -f /dev/ttyE1 -dw font=koi8 >/dev/null
/sbin/wsconsctl -f /dev/ttyE2 -dw font=koi8 >/dev/null
/sbin/wsconsctl -f /dev/ttyE3 -dw font=koi8
Эти команды активизируют русский шрифт в 1, 2 и 3 консоли, в последней строке я специально не убирал вывод сообщения об активизации шрифта, чтобы его было видно при загрузке системы.Последний штрих. Добавляем системную локаль, в файле ~/.login добавляем следующие строки:
setenv LC_CTYPE ru_RU.KOI8-R
#для C shell (csh, tcsh)
setenv LANG ru_RU.KOI8-R
или
export LC_CTYPE=ru_RU.KOI8-R
#для bash export LANG=ru_RU.KOI8-R
Перезагружаемся и наслаждаемся русским языком в консоли.Для корректного отображения русских символов в некоторых readline приложениях (bash, mysql, psql, smbclient и т.д.) создадим файл ~/.inputrc, содержащий следующие строки:
set convert-meta off
set input-meta on
set output-meta on
Чуть не забыл про Samba, в файл /etc/samba/smb.conf добавляем следующие строки:
[global]
...
client code page = 866
character set = koi8-r
...
Все. Спасибо всем, кто помогал.