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



Содержание раздела