Ключевые слова:bsd, openbsd, rus, vi, netscape, samba, x, tex, wm, (найти похожие документы)
From: OpenBSD.ru <[email protected]>
Subject: Русификация OpenBSD
Оригинал: http://www.openbsd.ru/docs/howto-cyrillic.html
Русификация OpenBSD
"Ибо без русификации читать кириллицу невозможно." Лебедев.
_________________________________________________________________
Русификация OpenBSD
* Русификация wscons консоли
* Русификация PCVT консоли (OpenBSD 2.8 и ранние)
* Русификация X Window
Русификация программ
* Freeciv
* Fvwm (Fvwm2, Fvwm95)
* GQmpeg
* GTK приложений (GIMP, Sylpheed, X-Chat и т.д.)
* LaTeX
* Majordomo
* Mg
* Netscape
* Opera
* Readline приложений (bash, mysql, psql, smbclient и т.д.)
* Samba
* Talk
* TWM - Tab Window Manager
* Vi/Ex
_________________________________________________________________
Русификация OpenBSD
Русификация wscons
Начиная с OpenBSD 2.9, драйвер консоли pcvt(4) был удалён из системы,
в пользу нового драйвера wscons(4).
Раскладка клавиатуры
Русская раскладка была добавлена после выхода 2.9, поэтому для набора
текста в 2.9, вам необходим этот скрипт http://www.openbsd.ru/files/koi8-map.sh
(пример его использования см. ниже). В случае если у вас OpenBSD 3.0 или новее,
добавьте в файл /etc/kbdtype раскладку вашей клавиатуры. Если вы указали тип раскладки
при установке системы раскладка уже должна стоять правильно.
# echo "ru" > /etc/kbdtype
альтернативный (файлу /etc/kbdtype) вариант - раскомментировать
следующею строку в /etc/wsconsctl.conf:
keyboard.encoding=ru
Набор русского текста происходит так же, как и в pcvt(4) консоли -
зажимая правый Alt. Для реализации т.н. sticky переключателя
(фиксированного) доступен патч (http://violent.death.kiev.ua/soft.html)
и краткое руководство по установке.
Начиная с версии 3.0, такой переключатель интегрирован в OpenBSD.
Отображение кириллицы
Для отображения кириллицы необходимо загрузить шрифт и настроить
экраны (консоли).
На экранах созданных ядром кириллица отображаться не будет.
Необходимо:
* либо пересобрать ядро с меньшим числом экранов по умолчанию
(option WSDISPLAY_DEFAULTSCREENS=6), загрузить шрифт и создать
новые
* либо удалить созданные по умолчанию экраны, загрузить шрифт и
создать их заново
Экран ttyC0 создаётся всегда и не может быть удалён, поэтому не может
отображать кириллицу.
Итак, если мы создаём custom ядро, необходимые в ядре опции (оставляем
по умолчанию два экрана, на которых не будет видно кириллицы):
option WSDISPLAY_COMPAT_USL
option WSDISPLAY_COMPAT_RAWKBD
option WSDISPLAY_COMPAT_PCVT
option WSDISPLAY_DEFAULTSCREENS=2
Исходя из количества экранов по умолчанию, в данном случае два,
добавляем в /etc/rc.local следующие строки, в зависимости от версии
OpenBSD, для создания трёх дополнительных экранов с предварительно
загруженным русским шрифтом. Не забудьте запустить дополнительные
процессы getty(8), если нужны, на этих экранах, см. ttys(5).
Для 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
# удаляем экраны созданные по умолчанию (для GENERIC)
# /usr/sbin/wsconscfg -d $SCREEN
/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
# удаляем экраны созданные по умолчанию (для GENERIC)
# /usr/sbin/wsconscfg -d $SCREEN
/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
Русификация PCVT консоли
Версии 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
Для русификации консоли:
1. Убедитесь, что система собрана с драйвером PCVT. Файл конфигурации
ядра должен содержать следующую строчку:
vt0 at isa? port 0x60 irq 1
2. Добавьте в /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 и
т.д. На домашней странице Игоря Грабина находится патч,
позволяющий создать фиксированный переключатель, http://violent.death.kiev.ua/soft.html
Русификация X Window
В файл конфигурации 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.
http://www.openbsd.org/cgi-bin/cvsweb/ports/russian/xcyrillic/
Для русификации клавиатуры можно настроить XKB, либо воспользоваться
xruskb. http://www.openbsd.org/cgi-bin/cvsweb/ports/russian/xruskb/
Настройка XKB
Для того, чтобы настроить 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 файла /etc/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. Пример такой раскладки можно найти
http://www.openbsd.ru/files/Xmodmap или ftp://ftp.kiarchive.ru/pub/cyrillic/x11/Xmodmap
Загрузка раскладки происходит по-умолчанию из файла ~/.Xmodmap при
запуске startx. Если вы используете XDM, добавьте следующую команду в
файл ~/.xsession:
[ -x /usr/X11R6/bin/xmodmap ] && /usr/X11R6/bin/xmodmap ~/.Xmodmap
Более подробную информацию по настройке XKB можно получить http://www.tsu.ru/~pascal/other/xkb
Установка xruskb
Установите порт xruskb. Добавьте в ~/.xinitrc или ~/.xsession
следующую команду:
[ -x /usr/local/bin/xrus ] && xrus jcuken-koi8.xmm
Русификация программ
Freeciv
Для того, чтобы изменить шрифт в freeciv (xaw версии) для русских
сообщений, необходимо добавить следующую строку в файл ~/.Xdefaults
Freeciv*font: -cronyx-helvetica-medium-r-normal-*-12-*-*-*-*-*-koi8-r
Fvwm (Fvwm2 и Fvwm95)
Чтобы включить поддержку русских букв в менеджерах семейства fvwm,
нужно указать шрифты "cronyx" в следующих строчках конфигурационного
файла (.fvwmrc, .fvwm2rc, .fvwm95rc):
WindowFont -cronyx-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
MenuFont -cronyx-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
*FvwmPagerFont -cronyx-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*FvwmButtonsFont -cronyx-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*MiniButtonsFont -cronyx-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*FvwmIdentFont -cronyx-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
*FvwmWinListFont -cronyx-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*FvwmTaskBarFont -cronyx-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*
*FvwmTaskBarSelFont -cronyx-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*
GQmpeg
GQmpeg поддерживает перекодировку тегов (win1251 -> koi8). Для этого,
его необходимо собрать с опцией --enable-russian. Добавьте следующие
строчки в файл /etc/mk.conf и пересоберите GQmpeg из портов.
PORTSDIR?= /usr/ports
.if ${.CURDIR} == ${PORTSDIR}/audio/gqmpeg
CONFIGURE_ARGS+= --enable-russian
.endif
В разделе Файлы (http://www.openbsd.ru/files/) доступны skin'ы с поддержкой русских букв.
Приложений на базе GTK
Все приложения на базе GTK (GIMP, Sylpheed, X-Chat и другие), можно
русифицировать, добавив в ~/.gtkrc следующие строчки:
style "user-font"
{
font = "-cronyx-helvetica-*-r-normal-*-12-*-*-*-*-*-koi8-r"
}
widget_class "*" style "user-font"
LaTeX
Для того, чтобы документы могли содержать русские буквы, необходимо
подключить пакет русификации и указать кодировку в преамбуле
документа. Например:
\documentclass{article}
\usepackage[koi8-r]{inputenc}
\usepackage[russian]{babel}
\begin{document}
\LaTeX~--- макропакет, позволяющий авторам верстать и печатать их работы
с высоким типографским качеством, при помощи заранее определённых,
профессиональных макетов.
\end{document}
Для того, чтобы активизировать переносы в русских словах запустите
утилиту texconfig, выберите раздел hyphenation, далее latex и
раскомментируйте строку:
russian ruhyphen.tex
Majordomo
Под русификацией Majordomo мы подразумеваем приведение сообщений,
отправляемых Majordomo, в ответ на запросы к такому виду, чтобы
почтовый клиент не строил догадок относительно кодировки сообщения, а
точно знал её. Патч, который можно взять здесь
ftp://ftp.openbsd.ru/pub/OpenBSD/local/patches/majordomo-1.94.5-koi8.patch.gz,
предназначен для Majordomo 1.94.5 и устанавливает кодировку сообщений в koi8-r.
Mg - emacs-like text editor
Чтобы заставить mg работать с русскими буквами, достаточно создать
файл ~/.mg, содержащий строчку:
meta-key-mode
Netscape
Наибольшую проблему при русификации Netscape представляют кнопки и
поля ввода. К сожалению по-видимому не существует "нормального"
способа решить эту проблему, но кое что все же сделать можно:
1. Прежде всего конечно следует русифицировать X Window.
2. Установите порт netscape (navigator или communicator).
3. Добавьте в файл ~/.Xdefaults следующие строки:
Netscape*fontList: -cronyx-helvetica-medium-r-normal-*-14-*-*-*-*-*-koi8-r
Netscape*documentFonts.charset*iso8859-1: koi8-r
Netscape*toolBar*fontList: -cronyx-helvetica-medium-r-normal-*-14-*-*-*-*-*-koi8-r
Остальные настройки производятся обычным способом, из меню
Edit/Preferences.
Opera
Для русификации title, кнопок и полей ввода необходимо запускать opera
с переменной окружения LANG установленной в koi8-r.
$ env LANG=koi8-r opera
Остальные настройки производятся обычным способом, из меню
File/Preferences.
Readline приложений
Приложения на базе readline (bash, mysql, psql, smbclient и т.д.)
могут работать с русскими буквами. Для этого необходимо создать файл
~/.inputrc, содержащий следующие строки:
set convert-meta off
set input-meta on
set output-meta on
Samba
Для того, чтобы Windows клиенты видели русские буквы, в файл
/etc/samba/smb.conf добавьте следующие строки:
[global]
...
client code page = 866
character set = koi8-r
...
Для того, чтобы в smbclient можно было вводить русские буквы,
необходимо создать файл ~/.inputrc, как это описано в разделе
посвящённом русификации Readline приложений.
Talk
Начиная с OpenBSD 2.9, в программе talk, появилась поддержка русских
символов. Другие, более старые версии talk не поддерживали русские
символы. Для решения этой проблемы была создана программа bazar.
Программа оформлена в виде порта с использованием файлов из
/usr/src/usr.bin/talk от OpenBSD. Загрузить порт bazar можно
отсюда ftp://ftp.openbsd.ru/pub/OpenBSD/local/ports/net/bazar/
Программа bazar полностью совместима с talk, но содержит следующие
дополнения:
* Добавлен скроллинг в окна
* Поддерживаются русские символы
* Добавлена возможность перекодировки koi8-r <> windows-1251
Tab Window Manager
Для того, чтобы Menu, Title и IconManager в TWM писали по русски,
необходимо иметь следующие строчки в ~/.twmrc (помимо остальной
конфигурации TWM). Пример настройки TWM можно посмотреть тут
http://www.openbsd.ru/files/twmrc
TitleFont "-cronyx-helvetica-medium-r-normal-*-12-*-*-*-*-*-koi8-r"
MenuFont "-cronyx-helvetica-medium-r-normal-*-12-*-*-*-*-*-koi8-r"
IconManagerFont "-cronyx-helvetica-medium-r-normal-*-12-*-*-*-*-*-koi8-r"
Vi/Ex
Стандартный дистрибутив OpenBSD содержит nvi/nex версию редакторов vi
и ex. Начиная с OpenBSD 2.9, в nvi/nex правильно отображаются русские
буквы. Для ранних версий OpenBSD, необходимо создать файл ~/.nexrc,
содержащий следующие строки:
set print=абвгдежзийклмнопрстуфхцчшщыьъэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЪЭЮЯ
set noprint=