|
Русификация Линукса (SlackWare)Ниже Вам предлагается один из путей русификации Linux'a, а конкретно его дистрибутива,известного под названием SlackWare. Все ниженаписанное было опробовано и работает для дистрибутивов SlackWare 3.0 .2 .5, но я сомневаюсь, что в других версиях этого дистрибутива найдутся существенные отличия.Под русификацией тексовой консоли я понимаю возможность без проблем читать и писать тексты на русском языке, а также иметь правильную обработку русских букв. Итак, сначала сделаем, что бы можно было читать по русски - для этого загрузим соответствующие шрифты в память видеоадаптера. Здесь два пути - сразу записать шрифты в кои-8 или сначала записать шрифты в кодировке дос (ср866), а потом включить трансляцию кои-8 в ср866. Второй путь выгодней из-за двух причин - в любой момент на начальном этапе вы спокойно можете читать тексты с дос кодировкой и впоследствии без каких-либо правок иметь нормальное отображение псевдографики. Для первого пути в /etc/rc.d/rc.local (rc.font) пропишите следующую строчку setfont koi8-8x16после setfont стоит имя файла с образом шрифта, который мы загружаем в память видеоадаптера. Все шрифты по умолчанию лежат в /usr/lib/kbd/consolefonts для второго пути пропишите в /etc/rc.d/rc.local (rc.font) setfont Cyr_a8x16 mapscrn koi2alt for n in 1 2 3 4 5 6; do echo -ne "\033(K" > /dev/tty$n doneПервая строчка загружает образ шрифта, вторая задает правила трансляции символов (лежат в /usr/lib/kbd/consoletrans), а последние три строчки предназначены для того, чтобы включить трансляцию на терминалах, хотя можно и делать это другими способами. Например : 1.Прописать команду включения в /etc/issue, но этот способ является некорректным, так как по умолчанию в SlackWare /etc/issue.net (в нем содержиться приглашение пользователям ,которые заходят на вашу машину снаружи) сделан линком на /etc/issue, и соответсвенно на экране у них будет появляться мусор. 2.Прописать все эти команды в свой профайл, но тогда придеться делать проверку того, что вы не находитесь в X-Window, иначе при каждом запуске xterm у вас будут идти сообщения об ошибке). 3.Ну и наконец просто руками вводить на каждой консоли, где надо нормальные русские буквы, волшебную командочку echo -ne "\033(K". И все , теперь Вы без проблем можете читать тексты в кодировке koi8, и дополнительно ко второму способу после команды mapscrn trivial можете читать Ваши файлы в дос - кодировке (обратно - опять mapscrn koi2alt) Второй шаг - возможность вводить русские буквы - это делается еще проще ... пишем в /etc/rc.d/rc.local после команд загрузки шрифта следующее: loadkeys ru1.map(можете попробовать другие раскладки - они лежат в /usr/lib/kbd/keytables. Итак , посмотрите, какой у вас шелл (смотреть надо в /etc/passwd на строчку со своим логином и искать слова типа bash,csh,tcsh и тд) В случае bash идем в свой домашний каталог, в самый корень, и создаем там файл .inputrc со следующим содержимым (если Вы хотите, что бы при добавлении пользователей им не приходилось зано прописывать этот файл вручную, скопируйте его в /etc/skel) : set meta-flag on set convert-meta off set output-meta on "\e[3~": delete-char "\e[1~": beginning-of-line "\e[4~": end-of-line "\e[e": end-of-line "\e[\C-@": beginning-of-lineперелогиньтесь (или просто зайдите с другой консоли) и наблюдайте, как вводятся русские буковки . Последний шаг - установка locale (это нужно для того, чтобы система нормально могла работать с русским языком (сортировка, даты и прочее). Для этого создаете в каталоге /usr/share/locale каталог ru_SU.KOI8-R и разверните там этот (работающий у автора,взятый где-то в дебрях интернета) файл (или другой,которые Вы возможно нашли где-то еще.Проверить, то ли у Вас, просто: наберите ls /usr/share/locale/ru_SU.KOI8-R- на экране должно появиться аналогичные строчки: bash$ ls /usr/share/locale/ru_SU.KOI8-R LC_COLLATE LC_MESSAGES LC_NUMERIC libc.cat LC_CTYPE LC_MONETARY LC_TIME bash$). Для последнего шага пропишите в /etc/profile или в вашем локальном профайле (в случае bash) всего три строчки export LANG=ru_SU.KOI8-R export NLSPATH=/usr/share/locale/ru_SU.KOI8-R/ export LESSCHARSET=koi8-rДля tcsh надо вместо export поставить setenv и опять перелогиньтесь. Все, теперь у Вас есть возможность читать и писать тексты в кои-8 , система осведомлена о русском языке. Как это проверить ?. Очень просто - как русские буковки вводятся вы и так увидите, теперь введите команду cal (календарь) - должны будут увидеться русские названия месяцев. Теперь более сложный тест: введите echo Тест|dd conv=ucaseесли на экране увидите что-то отличающееся от ТЕСТ - значит что-то вы не так сделали-смотрите , где ошиблись и исправляйте. ВСЕ, на этом русификация текстовой консоли завершена! . Теперь будем русифицировать X-Window - это не намного сложнее, чем текстовую консоль - ищем файл XF86Config (скорее всего, он лежит либо в /etc/ либо в вашем домашнем каталоге) и ищем в нем такие строчки: Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" ..... EndSectionИтак , смотрим каталог /usr/X11R6/lib/X11/fonts/ на предмет русских шрифтов (обычно каталог cyr или cyrillic) и если находим, ставим путь к ним в самом начале перед всеми описаниями путей, как показано выше.Если же не находим, значит Вы при инсталяции XFree не установили русские шрифты. Возьмите из дистрибутива файл /slakware/x1/x332fcyr.tgz, и разверните его, находясь в /). В итоге секция "Files" в файле XF86Config должна стать похожей на вышеприведенную. Теперь можете спокойно перезагрузить XFree (или если нельзя - то почитайте man на предмет xset +fp и xset rehash) После загрузки Вашего оконного менеджера проверьте, появились ли у вас шрифты: запустите xfontsel и выставьте последние два параметра (registry-encoding) в koi8-r - Вы должны увидеть русский язык. Как быть, если русских шрифтов не хватает или их начертание Вас не устраивает,а Вам позарез надо написать что-то где-нибудь красивое до невозможности ? Есть такая вещь, называется FontServer - он может по любому доступному каналу связи раздавать шрифты (и не надо хранить большие мегабайты шрифтов на машинах, где они могут понадобиться).Ссылка на используемый мной фонт-сервер (xfstt) лежит в конце страницы. Скачиваем сервер, конфигурируем, инсталлируем (./configure;make;make install - только прочитайте INSTALL перед установкой) ,отбираем у ближайшего виндузятника сидюк с кучей ttf или достаем любым другим правозаконным способом шрифты и переписываем их в /usr/ttfonts.Запускаем фонт-сервер командами /usr/X11R6/bin/xfstt -sync /usr/X11R6/bin/xfstt -encoding koi8-r,windows-1251 &и все, теперь у нас на 7100ом порту запущен фонт-сервер. Добавляем путь к нему либо руками (xset +fp ...) либо правим XF86Config(и перезапускаем XFree) , как показано ниже : Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "inet/127.0.0.1:7100" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"(выделенная строчка).Теперь все установленные шрифты Вы можете использовать в своих программах.Замечу, что фонт-серверов может быть несколько,только необходимо, что бы на время работы XFree они все были доступны. Ввод русских букв Cуществует 2 общепринятых пути ввода русских букв: 1.Через xmodmap или "хакерский", который меняет modmap во время работы. 2.Через xkb, рекомендуемый авторами XFree. Второй способ используется, когда Вам кроме ввода русских букв в кои-8 не требуется (что в стране 6ти кодировок случается довольно редко), а первый во всех остальных случаях. Во втором случае вам просто надо поправить XF86Config на тему того, какая клавиша будет заниматься переключением раскладок (man XF86Config) и сказать xmodmap <вашараскладка>. Первый способ чуть сложнее - его и опишем. надо взять переключатель клавиатуры (xrus) и соответсnвующим образом настроить его ./configure;make;make install и отредактировать в /var/X11R6/lib/app-defaults/xrus на предмет *altMap - тут описываются все раскладки, которые Вы желаете использовать , пример ниже ........... ! To use several alternate modmaps, specify the following ! resources: *altMaps: /var/X11R6/lib/xinit/.Xmodmap.1251 /var/X11R6/lib/xinit/.Xmodmap *altmap0.labelString: Win map *altmap1.labelString: KOI map ...........Запускаем xrus и проверяем ввод русских букв везде, где только сможем. Если Вам надо еще одну раскладку - снова просто правим конфиг xrus, перезапускаем его и получаем еще одну раскладку клавиатуры Самый распоследний шаг, проверьте файл locale.alias (/var/X11R6/lib/locale/locale.alias) на предмет того, что бы русские локали указывали на ru_SU.KOI8-R, а не на ISO. Чтобы довершить первоначальную русификацию окружения пользователя расскажу как заставить Netscape правильно пониамть русский алфавит. Вам надо сделать несколько шагов: первое - взять новый нетскейп (4.х) (в новых дистрибутивах он уже достаточно новый) второе - скопировать вот этот файлик себе в домашний каталог третье - поставить View-Encoding-Cyrillic(KOI8-R) & View-Encoding-Set default encoding Перегрузите нетскейп и наслаждайтесь жизнью! Владимир Водолазкий сделал файлы русификации Netscape - теперь почти все сообщения выводятся на русском. Смотреть на http://come.to/vodolaz ссылки, относящиеся к данной теме ... Файлики локали Раскладка клавиатуры для кои-8 Раскладка клавиатуры для вин-1251 TTF-сервер для X-Window Переключатель клавиатуры Список часто задаваемых воросов из RU.LINUX Локаль как она есть Посмотрите наконец в библиотеке, там Вы тоже можете найти немало советов ! (c) 1998 Вячеслав Калошин |
|||||||||||||||||
With any suggestions or questions please feel free to contact us |