RedHat Linux 8.0 - решение проблем кириллизации консоли (linux redhat rus unicode)
Ключевые слова: linux, redhat, rus, unicode, (найти похожие документы)
From: Валентин Синицын <Valentine.Sinitsyn@usu.ru>
Subject: RedHat Linux 8.0 - решение проблем кириллизации консоли
http://belen.pp.ru/other.php?id=16
Red Hat Linux 8.0: проблемы кириллизации консоли
30 сентября компания Red Hat, Inc. выпустила восьмую версию своего
дистрибутива Linux. Как известно, "точка-ноль" дистрибутивы приносят
не только новые возможности, но и новые проблемы...
Не обошла сия печальная доля и Red Hat Linux 8.0. Цель этой статьи -
помочь Вам обойти "подводные камни" в процессе русификации консоли
(далее под этим термином мы будем понимать экран монитора в текстовом
режиме, отодвигая таким образом клавиатуру на второй план).
Мы начнем с "незыблемых основ" русификации Linux, после чего перейдем
к тонкостям, относящимся только Red Hat 8.0. Поскольку каждое
приложение имеет свою специфику, мы ограничимся, пожалуй, самым
популярным из них - файловым менеджером Midinght Commander.
Русификация остальных программ происходит либо автоматически (ls, rpm
и другие "простые" утилиты), либо не представляет существенной
проблемы (lynx). В любом случае, подробную информацию по каждой
конкретной программе (а также многое другое) всегда можно найти в
Cyrillic-HOWTO Е.М. Балдина.
Азбука кириллизации
Рассмотрим схематически процесс вывода на экран некоторого символа
"x":
* Прикладная программа, желая вывести "x" на экран, записывает в
стандартный поток вывода соответствующую ему последовательность
байт, которая в конечном счете достигает драйвера консоли (часть
ядра Linux). Если драйвер консоли в этот момент находится в режиме
UTF, он предполагает, что входные данные были записаны именно в
этой кодировке, и использует стандартный алгоритм для
преобразования UTF в Unicode (внутренняя кодировка ядра). В
противном случае (т.н. "однобайтовый" или "ASCII" режим) драйвер
использует таблицу перекодировки символов (Application Character
Map, ACM) для перевода входного потока в Unicode. В ядре Linux
отведено место для четырех таблиц ACM: cp437, vt100, iso01 и
user-defined. Последнюю из них как раз и можно использовать для
вывода однобайтовых кириллических кодировок (например, KOI8-R).
Выбор пользовательской кодировки осуществляется
ESC-последовательностью "