Вход/Регистрация
Linux для пользователя
вернуться

Костромин Виктор Алексеевич

Шрифт:

Итак, для того, чтобы русифицировать консоль, нужно выполнить следующую последовательность команд:

• - для версии 5.2 Red Hat:

loadkeys /usr/lib/kbd/keytables/i386/qwerty/ru.map

setfont /usr/lib/kbd/consolefonts/Cyr_a8x16

mapscrn /usr/lib/kbd/consoletrans/koi2alt

echo -ne '\033(K'

• - для версии 6.0 Red Hat (и последующих):

loadkeys /usr/lib/kbd/keytables/i386/qwerty/ru.map

consolechars -f /usr/lib/kbd/consolefonts/Cyr_a8x16

consolechars -m /usr/lib/kbd/consoletrans/koi2alt

Но выполнять эту последовательность команд после каждого перезапуска компьютера, да еще в каждой виртуальной консоли, слишком обременительно. Поэтому рассмотрим вкратце, как русификация выполняется в дистрибутиве Black Cat Linux.

11.3.2 Как это сделано в дистрибутиве Black Cat

Во-первых, в файле /etc/sysconfig/i18n вводится новая переменная: в версии 5.2 это переменная SCRNMAP, а в версии 6.02 - SYSFONTACM. Этой переменной по умолчанию присваивается значение "koi2alt". Вот стандартный файл i18n из Black Cat Linux версии 6.02:

LANG=ru

LINGUAS=ru

LC_ALL=ru_RU.KOI8-R

SYSFONT=RUSCII_8x16

SYSFONTACM=koi2alt

Вызов файла i18n для задания значений переменных осуществляется из скрипта /sbin/setsysfont, из которого вызываются также команды setfont и mapscrn (в версии 5.2) или consolechars (в версии 6.0). Вот этот скрипт из Black Cat Linux версии 5.2:

– ----------------------------------

#!/bin/sh

if [ -f /etc/sysconfig/i18n ]; then

. /etc/sysconfig/i18n

fi

if [ -x /usr/bin/setfont ]; then

if [ -n "$SYSFONT" ]; then

/usr/bin/setfont $SYSFONT

fi

if [ -x /usr/bin/mapscrn ]; then

if [ -n "$SCRNMAP" ]; then

/usr/bin/mapscrn $SCRNMAP

fi

fi

else

echo "can't set font"

exit 1

fi

– -----------------------------------

Как видно, при вызова скрипта /sbin/setsysfont выполняются команды "setfont Cyr_a8x16" и "mapscrn koi2alt". После этого, для включения в ядре кодовой таблицы пользователя, необходимо выдать на каждую виртуальную консоль последовательность "\033(K". Это реализовано путем добавления этой последовательности к файлу /etc/issue, который генерируется при загрузке системы скриптом /etc/rc.d/rc.local и вызывается на исполнение при логировании каждого пользователя. Вот пример скрипта /etc/rc.d/rc.local из версии 5.2:

– ------------------------------------

#!/bin/sh

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

if [ -f /etc/blackcat-release ]; then

R=$(cat /etc/blackcat-release)

elif [ -f /etc/redhat-release ]; then

R=$(cat /etc/redhat-release)

else

R="release 3.0.3"

fi

arch=$(uname -m)

a="a"

case "_$arch" in

_a*) a="an";;

_i*) a="an";;

esac

# This will overwrite /etc/issue at every boot. So, make any changes you

# want to make to /etc/issue here or you will lose them when you reboot.

. /etc/sysconfig/i18n

echo "" > /etc/issue.net

echo "Black Cat Linux $R" >> /etc/issue.net

echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue.net

if [ -n "$SCRNMAP" ]; then

echo -ne "\033(K" > /etc/issue

else

echo "" > /etc/issue

fi

if [ -f /usr/bin/linux_logo ]; then

  • Читать дальше
  • 1
  • ...
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: