Ну раз уж пообещал, то вылаживю свой взляд на русификацию...
Кодировка utf-8 уже поддерживается на уровне ядра, поэтому Патрик включил
возможность использования этой фичи в сам процесс установки дистрибутива.
Точнее, в скрипт /sbin/liloconfig.
вот та самая часть скрипта liloconfig, на которую в процессе установки
дистрибутива нужно обязательно ответить "YES", хотя по умолчанию активна
кнопка "NO".
ask_utf() {
if [ "$(uname -r | cut -f 3 -d .)" -gt "23" ]; then
dialog --defaultno --title "USE UTF-8 TEXT CONSOLE?" --yesno \
"Beginning with the 2.6.24 kernel, the text consoles default to UTF-8 mode. \
Unless you are using a UTF-8 locale (\$LANG setting), using the old default \
of a non-UTF text console is safer until some issues with various console \
programs are addressed. This option has no effect on the use of UTF-8 with X. \
\"No\" is the safe choice here." 10 70
fi
}
В результате будем иметь такую строку в файле /etc/lilo.conf:
# Append any additional kernel parameters:
append=" vt.default_utf8=1"
Таким образом, включается поддержка UTF-8 на уровне самого ядра.
Следующим шагом, будет объявление системе о нашем выборе русской локали,
путём изменения содержимого файла /etc/profile.d/lang.sh. Там нужно
прописать такую строку:
вместо
Можно обьявлять не всеобщую локализацию, а по пунктам:
#!/bin/sh
# Russian locale
export LC_ALL=
export LANG="ru_RU.UTF-8" # определяет языковую локаль системы
export LC_CTYPE="ru_RU.UTF-8" # определяет одиночные символы и тип символа (буква, цифра,...)
export LC_NUMERIC=C # формат чисел
export LC_TIME="ru_RU.UTF-8" # формат времени
export LC_COLLATE="ru_RU.UTF-8" # используется для сравнения строк
export LC_MONETARY="ru_RU.UTF-8" # валюта
export LC_MESSAGES="ru_RU.UTF-8" # системные сообщения
export LC_PAPER="ru_RU.UTF-8" # формат бумаги
export LC_NAME="ru_RU.UTF-8" # формат имён
export LC_ADDRESS="ru_RU.UTF-8" # формат адресов
export LC_TELEPHONE="ru_RU.UTF-8" # формат телефонов
export LC_MEASUREMENT=ru_RU.UTF-8 # формат измерений?
export LC_IDENTIFICATION=ru_RU.UTF-8 # идентификация
export LESSCHARSET=UTF-8 # Эта команда решает некотрые проблеммы связанные с man
То есть, если в команде "формат времени" прописать,
export LC_TIME=C # формат времени
то вывод даты будет производиться в английском варианте, в сё остальное,
будет согласно русским стандартам.
Следующим шагом, подключим раскладку клавиатуры, чтобы иметь возможность
вводить кириллицу в консоли. В пакете kbd-1.15.2-i486-1.txz включены
клавиатурные раскладки и шрифты обеспечивющие поддержку кириллицы.
Раскладки располагаются по адресу:
/usr/share/kbd/keymaps/i386/qwerty/*.map.gz
Там их целая куча
Но нас интересует одна, она должна поддерживать стандарт UTF-8 и переключать
раскладки комбинацией ctrl+shift. Она засвечена курсором на скрине -
ruwin_ct_sh-UTF-8.map.gz.
Создаём (редактируем) скрипт подключающий раскладку в работу.
Вариантов подключения много, привожу один из них:
Скрипт /etc/rc.d/rc.keymap
#!/bin/sh
#
# Этот скрипт загружает клавиатурную раскладку (keymap).
# каталог с клавиатурнмыми раскладками находится
# /usr/share/kbd/keymaps/i386/qwerty/
#
kbd_mode -u # режим UTF-8
loadkeys ruwin_ct_sh-UTF-8.map.gz # перекл. rus/lat = ctrl+shift
Сюда же можно добавить строку объявляющую системе подключение шрифта:
Название шрифта уже прописано в самом скрипте /usr/bin/unicode_start:
# Tell the graphics card how to display Unicode characters not
# contained in the IBM 437 character set (on PCs). The font should
# have a Unicode map attached, or explicitly specified, e.g.,
# by giving `def.uni' as a second argument.
DEFAULT_UNICODE_FONT=LatArCyrHeb-16
# Also drdos8x16 is a good candidate.
Таким образом, консоль по умолчанию будет полностью русифицирована.
Вариант предложенный выше:
#!/bin/sh
#
# This selects your default screen font from among the ones in
# /usr/share/kbd/consolefonts.
#
unicode_start LatArCyrHeb-16
for i in 1 2 3 4 5 6;do
echo -ne "\033%G" >/dev/tty$i
done
включает шрифт в шести первых консольных окнах. Но я не пользуюсь таким
колличеством консольных окон, мне всегда одного хватало.
Вообще то я больше поклонник GUI.