Online Documentation Server
 ПОИСК
ods.com.ua Web
 КАТЕГОРИИ
Home
Programming
Net technology
Unixes
Security
RFC, HOWTO
Web technology
Data bases
Other docs

 


 ПОДПИСКА

 О КОПИРАЙТАХ
Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.




Русификация Линукса (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

         Чтобы довершить первоначальную русификацию окружения пользователя расскажу как заставить 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