Прикрутка cp1251 к консоли RedHat | Версия для печати |
1. Что для этого нужно и где это взять. # 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. Опубликовал: San АНДРЕЕВ |