Русификация OpenBSD

"Ибо без русификации читать кириллицу невозможно." Лебедев.

Русификация OpenBSD

Русификация программ


Русификация консоли

Русификация консоли происходит в две стадии: смена раскладки клавиатуры и настройка русских шрифтов.

Раскладка клавиатуры

Добавьте в файл /etc/wsconsctl.conf раскладку вашей клавиатуры. Если вы указали тип раскладки при установке системы, раскладка уже должна стоять правильно. Также укажите тип переключателя раскладки. В данном примере настраивается "sticky" переключение раскладок клавишей правый Ctrl.

	keyboard.encoding=ru
	keyboard.map+="keycode 157 = Mode_Lock"

Текущую раскладку можно получить, выполнив следующую команду:

	# wsconsctl keyboard.map

Для того чтобы поправить текущую раскладку клавиатуры, можно воспользоваться тем же приемом. Данный пример позволяет набирать букву "ё", нажимая комбинацию Shift+~ (раскладка Windows):

	keyboard.map+='keycode 41 = grave asciitilde Cyrillic_yo Cyrillic_YO'

Отображение кириллицы

Для отображения кириллицы необходимо загрузить шрифт и настроить экраны (консоли).

Экран ttyC0 создаётся ядром и не может быть удалён, поэтому на нем нельзя отобразить кириллицу.

Исходя из количества экранов по умолчанию, добавим в /etc/rc.local следующие строки для создания шести дополнительных экранов с предварительно загруженным русским шрифтом. Не забудьте запустить на этих экранах процессы getty, см. ttys(5).

	# загружаем русский koi8 шрифт
	wsfontload -h 16 /usr/share/misc/pcvtfonts/koi8-r-8x16
	# или украинский koi8 шрифт
	# wsfontload -h 16 /usr/share/misc/pcvtfonts/koi8-u-8x16

	# создаем консоли с поддержкой кириллицы
	for cons in 6 7 8 9 10 11; do
		wsconscfg -t 80x25bf $cons
	done

Русификация X Window

В файл конфигурации X Window /etc/X11/xorg.conf в раздел Section "Files" добавьте следующую строчку:

	FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/"

Также для управления шрифтами используется fontconfig, позволяющий использовать такие свойства TrueType шрифтов как антиалиасинг и хинтинг. Это средство широко используется в программах на основе тулкитов Gtk+ 2.x и Qt. Поэтому рекомендуется установить порт /usr/ports/x11/msttcorefonts, содержащий бесплатные шрифты от Microsoft или /usr/ports/x11/liberation-fonts.

Для возможности ввода кириллицы следует настроить xkb.

Настройка xkb

Для того, чтобы настроить xkb:

В Xorg необходимо добавить следующие строки в секцию InputDevice файла /etc/X11/xorg.conf:

	Option	"XkbModel"   "pc105"
	Option	"XkbLayout"  "us,ru(winkeys)"
	Option	"XkbOptions" "grp_led:scroll,grp:ctrl_shift_toggle"

В данном примере режим переключается комбинацией клавиш Ctrl+Shift. При переключении раскладки будет загораться Scroll Lock (если задан параметр grp_led).

Также необходимо определить несколько переменных окружения. Этого можно достичь, добавив в файл ~/.xsession (если используется xdm) или ~/.xinitrc:

	export LC_COLLATE=C LC_CTYPE=ru_RU.KOI8-R LC_MONETARY=C \
		LC_NUMERIC=C LC_TIME=C

Более подробную информацию по настройке xkb можно получить здесь.

Русификация программ

Emacs

Для того, чтобы заставить Emacs воспринимать 8-битные кодировки и в частности koi8-r, необходимо добавить следующие команды в ~/.emacs:

	(set-language-environment "Cyrillic-KOI8")
	(set-keyboard-coding-system 'koi8-r)
	(set-terminal-coding-system '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-*-*-*-*-*-*

Приложений на базе GTK+ 1.2

Все приложения на базе GTK+ версии 1.2 (GIMP, Sylpheed, X-Chat и другие) можно русифицировать, добавив в ~/.gtkrc следующие строчки:

	style "user-font"
	{
		font = "-cronyx-helvetica-*-r-normal-*-12-*-*-*-*-*-koi8-r"
	}

	widget_class "*" style "user-font"

ksh

Для того, чтобы была возможность вводить кириллицу в ksh, необходимо добавить следующую команду в ~/.profile:

	set +o emacs-usemeta

LaTeX

Для того, чтобы документы могли содержать русские буквы, необходимо подключить пакет русификации и указать кодировку в преамбуле документа. Например:

	\documentclass{article}
	\usepackage[koi8-r]{inputenc}
	\usepackage[russian]{babel}
	\begin{document}
	\LaTeX~--- макропакет, позволяющий авторам верстать и печатать их работы
	с высоким типографским качеством при помощи заранее определённых,
	профессиональных макетов.
	\end{document}

Для того, чтобы активизировать переносы в русских словах, запустите утилиту texconfig, выберите раздел hyphenation, далее latex и раскомментируйте строку:

	russian ruhyphen.tex

mg - emacs-like text editor

Чтобы заставить mg работать с русскими буквами, достаточно создать файл ~/.mg, содержащий строчку:

	meta-key-mode

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] необходимо добавить следующие строки:

Если используется samba 3.x:

	dos charset = cp866
	unix charset = koi8-r

Если используется samba 2.x:

	client code page = 866
	character set = koi8-r
Для того, чтобы в smbclient можно было вводить русские буквы, необходимо создать файл ~/.inputrc, как это описано в разделе, посвящённом русификации Readline приложений.

Tab Window Manager

Для того, чтобы Menu, Title и IconManager в TWM писали по-русски, необходимо изменить следующие строчки в ~/.twmrc (помимо остальной конфигурации TWM). Пример настройки TWM можно посмотреть тут.

	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"

xterm

Начиная с версии OpenBSD 4.2 xterm поставляется из исходного кода xenocara. Для возможности ввода и вставки из буфера кириллицы необходимо при запуске xterm указывать опцию -k8:

	% xterm -k8
Также можно установить данную настройку по умолчанию, добавив в файл ~/.Xdefaults следующую строчку:
	XTerm*allowC1Printable: true

OpenBSD.ru www@openbsd.ru
$RuOBSD: howto-cyrillic.html,v 1.108 2010/11/01 10:57:47 dinar Exp $