Наши
Сайдбары
   
IRC-канал
Linuxportal.ru
   
Импорт новостей
 
Вход Быстрая регистрация На главную

Поиск:
 
   БИБЛИОТЕКА
     Другие статьи этого раздела:
 

    Система
Другие разделы библиотеки:
   БИБЛИОТЕКА
     последние поступления:
 

Hardware
Перевод Serial-Programming-HOWTO
15.05.2006 | San АНДРЕЕВ
Перевод Linux Power Management Support
03.04.2004 | San АНДРЕЕВ
Варианты решения проблем со смещением геометрии монитора.
10.10.2003 | EsTaF
Multimedia
VideoCD для пингвинов
10.10.2003 | Buddha
Смотрим любимые фильмы с помощью MPlayer
23.07.2003 | Alexey Dmitriev
X-сервер
Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах
05.07.2006 | Alexey Dmitriev
НАСТРОЙКА СЕРВЕРА XDMCP ДЛЯ WINDOWS-КЛИЕНТОВ
09.09.2004 | Kotjara
Type1 и truetype шрифты в LaTeX.
03.05.2004 | geekkoo
Разное
Как самому написать концепцию информационной безопасности
22.03.2007 | Crion
Список рекомендуемой литературы
11.09.2006 | San АНДРЕЕВ
The Multi Router Traffic Grapher
02.06.2004 | Crion
Сеть
"Огненная стена" или строим файрвол на базе iptables
15.03.2005 | Alexey Dmitriev
Защищенная почтовая система
08.09.2004 | Crion
Postfix+Cyrus-SASL
18.12.2003 | geekkoo
Система
Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
16.01.2007 | Mr.Nobody
Перевод Linux Daemon HOWTO
21.08.2006 | San АНДРЕЕВ
Усыпляем компьютер
11.01.2006 | San АНДРЕЕВ
   БИБЛИОТЕКА Система    
Автор статьи: San АНДРЕЕВ
Дата: 23.07.2003

Руссификация консоли RedHat 9, работающей в utf-8

название статьи: руссификация utf-8 консоли в RedHat 9
версия: 0.1
ключевые слова для поиска: русский руссификация консоль utf-8 utf8 redhat red hat 9

Эта статья подается как есть, без каких-либо гарантий, но с надеждой на то, что может оказаться полезной при решении каких-то проблем. Я также снимаю с себя любую ответственность за последствия ваших действий, выполненных в соответствии с инструкциями в этой заметке.

1. Общие соображения.
При выборе во время инсталляции языком по умолчанию русского мы получаем русскоговорящую консоль. Т.е. те же шелл, MC, vi выводят читабельные русские сообщения. Однако при попытке ввести что-то по-русски на консоли появляется всякий мусор. Отсюда следует, что из рассмотрения можно удалить консольные шрифты (вместе с SFM) и ACM (хотя при работе в режиме utf драйвер клавиатуры использует свою собственную таблицу перекодировки utf-unicode - в unicode работает ядро). Остается только раскладка.

2. Файл раскладки клавиатуры.
Один из вариантов строки, обозначающей реакцию ядра на нажатие какой-либо клавиши имеет следующий формат:

keycode = num plain keysym keysym keysym ...

Здесь keycode - служебное слово, num - код клавиши (заметьте - это не то же самое, что сканкод), plain - сам символ или его код, keysym - это то, как нужно поступить ядру при обнаружении кода num - здесь может быть другой символ, строка или действие. keysym'ов может быть определено до 256, однако за каждый keysym'ом (точнее - за каждой позицией после num) закреплен модификатор. В данный момент в драйвере определено только 8 модификаторов - это Shift, AltGr (или правый Alt), Control, Alt, ShiftL, ShiftR, CtrlL CtrlR. Они перечислены в порядке соответствия их своим местам, т.е. первое место соответствует самому символу без модификаторов, второе место - нажатию клавиши num с клавишей Shift (любой), третье - с клавишей AltGr (правый альт), четвертое - с клавишей Control и т.д.

Я понял это так. Не претендую на корректность, поэтому если я все-таки не прав - поправьте пожалуйста.

3. Действия.
Вооружившись этими соображениями и списком кодов русских символов в utf-8, я открыл свой файл раскладки клавиатуры (/lib/kbd/keymaps/i386/qwerty/ru_win.map.gz). Выяснилось, что он оставлен без изменеий со времен использования koi8-r, т.е там прописаны старые коды, которые отображаются как раз на тот мусор, который появляется в консоли при включении русской раскладки (коды от C0 до FF). Поэтому я сделал предположение, что изменение этих кодов на utf-ные значения исправит положение. Так и оказалось. Исправленный файл раскладки лежит . Достаточно только подменить им уже имеющийся и потом либо перелогиниться, либо загрузить раскладку вручную при помощи loadkeys.

Единственное, чего мне поправить не удалось - изменение регистра русских букв при нажатии CapsLock. Но дело было уже ночью, мне хотелось спать и совершенно не хотелось изучать этот момент, потому как я этой клавишей не пользуюсь. Если кто знает решение - скажите, я внесу исправления в статью.

4. Замечания.
Тем не менее, набирать и просматривать русский текст с помощью MC не получится - он не понимает русского текста в utf-8. Однако vi ведет себя корректно. Остальные программы не пробовал.

Как это работает в RH 8 я не проверял. По идее должно работать нормально.

При желании прицепить какую-нибудь специфичную клавишу со своей клавиатуры для выяснения ее кейкода воспользуйтесь программой showkey.

5. Документация.
man keymaps
man loadkeys
man dumpkeys

6. Автор.
San АНДРЕЕВ


Обоснованные замечания и исправления приветствуются.



Все статьи раздела "Система"

©"Linuxportal.Ru". Материалы сайта можно
использовать свободно при условии
сохранения этой свободы при дальнейшем
распространении, если явно не указано иное

Дизайн и программирование:

Поставьте
нашу кнопку:
Получить код кнопки
Linux Portal.ru ::: Линукс Портал.ру
Наш партнер: