Существуют консольные программы, возможно, давно заброшенные авторами, которые работают исключительно в кодировке KOI-8. Ниже я дам рецепт, как заставить их работать в Ubuntu.

1. Во-первых, вам нужна локаль KOI-8. В последних версиях системы они генерируются автоматически, нужно лишь указать, какие именно локали нужны. Для русского языка список локалей находится в файле /var/lib/locales/supported.d/ru. В него нужно добавить строку

ru_RU.KOI8-R KOI8-R

или

ru_UA.KOI8-U KOI8-U

для Украины.

После этого генерируем локали:

1
sudo locale-gen ru

2. Вам нужны шрифты в кодировке KOI-8. Они есть в пакетах xfonts-cronyx-koi8r(u)-xxxdpi. Установите их

3. Нужен терминал для запуска программы. Подойдет xterm или mlterm, специально созданный для поддержки многоязычных консольных программ.

3.1 Настроим xterm:

Сначала создадим файл KOI8UXterm с таким содержимым:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
! Use
! xterm -class KOI8UXTerm
! to set resources for KOI8-U mode with corresponding fonts.
#include "XTerm-color"</p>
<p>*fontMenu.Label: KOI8-U Fonts
*VT100*allowC1Printable: true</p>
<p>! Use Cyrillic instead of Latin fonts.
*VT100.font: -cronyx-courier-*-r-normal-*-20-*-*-*-*-*-koi8-u
*VT100.font2: -cronyx-courier-*-r-normal-*-17-*-*-*-*-*-koi8-u
*VT100.font3: -cronyx-courier-*-r-normal-*-14-*-*-*-*-*-koi8-u
*VT100.font4: -cronyx-courier-medium-r-normal-*-20-*-*-*-*-*-koi8-u
*VT100.font5: -cronyx-courier-medium-r-normal-*-17-*-*-*-*-*-koi8-u
*VT100.font6: -cronyx-courier-medium-r-normal-*-14-*-*-*-*-*-koi8-u</p>
<p>
Записываем его в папку /etc/X11/app-defaults. Создаем исполняемый файл koi8uxterm:

1
2
3
4
5
#!/bin/sh
whoami=koi8uxterm
: ${XTERM_PROGRAM=xterm}
export LANG=ru_UA.KOI8-U
exec $XTERM_PROGRAM -class KOI8UXTerm -title $whoami -k8 "$@"

Все, теперь можно запускать нашу программу:

1
2
3
#!/bin/sh
exec koi8uxterm -geometry 100x40 -e program parameters</p>
<p>
Здесь 100х40 — размер окна терминала в символах, program — запускаемая программа, parameters — ее ключи.

3.2 mlterm настраивать не нужно, достаточно будет добавить нужные шрифты в файл ~/.mlterm/font:

KOI8_U = 20,-*-*-medium-r-*-*-*-*-*-*-*-*-koi8-u;

Запускаем аналогично:

1
2
3
#!/bin/sh
export LANG=ru_UA.KOI8-U
exec mlterm -geometry 100x40 -e program parameters

Страница просмотрена 1041 раз(а)