| |
Довольно старый дистрибутив. Один из первых массовых дистрибутивов.
Из чего же сделана русификация в RedHat? Как известно, в Linux существуют два конкурирующих пакета управления шрифтами и клавиатурой: kbd и consoletools. В RedHat 5.x для русификации консоли применялся пакет kbd. В RedHat 6.x применяется уже другой пакет— consoletools. Разницы между ними радикальной нет, но это, увы, делает несовместимым пакет initscripts для версий RedHat 5.x и 6.x.
Русификация (и вообще включение национальных установок) в Linux RedHat 5.2 осуществляется из пакета initscripts. Не будем вдаваться в подробности работы SYSV init, опишем краткий путь. Предполагается, что читатель данного текста умеет пользоваться пакетом RPM, который весьма важен в RedHat.
Клавиатура в RedHat 5.2 на нижнем уровне управляется утилитой loadkeys из пакета kbd-096a-8. Пакет стандартный, RedHat лишь добавил туда несколько новых раскладок.
Запускается loadkeys из /etc/rc.d/init.d/keytable, управляющий файл /etc/sysconfig/keyboard. Там прописывается единственная переменная KEYTABLE:
/etc/sysconfig/keyboard: ============ KEYTABLE=ru1 ============
Есть интерактивная утилита смены раскладки: kbdconfig, которая на самом деле лишь прописывает значение в /etc/sysconfig/keyboard.
Файлы клавиатурных раскладок лежат в /usr/lib/kbd/keymaps/.
Мне нравится раскладка ru_win_ctrl.map.gz от IP Labs. Переключение по правому Ctrl, точка и запятая в русском регистре, как в Windows, т.е. рядом с правой кнопкой Shift. (На моей клавиатуре нарисовано именно так). Надо положить этот файл в /usr/lib/kbd/keymaps/i386/quwerty/, запустить kbdconfig и выбрать ru_win_ctrl. (Хотя и родная раскладка ru1 тоже ничего— точка и запятая на Shift 6, Shift 7).
Включить новую раскладку на ходу можно, запустив /etc/rc.d/init.d/keytable start
Консоль в RedHat 5.2 на нижнем уровне управляется утилитами setfont и mapscrn из пакета kbd-096a-8.
Все, что необходимо сделать, это выполнить следующие команды:
$ setfont Cyr_a8x16 $ mapscrn koi2alt
Кроме того, необходимо переключить Charset G1 на вновь загруженный шрифт. Для этого нужно на все виртуальные консоли /dev/vty* вывести ,,магическую'' последовательность ESC (K.
$ echo -ne "\033(K"
К сожалению, с русификацией консоли в RedHat не все так прозрачно, как с клавиатурой. Отдельной ,,подсистемы'' для управления консолью нет. А если делать все по-RedHat'овски, то возникают проблемы.
RedHat рекомендует использовать ,,новый'' формат, с UNICODE таблицей:
$ setfont Cyr_a8x16 -u koi8
К сожалению, на ,,новом'' формате сползают рамки в mc и других программах. В RedHat 6 применяется другой пакет: consoletools, и другая версия initscripts, там все сделано немного по-другому.
Но попробуем выкрутиться!
Все утилиты запускаются из файла /sbin/setsysfont (на самом деле это shell-скрипт), параметры для которого живут в /etc/sysconfig/i18n. Не очень понятно, каково отношение между i18n и шрифтами, но тем не менее это так.
/etc/sysconfig/i18n ===== SYSFONT= UNIMAP= =====
Не очень понятно, откуда посылать ESC (K. Можно посылать его, например, из ~.profile
Делайте так же, как описано в разделе Глава 5. X Window— настройка ничем от стандартной настройки не отличается.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |