Русификация консоли NetBSD от Я до А.

qnub аватар

Максим С. Витвицкий c0dez at mail dot 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 некоторыми изменениями). Готовые можно взять здесь [inline:1].

Если вы решили использовать шрифты от 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 ...

Все. Спасибо всем, кто помогал.


Прикрепленный файлРазмер
fonts.tar.gz3.14 кб

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
binom аватар

NetBSD-3.0 - пытался

NetBSD-3.0 - пытался настроить по этому руководству, нифига не выходит.

qnub аватар

ну статья не

ну статья не сильно новоя. наверное многое поменялось. надо бы править

spinore аватар

encoding=ru можете

encoding=ru можете не писать, ибо её там (в ядре, кажись) нет - в 3.0 решили выкинуть. Надо нативными методами сделать. Уже забыл как.

binom аватар

народ

народ подскажите как настроить русский язык в консоли, хотя бы вместе подумаем, может есть какие-нибудь идеи

spinore аватар

Цитата: народ

Цитата:

народ подскажите как настроить русский язык в консоли, хотя бы вместе подумаем, может есть какие-нибудь идеи

Пиши сюда: spinor@jabber.ru

qnub аватар

ну вы как

ну вы как окончательно все точки над i расставите - обязательно публикуйте результат.

spinore аватар

qnub писал(ла):ну

qnub писал(ла):
ну вы как окончательно все точки над i расставите - обязательно публикуйте результат.

fixed в wiki

syn аватар

А у меня

А у меня почему-то не сработало, пересобралось ядро с поправкой нормально, загрузилось, но печатает русские символы крюкозяблями и только при зажатом альт-е. Имена рускоязычных каталогов и файлов отображаются вопросами.

Vasily аватар

Возможно, не совсем в ту

Возможно, не совсем в ту тему, но хотелось бы к руссификации повесить Meta или на WinKey или на Alt.
тщательное изучение
man wsconsctl
/usr/include/dev/wscons/wsconsio.h
пока ни к чему не привело,
Если кто знает куда посмотреть описание параметров wsconsctl ибо man весьма куцый, например что можно написать после -w упоминается только в примерах