Debian
Пожалуй самый обширный и ,,фундаментальный'' на сегодня дистрибутив. Разработка построена таким образом, что проще влиться в неё, нежели организовать свою ветку, как это произошло с RedHat подобными дистрибутивами.
Этот раздел посвящён кириллизации Debian 2.2. Если какие-либо действия надо совершить для младших версий этого дистрибутива— это будет отмечено особо.
В файле /etc/environment. Исправьте LANG=C на LANG=ru_RU.KOI8-R. В этом случае у всех пользователей включая root сообщения будут выводиться на русском языке и они смогут вводить русские буквы.
Опционально: Для root выдача сообщений на русском не слишком удобна, поэтому добавляем в ~root/.bashrc следующие строки:
LC_TIME=C; export LC_TIME LC_MESSAGES=C; export LC_MESSAGES
Если версия вашего дистрибутива меньше 2.2, то дополнительно выполните команду:
# mv /usr/share/locale/ru_SU /usr/share/locale/ru_RU.KOI8-R
с привилегиями пользователя root.
Зачем же мы удаляем ru_SU и делаем локаль с таким большим именем? Все потому, что SU— это сокращение страны Судан, а эта локаль предназначена для людей из России, говорящих по-русски. Можно было бы оставить ru_RU, скажете вы. Но ru_RU уже существует, это локаль с кодировкой ISO-8859-5. Поэтому следует поставить ru_RU.KOI8-R.
Если в системе все ещё инсталлирован пакет kbd, то замените его на console-tools. Вставьте в /etc/console-tools/config:
SCREEN_FONT=Cyr_a8x16 APP_CHARSET_MAP=koi2alt.trans
Выполните команду:
cp /usr/share/keymaps/i386/qwerty/ru1.kmap.gz /etc/console-tools/default.kmap.gz
с привилегиями пользователя root.
Первый вопрос, который возникает— зачем грузить какой-то APP_CHARSET_MAP? Действительно, если загрузить шрифт KOI8-R, то можно будет не грузить карту перекодировки (APP_CHARSET_MAP). В этом случае вместо символов псевдографики будут появляться русские буквы 'Д', а иногда даже 'YO'. Чтобы побороть это, можно сделать свой тип терминала (в debian есть linux-koi8). Но гораздо проще и грамотнее поставить cp866 шрифты и включить таблицу перекодировки. Последний шаг— копирование карты клавиатуры. ru1 рассчитана на 101-кнопочную клавиатуру без MicroSoft'овских клавиш и переключение по правому Alt.
Если версия вашего дистрибутива меньше 2.2, то вместо console-tools вам придётся воспользоваться пакетом kbd— в этом случае настройки будут следующие:
Вставьте в /etc/kbd/config:
CONSOLE_FONT=Cyr_a8x16 CONSOLE_MAP=koi2alt.
А так же необходимо добавить следующие строки для использования русских шрифтов и маппинга на всех виртуальных консолях:
SCREEN_FONT_vc1=Cyr_a8x16 SCREEN_FONT_vc2=Cyr_a8x16 ... SCREEN_FONT_vc6=Cyr_a8x16 APP_CHARSET_MAPvc1=koi2alt.trans APP_CHARSET_MAPvc2=koi2alt.trans ... APP_CHARSET_MAPvc6=koi2alt.trans
Выполните команды:
# cd /etc/console-tools # mv default.kmap.gz default.kmap.gz.orig # ln -s /usr/share/keymaps/i386/qwerty/ru1.kmap.gz default.kmap.gz
с привилегиями пользователя root.
Установите пакет xfonts-cyrillic со второго CD. Затем выполните команду
# ln -s /usr/X11R6/lib/X11/fonts/cyrillic /usr/X11R6/lib/X11/fonts/local
Теперь загрузите XF86Setup и скажите, что хотите Russian клавиатуру. Если вы не хотите пользоваться xdm, то в /etc/inittab измените id:2:initdefault: на id:1:initdefault:[18].
Если же вы хотите воспользоваться xdm, то, вам надо будет вставить строчку
. /etc/environment export LANG
в начале инициализационного сценария xdm (/etc/init.d/xdm). Затем в файле /etc/X11/xdm/xdm-config в конце вставьте строчку
DisplayManager.exportList: LANG
Зачем создавать символическую ссылку на /usr/X11R6/lib/X11/fonts/cyrillic? Дело в том, что XF86Setup, если видит каталог /usr/X11R6/lib/X11/fonts/local, то ставит его на первое место в секции ,,Files'' файла /etc/X11/XF86Config.
Зачем делать такие сложные выкрутасы с xdm? Чтобы xdm воспринял русскую локаль.
Если вы хотите установить шрифты Cyr-RFX-UTF-8u (См. раздел “Cyr-RFX”— для кириллицы отличной от русской), то у вас возникнут проблемы с приложениями gtk— как с эти бороться описано в разделе “Поддержка кириллицы в программах gtk”).
[18] Вместо правки /etc/inittab лучше поправить /etc/rc2.d/: переместить из этой директории куда-нибудь в созданную /usr/local/sys-bakup линк на /etc/init.d/xdm (S99xdm)