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

Материал из OpenBSD-Wiki
Перейти к: навигация, поиск

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

Данная статья 100 % копипаст с www.openbsd.ru

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

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

Добавьте в файл /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