Emacs для начинающих

       

Путь второй: старый, проверенный


Данный способ является своеобразным "шагом назад", поскольку подразумевает, что Вы будете использовать устаревшую кодировку KOI8-R вместо современной UTF. Если Вы занимались русификацией предыдущих версий Red Hat,часть нижеизложенного будет Вам знакома. Остальные читатели в случае необходимости могут обратиться за детальной информацией к Cyrillic-HOWTO.

Итак, попробуем применить хорошо известное решение: SYSFONT="Cyr_a8x16" и SYSFONTACM="koi2alt" (о его плюсах написано все в том же HOWTO). К сожалению, в таком виде оно не работает. Причина кроется в скрипте /sbin/setsysfont, который почти не менялся со времен consoletools. Любой заглянувший в него не может не обратить внимания на вопиющую дискриминацию - для kbd (setfont) не поддерживается переменная SYSFONTACM! Я отправил сообщение об этой ошибке (включая исправленную версию сценария) на bugzilla.redhat.com, исправление должно появиться в initscripts 6.96-1 или более поздней версии. После исправления этой ошибки (например, путем скачивания моей версии setsysfont) и установки вашей любимой клавиатурной раскладки (что-нибудь типа ru*, но никак не *-utf!) не забудьте удалить подстроку "UTF-8" из имени локали, поскольку иначе консоль переключится в режим UTF и откажется принимать Вашу KOI8-R.

После всех этих манипуляций файл /etc/sysconfig/i18n будет иметь следующий вид: LANG="en_US"
SUPPORTED="по умолчанию"
SYSFONT="Cyr_a8x16"
SYSFONTACM="koi2alt"

Если Вашей целью было создание "пан-европейской" версии Linux (это когда русские буквы отображаются, но все общение с системой происходит на английском языке), Вас опять можно поздравить. Если нет - читайте дальше.
Для окончательной русификации (установки российского формата даты, времени, валюты, русскоязычных сообщений в отдельных программах) следует установить соответствующую локаль, например "ru_RU.koi8r". К сожалению, здесь нас опять поджидают проблемы - в такой среде у Midnight Commander и некоторых других программ (setuptools, например) пропадет псевдографика. MC, помимо этого, опять отказывается выводить русские буквы где-либо, кроме меню, да и в нем - в искаженном виде. "Корень зла" во всех случаях один - используемые библиотеки (NCurses, S-Lang) скомпилированы с поддержкой Unicdoe, в то время как она нам совсем не нужна. Необходимо перекомпилировать их в однобайтовом режиме (вот он, истинный шаг назад - мы, по сути, устраняем изменения, внесенные в Red Hat Linux после версии 7.3). Рассмотрим эту процедуру на примере Midnight Commander. Его "излечение" проходит в два этапа:

  • Откомпилируйте NCurses в без поддержки UTF (./configure --disable-widec)
  • Перекомпилируйте MC с использованием NCurses вместо традиционного S-Lang (./configure --with-ncurses)
  • Подробную информацию о других ключах компиляции ищите в документации к соответствующим пакетам.

    На мой взгляд, наиболее приемлемым вариантом русификации является "пан-европейский" KOI8-R. UTF-режим, безусловно, удобен, но еще недостаточно отлажен. Думается, что им вполне можно будет пользоваться в версиях 8.2-8.3. Полная русификация в не-UTF режиме - слишком трудоемкая операция. Если русскоязычный интерфейс для вас превыше всего, имеет смысл обратить внимание на KDE, благо с ее русификацией особых проблем не возникает.

    Автор выражает благодарность Шабунио Ю.А. за ценные идеи и плодотворную дискуссию.



    Содержание раздела