BASH Programming - Введение

       

Русификация текстового режима.


Если в системе все еще инсталлирован пакет kbd, то замените его на console-tools. Вставьте в /etc/console-tools/config:

SCREEN_FONT=Cyr_a8x16 APP_CHARSET_MAP=koi2alt.trans

Выполните команду

cp /usr/share/keymaps/i386/qwerty/ru1.map.gz /etc/console-tools/default.map.gz

с привилегиями пользователя root.

Первый вопрос, который возникает -- зачем грузить какой-то APP_CHARSET_MAP? Действительно, если загрузить шрифт KOI8-R, то можно будет не грузить карту перекодировки (APP_CHARSET_MAP). В этом случае вместо символов псевдографики будут появляться русские буквы 'Д', а иногда даже 'YO'. Чтобы побороть это, можно сделать свой тип терминала (в debian есть linux-koi8). Но гораздо проще и грамотнее поставить cp866 шрифты и включить таблицу перекодировки. Последний шаг -- копирование карты клавиатуры. ru1 рассчитана на 102-кнопочную клавиатуру без MicroSoft'овских клавиш.

Если версия вашего дистрибутива меньше 2.2, то вместо console-tools вам придется воспользоваться пакетом kbd -- в этом случае настройки будут следующие:

Вставьте в /etc/kbd/config:

CONSOLE_FONT=Cyr_a8x16 CONSOLE_MAP=koi2alt.

Выполните команду

# cp /usr/share/keymaps/i386/qwerty/ru1.map.gz /etc/default.map.gz

с привилегиями пользователя root.


Для кириллизации следует выполнить следующие действия.

  • Переименовать файл /etc/rc.d/rc.font.sample в rc.font и добавить следующее содержание:



    setfont Cyr_a8x16 mapscrn koi2alt for n in 1 2 3 4 5 6; do echo -ne "\033(K" > /dev/tty$n done loadkeys ru.map

    таким образом, появятся русские буквы в консоли. Шрифты переключаются правым Ctrl.

  • Положить файл .inputrc

    следующего содержания в каталог /etc/skel:

    $if Bash set convert-meta off set output-meta on set input-meta on set show-all-if-ambiguous on "\e[1~" beginning-of-line "\e[2~" " " "\e[3~" delete-char "\e[4~" end-of-line "\e[C" forward-char "\e[D" backward-char "\e[A" previous-history "\e[B" next-history "\e[21~": "exit\C-m" # F10 - Exit from shell $endif

    здесь на F10 "повешана" команда exit.

  • В /etc/profile следует добавить:

    export LANG=ru_RU.KOI8-R export NLSPATH=/usr/share/locale/ru_RU/ export LESSCHARSET=koi8-r

  • При этом надо положить русскую локаль (ее можно взять в других дистрибутивах, или скачать и развернуть ) в /usr/share/locale/ru_RU/.
  • от root'а выполнить следующие команды:

    cd /usr/share/locale

    localedef -c -f /usr/share/i18n/charmaps/KOI8-R -i \\ /usr/share/i18n/locales/ru_RU \\ ru_RU.KOI8-R

    ln -s ru_RU.koi8r ru_RU.KOI8-R

    символами \\ обозначено продолжение строки -- эти строчки надо вводить в одну строку.

  • в том же каталоге следует поправить файл locale.alias -- добавить строчку:

    ru ru_RU.KOI8-R

    Все, Slackware на нижнем уровне русифицирована.



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