Страница:
---------------------------------------------------------------
- baldin@sky.inp.nsk.su))
Как-то пол года назад перевел для себя Cyrillic HOWTO Беликова - кое-что
устарело, кое-что лучше сделать по другому - но вобщем,- полезно. Если вы
хотите руссифицировать UNIX - то начинать лучше после того, как прочитали
этот техт (вероятно есть еще переводы, но пол года назад я их не нашел)
-----------------------------------------------------------------------
- abel@bfr.co.il), Berger Financial
Research Ltd. V3.15, 14 ноября 1997
В этом документе описывается, как настроить Linux для
редактирования, просмотра и печатати документов на Русском языке.
В этом документе описываются приемы которые нужны для
редактирования, просмотра, и печатати документов по-русски под
Linux. И хотя здесь предполагается, что вы используете Linux как
операционную систему, большинство описываемой информации
одинаково применимо к другим разновидностям Unix. Я попытаюсь
указывать на различия.
Имеется ряд популярных дистрибутивов Linux. В качестве примера
я выбрал RedHat 3.0.3 Linux (Picasso) и RedHat 4.1 Linux
(Vanderbildt) - это тот, который я лично использую. Однако, я
буду подчеркивать различия, если они существуют, при настройке
Slackware Linux.
Так как такая установка непосредственно изменяет и расширяет
операционную систему, то вы должны понимать, что делаете.
Несмотря на то, что я пробовал упростить изложение настолько,
насколько это возможно, наличие некоторого опыта работы с
настраевыемым программным обеспечением является преимуществом. Я
не собираюсь описывать что такое X Windows или как к создаются
документы в системах TeX и LaTeX, или как установить принтер в
Linux. Это описано других документах.
В большинстве случаев я описываю полную руссификацию ситемы, по
умолчанию требующей привилегии root. Хотя, если имеется
возможность для настройки на уровне пользователя, то я буду об
этом упоминать.
ОБРАТИТЕ ВНИМАНИЕ: X WIndows, TeX и другие компоненты Linux-
сложные системы с навороченным setupом. Если Вы сделаете что-либо
неправильно, то не только потерпите неудачу с руссификацией
системы, но и можите частично если не полностью испортить
систему. Это не должно вас пугать, это просто предупреждение,
котрое дает вам понять всю серьезность процесса настройки
такого типа. Очень рекомендуется сделать копии файлов
конфигурации. Также неплохо бы иметь возможность связаться с
гуру.
Этот документ лежит на sunsite.unc.edu или tsx-11.mit.edu и
является частью Linux Document Project. Также, его можно найти на
различных FTP, имеющих отношение к Linux. Кроме того, это
документ может быть включен в дистрибутив Linux.
Если у вас имеются любые предложения или исправления по
контексту этого документа, то, пожалуйста незамедлительно
проконтактируйте со мной abel@bfr.co.il. Предоставление любой
новой и полезной информации относительно поддержки Кириллицы в
различных Unixах крайне поощряется. Не забудьте, ведь это поможет
другим.
Много людей помогли мне (и не только мне) ценной информацией и
предложениями. И даже большое количество людей создало
программное обеспечение для public comunity. Мне очень жаль если я
забыл кого - то упоминуть.
Итак вот они нашы герои:
Bas V. Bakker
David Daves
Сергей Вакуленко
Сергей О. Наумов
Winfried Truemper
Илья К. Орехов
Michael Van Canneyt
Алексей Богданов
relcom.fido.ru.unix и relcom.fido.ru.linux Usenet newsgroups.
Этот документ - Copyright (C) 1995,1997 Александра Л. Беликова.
Он может использоваться и распростроняться под обычными Linux
HOWTO условиями, описанными ниже.
Далее идет - примечание к авторским правам Linux HOWTO:
Если не отмечено иначе, Linux HOWTO документы защищенны
авторскими правами их авторов. Linux HOWTO документы могут
воспроизводиться и распространяться полностью или частично, в
любым физическим или электронным способом, покуда это заявление
авторского права сохраняется во всех копиях. Коммерческое
распределение позволяется и поощряется; однако, автор хотел бы
уточнить правила относительно любых таких распространений.
Все работы, использующие данный документ, включая любой
Linux HOWTO, должны быть распространяться под этим же
соглашением. То есть вы не можете налагать дополнительные
ограничения на распространение своего продукта основанного на
данном HOWTO. Исключения к этим правилам могут предоставляться
только при некоторых условиях; пожалуйста войдите в контакт с
Linux HOWTO координатором по адресе, данном ниже.
Короче говоря, мы желаем поддержать распространение этой
информации через настолько многие каналы распространения
насколько это возможно. Однако, мы желаем сохранить авторские
права на HOWTO документы, и хотелось бы что бы нас предупреждали
о любых планах относительно распространиния этого HOWTO.
Если у вас имеются вопросы, пожалуйста войдите в контакт с Greg
Hankins, координатором Linux HOWTO , по gregh@sunsite.unc.edu.
Для того чтобы получить номер телефона и дополнительную
информацию для контакта вы можете напустить на этот адрес finger.
Unix is a technology trademark of the X/Open Ltd.; MS-DOS,
Windows, Windows 95, and Windows NT are trademarks of the
Microsoft Corp.; The X Window System is a trademark of The X
Consortium Inc. Other trademarks belong to the appropriate
holders.
Чтобы понимать и печатать символы различных языков, система и
программное обеспечение должна быть способна отличить их от
других символов. То есть каждый уникальный символ должен иметь
уникальное представление внутри операционной системы, или
специфического пакета программ. Такая совокупность всех
уникальных символов, которые система способна представить сразу,
называется codeset (кодировка).
Во время создания большенства операционных системе, никто не
заботился относительно программного обеспечения, являющегося
многоязычным. Следовательно, наиболее популярный codeset был (и
фактически остается им) ASCII (Американский Стандартный Код для
Информационного Обмена).
Стандарт ASCII (или ASCII с 7 битами) включает 128 уникальных
кодов. Они подразделяются на символы, которые ASCII определяет
как собственно печатаемые, и на так называемые символы
управления, которые имели специальные значения в старых
протоколах связи. Каждый элемент набора идентифицирован
целочисленным символьным кодом (0-127). Подмножество печатаемых
символов представляют те, которые находят на клавиатуре пишущей
машинки с некоторыми некоторыми добавлениями. Старший
разряд и 7ми бит использовался для целей управления (то есть, для
управления передачи в старых пакетах связи).
Концепция ASCII с 7 битами была расширена до ASCII с 8 битами
(или расширенного ASCII). В этой кодеровке, диапазон символов
соответствует кодам от 0 до 255. Младшие биты (0-127) - чистый
ASCII, в то время как старший разряд добавляет еще 127 символов.
Так как этот codeset обратно совместим с ASCII (символ все еще
занимает 8 бит, и коды полностью соответствуют старому ASCII),
этот codeset стал широко использоваться.
Стандарт ASCII с 8 битами не определяет содержание верхней
половины codeset. Поэтому МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО
СТАНДАРТИЗАЦИИ (ISO) взяла ответственность по определению
семейства стандартов, известных как ISO 8859-X семейство. Это -
совокупность 8ми битных кодировок, где младшая половина каждого
codeset (символы с кодами 0-127) соответствует ASCII, и старшая
половина определяет символы для различных языков. Например,
следующий codesets определены для:
8859-1 - Европа, Латинская Америка (также известный как Latin 1)
8859-2 - Восточная Европа
8859-5 - Кириллица
8859-8 - Идиш
В Latin 1, старшая половина таблицы определяет различные
символы, которые - не являются частью Английского алфавита, но
присутствовует в различных европейских языках (немецкие umlauts,
французские диакритические знаки и т.д).
Другая популярная реализация расширенного ASCII - так
называемая кодовая страница IBM (названная по имени компьютерной
компания, которая создала, этот codeset для своих персональных
компьютеров). Эта кодеровка в старшей половине содержит псевдо -
графические символы.
Программное обеспечение, которое не делает никаких
предположений о символах использующих 8-ой бит ASCII данных,
называется чисто 8ми битными. Несколько более старых программ,
разработанные для ASCII с 7 битами в памяти не для чистых 8 бит
могут работать неправильно с вашими расширенными ASCII данными.
Большинство пакетов, однако, способны работать с расширенным
ASCII по умолчанию, или для этого требуется простая
переконфигурация.
ОБРАТИТЕ ВНИМАНИЕ: перед заданием вопроса типа: " я делал все
установки правильно, но я не могу ввести или увидеть символы
Cyrillic! ", пожалуйста консультируйтесь с соответствующим
разделом в доументации к программе, которую Вы используете.
Так как в большинстве систем символы описываются 8ю битами, то
нет никакого способа расширить ASCII еще больше. Способ создания
новых символов в ASCII - это просто создание других расширенных
ASCII реализаций. С помощью этого способа была введена Кириллица
в ASCII.
Мы уже упомянули ISO 859-5 стандарт как тот, в котором
определяется codeset для Кириллицы. Но поскольку (как это часто
случается со стандартами), он был разработан без принятия во
внимание реальных процессов проходящих в СССР (когда это еще
было), то этот стандарт только увеличил беспорядок с кодировками
Кириллицы. Я не сказал бы, что ISO 8859-5 где-либо широко
используется.
Другие стандарты для Кириллицы включают, так называемый, Alt
codeset и кодовая страница Microsoft CP1251. Вышеупомянутый Alt
стандарт был разработан для МС-ДОС довольно давно. Тогда еще
слыхом не слыхивали про сети и поэтому основное усилие состояло в
том, чтобы сделать этот стандарт настолько насколько это возможно
совместимым с IBM стандартом. Следовательно Alt codeset -
действительно та же самая IBM кодовая страница, где все
специфические символы European в верхней половине были заменены
на Кириллицу, оставляя псевдографические символы нетронутыми.
Следовательно, это не портило вид программ использующих для
работы текстовые окна и также обеспечило символы Cyrillic. Alt
стандарт все еще жив и чрезвычайно популярен в среде МС-ДОС.
Microsoft CP1251 кодовая страница - это попытка Microsoft
придумать новый стандарт для кодеровки Кириллицы в Windows.
Насколько я знаю, это не совместимо с чем либо еще (и не
удивительное, три Ха-Ха)
Ну и наконец KOI-8. Этот стандарт токже довольно стар, но был
разработан настолько продуманно, что и в настоящее время основные
отправные идеи разработки выглядят действительно полезными.
Это станарт совместим с ASCII, и символы Cyrillic размещены в
старшей половине. Но основная идея проекта KOI-8 - то, что
позиции символов Cyrillic должны соответствовать символам English
с той же самой фонетикой. А именно, если мы устанавливаем восьмой
бит символа English " ", мы получим Кириллицу " ". Это означает,
что, в если в тексте Кириллицы, написанном в KOI-8, мы убираем
восьмой бит каждого символа, то мы все еще имеем читаемый текст,
хотя он и написан символами English! Это очень важно теперь, так
как имеется довольно много систем E-maile откусывающих восьмой
бит, так как они прбывают в уверенности, что каждый о человек на
поверхности Земли говорит на английском языке.
Не удивительно, что KOI-8 быстро стал фактическим стандартом
для Кириллицы в Internet. Андрей А. Чернов проделал огромное
количество работы, чтобы создать стандарт. Он - автор RFC 1489
("Registration of a Cyrillic Character Set ").
Эти два стандарта отличаются только в позициях символов
кириллицы в таблице (который определяется в кодах символа
кириллицы).
Принципиальное различие - то, что Alt codeset используется
пользователями МС-ДОС и только, в то время как KOI-8 используется в
Unix, также как в МС-ДОС (хотя в последнем KOI-8 намного менее
популярен). Так как мы идем правильным путем (а именно работаем в
Unix-оподобной операционной системе), мы будем в основном
останавливаться на рассмотрении KOI-8.
Что касается стандарта ISO, то он более популярен в Европе и США
как стандарт для Кириллицы. Лидер в России это определенно KOI-8.
Имеются также другие более гибкие стандарты, которые являются
отличными от ASCI. Больше всего известен стандарт Unicode.
Однако, они не встроены также хорошо как простой ASCII в Unix
вообще и Linux в частности. Следовательно, здесь я их не
описываю.
Вообще, настройка текстовых режимов - самый простой способ
показывать и вводить символы Cyrillic. Однако, имеется одно
значительное осложнение: текстовые шрифты и расположение символов
на клавиатуре зависят от реализации драйвера терминала.
Следовательно, не имеется никакого общего способа для достижени
цели цели в различных систем.
Ниже, я опишу способ как справиться с драйвером Linux console.
Поэтому если вы имеете другую систему, не ожидайте, что это будет
работать. Взамен, проконсультируйтесь с руководством по драйверу
терминала и пошлите мне любую информацию,которую Вы найдете, в
этом случае я смогу включить это в дальнейшие версии этого
документа.
Консольный драйвер Linux - довольно гибкий образчик
программного обеспечения. Он может менять шрифты и раскладки
клавиатуры. Чтобы селать это, вам нужен пакет kbd. И RedHat, и
Slackware устанавливают kbd как часть системы.
Пакет kbd содержит утилиты управления клавиатур, кроме этого с
ним поставляется широкий выбор шрифтов и раскладок.
Установка Кириллицы с помощью kbd обычно состоит из:
1. Экранной установки шрифтов, которая выполняется программой
setfont. Файлы шрифтов размещены в /usr/lib/kbd/consolefonts.
ОБРАТИТЕ ВНИМАНИЕ: Никогда не выполните программу setfont
под X, потому что это приведет систему к краху. Это происходит,
потому что пакет работает с обращениями видеоплаты низкого
уровня, которые X не переваривает.
2. Загрузки соответствующей раскладки клавиатуры программой
loadkeys.
ОБРАТИТЕ ВНИМАНИЕ: В RedHat 3.0.3, /usr/bin/loadkeys имеет
слишком ограниченные права доступа, а именно 700 (rwx ------).
Никаких причин для этого нет, так как каждый может скомпилировать
и запустить свою собственную копию пакета (соответствующие
системные вызовы не требуют привелегий root). Вам надо только
попросить, чтобы ваш sysadmin установил более адекватные для
этого права доступа (например, 755).
Следующее это выжимка из моего скрипта, загружающего кирилицу,
который устанавливает режим Cyrillic для консоли Linux:
if [ notset.$DISPLAY != notset. ]; then
echo "`basename $0`: cannot run under X"
exit
fi
loadkeys /usr/lib/kbd/keytables/ru.map
setfont /usr/lib/kbd/consolefonts/Cyr_a8x16
mapscrn /usr/lib/kbd/consoletrans/koi2alt
echo -ne "\033(K" # the magic sequence - Мумба-Юмба
echo "Use the right Ctrl key to switch the mode..."
Позвольте мне это пояснить. Вы загружаете соответствующую
раскладку клавиатуры. Затем загружаете шрифт, соответствующий Alt
codeset. Затем, чтобы быть отображать текст в KOI8-R правильно,
вы загружаете экранную таблицу перекодировки. Что это дает:
отображает некоторые символов из старшей половины codeset в Alt
кодировку. Слово " некоторый " является здесь центральным - не,
все символы отображаются, то есть некоторые из них,
соответствующие IBM псевдографическим символам для экрана и
дисплея не изменяются, так как они совместимы с Alt codeset, в
противоположность KOI8-R. Чтобы увериться, загрузите mc, и
вообразите, что Вы вернулись в старые добрые времена к МС-ДОС 3.3
...
В заключение, magic sequence (Мумба-Юмба) необходима, но я не
имею понятия, на кой она. Я украл/занял/научился этому из German
HOWTO в далеком 1994, когда это был единственным ориентированным
на национальный язык HOWTO. Если Вы имеете хоть какую-нибудь идею
относительно этой волшебной последовательности, пожалуйста
сообщите мне.
В заключение, для тех эстетов, кто не желает использовать Alt
codeset, я прилагаю другую версию загрузочного шрифта, используя
родные KOI8-R шрифты.
if [ notset.$DISPLAY != notset. ]; then
echo "`basename $0`: cannot run under X"
exit
fi
loadkeys /usr/lib/kbd/keytables/ru.map
setfont /usr/lib/kbd/consolefonts/koi-8x16
echo "Use the right Ctrl key to switch the mode..."
Однако, не ожидайте красивых рамок в ваших программах,
использующих для работы менюшки в текстовом режиме.
Теперь Вы вероятно хотите проверить это. Сконфигурируйте таким
образом bash или tcsh, перегрузите его, затем нажмите правую
Клавишу CTRL, и удостоверитесь, что Вы можите печатать на
русском. Клавиша "q" должна соответствовать "й", "w"
соответствует "ц", и т.д.
Если у вас возникли непредвиденные проблемы, то лучше всего
вернуться к родной (то есть US) раскладке. Для этого сделайте
следующие телодвижения:
loadkeys /usr/lib/kbd/keytables/defkeymap.map
setfont /usr/lib/kbd/consolefonts/default8x16
ОБРАТИТЕ ВНИМАНИЕ: к сожалению, консоль не способна сохранить
это состояние (по крайней мере без излишних ухищрений), когда
передается правление X Windows. Следовательно, после того, как вы
вышли из X (или переключаетесь на консоль), то вы должны
перезагрузить русский шрифт.
Я не использую FreeBSD, так что я не могу проверить следующую
информацию. Все данные в этом разделе должны восприниматься
только как приблизительные указатели направления действий. На
страничке FreeBSD, вероятно, что-то есть по этому вопросу.
Другой хороший источник информации- relcom.fido.ru.unix newsgroup.
Кроме того, проверьте источники, перечисленные в разделе """.
Во всяком случае, это - то, что Илья К. Орехов предлагает
сделать, чтобы заставить консоль FreeBSD говорить по русски:
1. In /etc/sysconfig add:
keymap=ru.koi8-r
keyrate=fast
# NOTE: '^[' below is a single control character
keychange="61 ^[[K"
cursor=destructive
scrnmap=koi8-r2cp866
font8x16=cp866b-8x16
font8x14=cp866-8x14
font8x8=cp866-8x8
2. В /etc/csh.login:
setenv ENABLE_STARTUP_LOCALE
setenv LANG ru_SU.KOI8-R
setenv LESSCHARSET latin1
3. Сделать аналогичные изменения в /etc/profile
4. X Windows
Подобно консольному режиму, X windows также требует некоторой
настройки. Настройка включает в себя настройку ввода и установку
X шрифтов. Данные действия обсуждаются ниже.
Прежде всего Вы должны получить шрифты, имеющие Кириллические
glyphs (изображения) в соответствующих местах.
Если Вы используете достаточно новый дистрибутив X (или
XFree86), то возможно, что у вас уже есть такие шрифты. В 1995, в
дистрибутив X Windows был включен набор шрифтов Кириллицы,
созданных Cronyx. Спросите администратора вашей системы, или,
если вы- это он и есть, проверьте вашу систему на предмет, а
именно::
1. Выполнить " xlsfonts | grep -i koi ". Если имеются
перечисленные шрифты, то ваш X сервер уже знает об их
существовании.
2. Или, наберите
find -name crox\*.pcf\*
Вы найдете местоположение шрифтов Кириллицы в системе. Вы
должны будете скормить эти шрифты X servery, как - я объясню ниже.
Если Вы не нашли такие шрифты в вашей системе, то вы должны
установить их сами.
Имеется некоторая неоднозначность со шрифтами. В документации
на XFree86 утверждается, что российская коллекция шрифтов,
включенная в набор разработанна Cronyx. Однако, вы можете найти
другой дистрибутив Cronyx шрифтов Кириллицы в сети (а именно на
ftp.kiae.su), известный, как пакет xrus (не путать это с
программой xrus, которая используется для установки расскладок
Кириллицы. К счастью, последняя была недавно переименована в
xruskb). Xrus имеет меньший набор шрифтов чем в коллекции Xfree86
(38 против 68), но последняя не подошла для работы с " Netscape "
- она подставила просто огромных шрифты в menubar Netscape. Пакет
xrus не имеет этой проблемы.
Я предложил бы, чтобы Вы загрузили и опробовали оба пакета.
Подберите тот, который вы найдете наиболее приятным в общении.
Кроме, я скоро создам RPMки для обоих пакетов, и положу, их в
ftp.redhat.com и в мой FTP архив.
Имеется также более старое решение, например пакет vakufonts,
созданный Сергеем Вакуленко, который стал основой для пакета
включенного в дистрибутив X Windows Имеется также ряд других
пакетов. Очень важно, что имена шрифтов в старой коллекии не
совпадают со стандартом полностью. Vakufonts в общем ниче, но
иногда из-за могут возникать различные сверхъестественные ошибки.
Например, у меня были проблемы с Maple V для Linux, который падал
по непонятным причинам с пакетом vakufonts, но прекрасно
работал со "стандартными" наборами.
Итак, давайте начнем со шрифтов:
1. Вытащите по ftp соответствующий набор шрифтов. Пакет для
XFree86 можно найти на любом FTP архиве, где лежит дистрибутив X
Windows, например, непосредственно на официальном XFree86 FTP
архиве. Пакет Xrus можно найти на ftp.kiae.su
2. Теперь, когда у вас есть шрифты, создайте директорию для
них. Поместить новые шрифты в уже существующий каталог шрифтов не
очень хорошая идея. Поместите их, например, в
/usr/lib/X11/fonts/cyrillic для настройки всей ситемы, или просто
создайте каталог у себя только для персонального пользования.
3. Если новые шрифты поставляются в формате BDF (* .bdf файлы),
то Вы должны скомпилировать их. Для каждого шрифта выполните:
bdftopcf -o <font>.pcf <font>.bdf
Если ваш server поддерживает сжатые шрифты, то сожмите их с
помощью compress:
compress *.pcf
Если же вы все-таки хотите поместить новые шрифты в уже
существующий каталог шрифтов, то Вы должны сростить старый и
новые файлы, с именем fonts.alias в том случае, естественно, если
оба существуют.
4. В каждый каталог шрифтов для X должен быть список шрифтов.
Этот список находится в файле fonts.dir. Вы не должны создавать
этот список вручную. Вместо этого, сделайте:
cd <new font directory>
mkfontdir .
5. Теперь Вы должны сделать этот каталог шрифтов известным для
X сервера. Здесь у вас есть ряд возможностей:
Общесистемная настройка для XFree86. Если вы используете эту
версию X Windows, то добавьте новый каталог к списку каталогов в
файле XF86Config. Чтобы найти его расположение, см. что говорит
startx при запуске. Более подробно смотрите man XF86Config (4/5).
Общесистемная настройка через xinit. Добавьте новый каталог к
файлу запуска xinit. Более подробно смотрите man xinit (1x).
Персональная настройка. У вас есть специальный файл для запуска
X - ~/.xinitrc (или ~/.Xclients, или ~/.xsession для
пользователей RedHat). Добавьте следующие команды в этот файл:
xset +fp <new font directory>
xset fp rehash
Обратить внимание, на опцию " + fp "- это означает, что новые
шрифты будут добавлены в начале списка директорий со шрифтами. То
есть если прикладная программа запрашивает, скажем, fix font, то
будет подставлен fixed font с символами Cyrillic, чего именно мы
и добивались.
Хотя имеются некоторые проблемы. В дистрибутиве шрифтов
кириллицы нет полужирного и курсивного fixed font. Мой любимый
шрифт - 6x13, а так, как полужирные и курсивные шрефты этого
размера также отсутствуют, то я не могу использовать Emacs/XEmacs
в полной мере. Надеюсь, что кто - то в конечном счете создаст эти
шрифты, и ситуация изменится.
6. А теперь перезапустите ваш X Windows., если вы все сделали
правильно, то тесты в начале раздела будут пройдены успешно.
Кроме того, поиграйтесь с xfontsel (1x), чтобы удостовериться что
Вы способны выбрать шрифты кириллицы.
Чтобы заставить X клиента использовать шрифты Кириллицы, Вы
должны установить соответствующие X resources. Например, я делаю
русский шрифт заданным по умолчанию в моем ~/.Xdefaults:
*font: 6x13
Так как мои шрифты кириллицы первые в списке пойска шрифтов то
они и подставляются если програма требует какой-либо шрифт с
именем, совпадающем с каким-либо из русских шрифтов (см. вывод)
Это простой пример. Если Вы хотите научить соответствующий X
client пользоваться кириллическим шрифтом , то Вы должны узнать
тип ресурса, который вам надо изменить (можно это сделать
используя editres (1x)) и определить его или в базе данных
ресурсов, или в командной строке. Например можно сделать так:
$ xterm -font '-cronyx-*-bold-*-*-*-19-*-*-*-*-*-*-*'
$ xfontsel -xrm '*quitButton.font: -*-times-*-*-*-*-13-*-*-*-*-*-koi8-*'
xfontsel.
В последних выпусках X (X11R61 и выше) имеются два
"стандартных" способа ввода с клавиатуры: родной способ,
работающий через утилиту xmodmap, и новый, называемый Xkb (X
KeyBoard). Первое что вы должны сделать это отключить Xkb способ!
Не давайте себя загипнотезировать его способностью устанавливать
"russian keyboard". Этот способ, вроде бы, использует описание
символов Кириллицы определенных в keysymdef.h. Этот файл
определяет символы для многих языков. Единственая проблема
состоит в том, что данное определения не позволяют, работать с
расширенным ASCII codeset - очень много программ могут работать
только с этой расскладкой! Я почти не знаю программ, которые
разбираются с описанием символов в keysymdef.h отличным от
стандартного 8ми битного ASCII. Однако, наша главная цель состоит
в том, чтобы заставить работать поддержку KOI8-R.
Чтобы отключить поддержку Xkb, в файле XF86Config изучите
раздел Keyboard и закомментируйте, все строки, начинающиеся с
Xkb. Взамен, добавьте следующую строку:
XkbDisable
Программа xmodmap позволяет настроить коды соответствующие
различными символам и их комбинациям. Эта настройка основанна на
файле, содержащем таблицу перекодировки.
В предыдущих версиях этого документа я очень подробно описывал
настройку кириллицы основанную на xmodmap. Это оказалось
практически бесполезным. Общеизвестно, что способ перекодировка
ввода, основанный на Xmodmap, является, не-портабельным, плохо
настраеваемым, и не окончательным. Ваши настройки могут работать
с одной версией XFree и сбоить при работе с другой. Более того,
иногда результат работы одной и той же настройки сильно разнится
для различных серверов из одного дистрибутива.
Я настоятельно советую вам не играть с xmodmap, по крайней мере
для начала. Вы не получите ничего кроме головной боли и
разочарования. Вместо этого, я рекомендую вам установить пакет
xruskb, который позволяет вам сконфигурировать большинство
входных параметров перекодировки без необходимости сталкиваться с