Наши
Сайдбары
   
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 АНДРЕЕВ
Дата: 25.07.2003

Прикрутка cp1251 к консоли RedHat

1. Что для этого нужно и где это взять.

Я работал с версией 7.2 дистрибутива RedHat. Подобные действия наверняка можно выполнять и в других дистрибутивах (не rpm-based) с поправкой на пути. Необходимо чтобы в системе присутствовали пакеты kbd, console-tools и glibc-common - из них потребуются консольные шрифты, раскладки клавиатуры, кодовые страницы и программы loadkeys, consolechars (или setfont) и localedef. Я также использовал оболочку bash.


2. Теория.

Теорию нижеследующего расписывать не буду, так как я в ней не очень силен. Если кто захочет мне это объяснить или просто добавить к этой статье - добро пожаловать. Частично это описано в статье geekkoo здесь же, в Библиотеке, в разделе "X-сервер" статья "Русский в X-ах". Часть информации оттуда почерпнул и я :), за что автору спасибо.


3. Практика.

Сначала надо "собрать" локаль, потому как в это версии RedHat русской локали в кодировке cp1251 нет. Делается это примерно следующим образом:

# cd /usr/share/i18n
# localedef -f CP1251 -i ru_RU ru_RU.cp1251

По прошествии некоторого времени в каталоге /usr/lib/locale должен появиться каталог с файлами нашей локали - ru_RU.cp1251. Все, локаль есть. Теперь нам нужно загрузить нужные раскладку клавиатуры, шрифт и кодовую страницу. Это можно сделать так:

# loadkeys /lib/kbd/keymaps/i386/qwerty/ru-cp1251.kmap
# consolechars -f /lib/kbd/consolefonts/cyr-sun16
# consolechars -m /lib/kbd/consoletrans/cp1251.acm

Теперь надо скомандовать так называемую "магическую последовательность", которая заставляет ядро переключиться на работу с пользовательской кодовой страницей. Для того, чтобы узнать об этом побольше, обычно отсылают к документации по пакету kbd. Делается это так:

# echo -ne "\033(K"

Ну и напоследок надо немного поколдовать с bash'ем:

# set meta-flag on
# set convert-meta off
# set output-meta on

Теперь надо выбрать нужную локаль:

# export LANG=ru_RU.cp1251

(проверить можно при помощи команды locale) и при нажатии правой клавиши Ctrl должен включаться ввод русского языка в кодировке cp1251.



4. На каждый день.

Чтобы это работало постоянно, необходимо это вставить куда-нибудь, что выполняется при каждой загрузке системы или при каждом логоне. Вариант с загрузочными скриптами у меня почему-то не прошел, поэтому я выбрал второе и прописал команды начиная с loadkeys и заканчивая set output-meta в ~/.bash_profile. Также необходимо поправить файл /etc/sysconfig/i18n для выбора корректной локали для работы:

LANG="ru_RU.cp1251"
SUPPORTED="ru_RU.cp1251:ru_RU:ru"


5. Заключение.

В принципе, описанный метод подходит для настройки работы системы в любой кодировке. Необходимо только наличие соответствующих шрифтов, раскладки, кодовой страницы и локали, либо если нужной локали нет, то "исходников" для ее "сборки".


Ну и по идее это все должно отразиться и на работе в иксах.



6. Замечания.

Для дистрибутива Slackware Linux команду localedef следует дополнить путем для создаваемой локали:
localedef -c -f CP1251 -i ru_RU /usr/lib/locale/ru_RU.cp1251


7. Автор.

San АНДРЕЕВ.



Обоснованные дополнения и исправления вэлкам через почту портала либо через /dev/null.



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

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

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

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