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

Материал из OpenBSD-Wiki
Перейти к навигации Перейти к поиску
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

Данная статья 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