Начиная с OpenBSD 2.9, драйвер консоли был полностью переписан. Русская
раскладка была добавлена после выхода 2.9, поэтому для набора текста в 2.9,
вам необходим этот скрипт. В случае если
у вас OpenBSD 3.0 или новее, добавьте в файл /etc/kbdtype
раскладку вашей клавиатуры:
# echo "ru" > /etc/kbdtype
или раскомментируйте следующею строку в /etc/wsconsctl.conf
:
keyboard.encoding=ru
Поддержка русского языка достигается путем создания custom ядра с опциями:
option WSDISPLAY_COMPAT_USL option WSDISPLAY_COMPAT_RAWKBD option WSDISPLAY_COMPAT_PCVT option WSDISPLAY_DEFAULTSCREENS=2
Исходя из количества экранов по умолчанию, в данном случае два, добавьте
в /etc/rc.local
следующие строки, в зависимости от версии OpenBSD,
для создания трех дополнительных экранов с предварительно загруженным русским
шрифтом. Не забудьте запустить дополнительные процессы getty(8), если нужны,
на этих экранах, см. /etc/ttys
.
Для OpenBSD 2.9:
if [ -x /usr/sbin/wsconscfg -a -x /usr/sbin/wsfontload ]; then # Русские koi8 шрифты /usr/sbin/wsfontload -h 16 /usr/share/misc/pcvtfonts/koi8-8x16 for SCREEN in 2 3 4; do /usr/sbin/wsconscfg -t 80x25bf -e vt100 $SCREEN done /bin/sh /path/to/koi8-map.sh > /dev/null fi
Для OpenBSD 3.0 и новее:
if [ -x /usr/sbin/wsconscfg -a -x /usr/sbin/wsfontload ]; then # Русские koi8 шрифты /usr/sbin/wsfontload -h 16 /usr/share/misc/pcvtfonts/koi8-r-8x16 # Украинские koi8 шрифты # /usr/sbin/wsfontload -h 16 /usr/share/misc/pcvtfonts/koi8-u-8x16 for SCREEN in 2 3 4; do /usr/sbin/wsconscfg -t 80x25bf -e vt100 $SCREEN done # Следующие строчка позволяет создать фиксированный # переключатель на правом Ctrl /sbin/wsconsctl -w keyboard.map+="keycode 157 = Mode_Lock" > /dev/null # а если вы привыкли пользоваться обычным переключателем - правый Alt /sbin/wsconsctl -w keyboard.map+="keycode 184 = Mode_switch" > /dev/null fi
В OpenBSD 2.9 набор русского текста происходит так же, как и в PCVT консоли - зажимая правый Alt. Доступен патч для реализации т.н. sticky переключателя (фиксированного). Патч и краткое руководство по установке доступны здесь. Начиная с версии 3.0, такой переключатель интегрирован в OpenBSD.
Версии OpenBSD 2.8 и ниже, содержат три различных русских шрифта в кодировке koi8-r для русификации PCVT консоли: koi8-8x16, koi8-8x14 и koi8-8x8. Эти шрифты могут быть загружены в знакогенератор EGA/VGA адаптера для использования в различных видеорежимах:
Шрифт | Число строк EGA |
Число строк VGA |
koi8-8x8 | 43 | 50 |
koi8-8x14 | 25 | 28 |
koi8-8x16 | - | 25 |
Для русификации консоли:
vt0 at isa? port 0x60 irq 1
/etc/rc.local
команды загрузки шрифтов:
if [ -x /usr/sbin/ispcvt ] && /usr/sbin/ispcvt; then /usr/sbin/loadfont -c0 -f/usr/share/misc/pcvtfonts/koi8-r-8x16 /usr/sbin/loadfont -c1 -f/usr/share/misc/pcvtfonts/koi8-r-8x14 /usr/sbin/loadfont -c2 -f/usr/share/misc/pcvtfonts/koi8-r-8x8 /usr/sbin/kcon -m koi8 /usr/sbin/scon -o # Следующие строчки нужны только для OpenBSD 2.5 и более ранних версий # for t in /dev/ttyC[0-7]; do # echo -n '\033/X' > ${t} # done fi
После выполнения данных действий, на консоли можно будет нормально читать русский текст в кодировке koi8-r. Однако набор русского текста превратится в этакое упражнение по машинописи, чтобы набрать букву "ф" придётся нажать LeftAlt-A, "Ф" - Shift-LeftAlt-A, "ы" - LeftAlt-S и т.д. На домашней странице Игоря Грабина находится патч, позволяющий создать фиксированный переключатель.
В файл конфигурации X Window (/etc/X11/XF86Config
для XF4
или /etc/XF86Config
для X11) в раздел
Section "Files" добавьте следующую строчку,
перед ранее написанными директивами FontPath:
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/"
После рестарта X Window, вы сможете читать тексты на русском языке в кодировке koi8-r. Для ранних версий X Window, вам может понадобится установить дополнительные шрифты, для этого создан порт xcyrillic. Для русификации клавиатуры можно настроить XKB, либо воспользоваться xruskb.
Для того, чтобы настроить XKB:
В XFree86 3.x, необходимо добавить следующие строки в секцию
Keyboard файла /etc/XF86Config
:
XkbKeycodes "xfree86" XkbSymbols "us(pc101)" XkbGeometry "pc" XkbRules "xfree86" XkbModel "pc104" XkbLayout "ru" XkbOptions "grp:ctrl_shift_toggle"
В XFree86 4.x, необходимо добавить следующие строки в секцию
InputDevice файла /usr/X11/XF86Config
:
Option "XkbRules" "xfree86" Option "XkbModel" "pc101" Option "XkbLayout" "ru" Option "XkbOptions" "grp_led:scroll,grp:ctrl_shift_toggle"
Эти настройки можно сделать в удобной графической утилите xf86cfg
в разделе Keyboard.
В данных примерах переключателем режимов является комбинация клавиш Ctrl+Shift. Теперь чтобы увидеть вводимые Вами символы, необходимо эти символы определить, так как X Window ничего не знает о символах кириллицы. Для этого необходимо загрузить соответствующую раскладку с помощью xmodmap. Пример такой раскладки можно найти здесь или здесь.
Загрузка раскладки происходит по-умолчанию из файла ~/.Xmodmap
при
запуске startx. Если вы используете XDM, добавьте следующую команду в файл
~/.xsession
:
[ -x /usr/X11R6/bin/xmodmap ] && /usr/X11R6/bin/xmodmap ~/.Xmodmap
Более подробную информацию по настройке XKB можно получить здесь.
~/.xinitrc
или ~/.xsession
следующую
команду:
[ -x /usr/local/bin/xrus ] && xrus jcuken-koi8.xmm
Чтобы заставить bash работать с русскими буквами, нужно создать файл
~/.inputrc
, содержащий следующие строки:
set convert-meta off set input-meta on set output-meta on
Все приложения на базе GTK (GIMP, Slypheed, X-Chat и другие), можно
русифицировать добавив в ~/.gtkrc
следующие строчки:
style "user-font" { font = "-cronyx-helvetica-*-r-normal-*-12-*-*-*-*-*-koi8-r" } widget_class "*" style "user-font"
Под русификацией Majordomo мы подразумеваем приведение сообщений, отправляемых Majordomo, в ответ на запросы к такому виду, чтобы почтовый клиент не строил догадок относительно кодировки сообщения, а точно знал ее. Патч, который можно взять здесь, предназначен для Majordomo 1.94.5 и устанавливает кодировку сообщений в koi8-r.
Чтобы заставить mg работать с русскими буквами, достаточно создать файл
~/.mg
, содержащий строчку:
meta-key-mode
Наибольшую проблему при русификации Netscape представляют кнопки и поля ввода. К сожалению по-видимому не существует "нормального" способа решить эту проблему, но кое что все же сделать можно:
~/.Xdefaults
следующие строки:
*fontList: -cronyx-helvetica-medium-r-normal-*-14-*-*-*-*-*-koi8-r *documentFonts.charset*iso8859-1: koi8-r *toolBar*fontList: -cronyx-helvetica-medium-r-normal-*-14-*-*-*-*-*-koi8-r
Остальные настройки производятся обычным способом, из меню Edit/Preferences.
Начиная с OpenBSD 2.9, в программе talk, появилась поддержка русских символов.
Другие, более старые версии talk не поддерживали русские символы. Для решения
этой проблемы была создана программа bazar. Программа оформлена в виде порта с
использованием файлов из /usr/src/usr.bin/talk
от OpenBSD.
Загрузить порт bazar можно
отсюда.
Программа bazar полностью совместима с talk, но содержит следующие дополнения:
Стандартный дистрибутив OpenBSD содержит nvi/nex версию редакторов vi и ex.
Для того чтобы эти редакторы правильно отображали русские буквы, необходимо
создать файл
~/.nexrc, содержащий следующие строки:
set print=абвгдежзийклмнопрстуфхцчшщыьъэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЪЭЮЯ
set noprint=
[email protected]
$RuOBSD: howto-cyrillic.html,v 1.49 2002/04/09 20:17:03 dfa Exp $