reaver
info-reaver site

THE_REAVER

the_reaver about linux

Сайт для линуксоидов

   -- ##     Статьи    ###     Программы    ###     Ссылки    ## --    
   
На главную    


Книги в pdf    

Коллекция HOWTO

Картинки и обои  

Музыка 



Русификация консоли

Для того чтобы русифицировать консоль, необходимо настроить как правиль- ный вывод символов на экран, так и ввод их с клавиатуры. Начнем с вывода символов. Как Linux осуществляет вывод какой-либо строки на экран? Сначала строка пропускается через так называемую screen map (карту соответствия), переко- дирующую выводимые символы в соответствии с используемым терминалом шрифтом. Это позволяет, в принципе, использовать различные кодировки, не изменяя шрифт на консоли. В Linux и прочих Unix-подобных системах в качестве основной русской коди- ровки используется кодировка KOI8-R. У этой кодировки есть много преиму- ществ по сравнению с используемыми в других системах IS08859-5 и кодовыми страницами 1251 и 866, но мы не будем их здесь обсуждать. Итак, что же нужно сделать, чтобы настроить вывод символов в кодировке KOI8 на экран? Во-первых, мы должны загрузить русский шрифт. Загрузка шрифта в Linux выполняется при помощи команды setfont. В принципе, в комплект поставки Linux входят KOIS-шрифты, но они весьма плохо выглядят, поэтому мы ис- пользуем шрифт Суг_а8х16 в кодировке, соответствующей кодовой табли- це 866. В файл /etc/rc.d/rc.font добавьте строку , setfont Суr_а8х16 или, если команда setfont уже присутствует в этом файле, замените указанный после нее шрифт на Суr_а8х16. Во-вторых, мы должны установить необходимую карту соответствия, которая позволит на лету перекодировать символы из KOI8 в 866 для их корректного вывода на экран при помощи установленного шрифта. Установка карты соот- ветствия выполняется при помощи команды mapscrn. В файл /etc/rc.d/rc.font добавьте строку mapscrn koi2ait Однако того, что мы сделали, еще не достаточно. На каждой консоли, на которой вам нужны русские буквы, карта соответствия должна быть активизи- рована. Для этого на соответствующую консоль должна быть выведена ?маги- ческая последовательность? ESC-(K. Для вывода этой последовательности вы можете использовать команду echo -ne '\033(К' Параметр -п запрещает вывод символа новой строки по окончании работы команды, параметр -е указывает, что вместо выражений вида \ххх должен выводиться символ с восьмеричным кодом ххх. В данном случае будет выведен символ с кодом 033 ? то есть ESC. Конечно, вы можете каждый раз вводить эту команду вручную на той консоли, на которой вам нужны русские буквы, но этот процесс можно автоматизи- ровать. В файл /etc/rc.d/rc.local добавьте следующий текст: for i in 1 2 3 4 5 6 do echo -ne '\033(К' > /dev/tty$i done Эта последовательность команд определяет цикл (for ... do ... done), в кото- ром переменная i последовательно принимает значения 1-6 (i in 1 2 3 4 5 6). В теле цикла выполняется вывод нужной ?магической последовательности? ESC-(K на консоль с номером i (/dev/tty$i, знак $ указывает, что вместо $i должно быть подставлено значение переменной, то есть последовательно 1,2, ...,б). На этом настройка вывода на экран завершена. Для того чтобы вы могли не только видеть на экране русские буквы, но и иметь возможность вводить их с клавиатуры, необходимо загрузить при помощи ко- манды loadkeys нужную клавиатурную раскладку. В файл /etc/rc.d/rc.local добавьте команду loadkeys ru1 Раскладка ru1 позволит вам вводить символы в кодировке KOI8, переключаясь между латинской и русской раскладками при помощи правой клавиши Alt.Теперь вы можете перезагрузить компьютер или просто вручную выполнить описанные команды. Однако на этом русификация консоли не закончена. Если вы попытаетесь ввести что-либо русскими буквами непосредственно в командной строке, то у вас, скорее всего, ничего не получится. Нам еще предстоит объяснить, как трактовать русские символы, трем важным программам : bash, Is и less. Начнем с bash - интерпретатора командной строки , той программы, которая выводит приглашение $ (или #, если вы работаете от root) и ожидает ввода команд. Для управления поведением bash при использовании символов из второй половины кодовой таблицы используется файл .inputrc, который находится в домашнем каталоге пользователя. Создайте в своем домашнем каталоге файл .inputrc, сoдержащий следующие строки: set meta-flag on set convert-meta off set output-meta on Выйдите из системы (введя logout) и войдите в нее снова. Все, теперь вы можете вводить русские буквы в командной строке и даже создавать файлы с русскими именами. Попробуйте ввести :>"Привет, мир", чтобы создать пустой файл с именем Привет, мир. Но что это? При попытке просмотреть содержимое каталога, в котором создан файл с русским именем, вместо русских букв написаны какие-то числа и вопро- сительные знаки? Для того чтобы команда Is корректно отображала русские имена файлов, сделайте следующее. В конец файла /etc/profile добавьте строку alias ls='ls -N $LS_OPTIONS' Вы можете и не делать этого, а просто вызывать Is с ключом -N, если хотите видеть русские имена файлов. Но точно я не гарантирую что это будет работать - при установне своего линукса у меня были проблемы - приходилось использовать другие опции. В общем, если не получится - поэксперементируйте с опциями ls. Наконец, последняя программа, которую мы хотим образумить, это less - программа постраничного просмотра файлов. Чтобы less корректно выводила русские буквы, необходимо установить переменную окружения LESSCHARSET. В конец файла /etc/profile впишите строчку export LESSCHARSET=latin1 На этом русификация консоли закончена. Для того чтобы сделанные нами в файле /etc/profile изменения вступили в силу, вы должны выйти из системы и войти в нее снова.

Русификация Xwindow System

Pусские шрифты KOI8-R на XFree86

В современных дистрибутивах они скорее всего уже стоят. Первым делом (на работающем X сервере) запустите : $ xlsfonts -fn "*-koi8-r" Если список не пустой - примите наши поздравления :-) Начиная с версии XFree86 3.3.2 русские фонты(шрифты) cronyx-* входят прямо в дистрибутив XFree. Если фонтов нет -- их нужно установить. Для lime Hat просто поставьте пакет XFree86-cyrillic-fonts-XXXX.rpm . Фонты установятся в /usr/X11R6/lib/X11/fonts/cyrillic . Далее нужно подключить шрифты к X Window. Убедитесь, что в файле /etc/X11/XF86Config прописан путь : Section "Files" ... FontPath "/usr/X11R6/lib/X11/fonts/cyrillic" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" ... EndSection Путь с cyrillic лучше всего поставить первым. Перезапустите X сервер и проверьте командой : xlsfonts -fn "*-koi8-r" . Хорошим решением также будет использование фонт-сервера. Во-первых, он может быть один на всю организацию, а во-вторых в современные фонт-серверах можно использовать шрифты TrueType. Для lime Hat фонт-сервер xfsft входит в пакет Xfree86-xfs.

Существует два основных способа русификации клавиатуры X :

XKB, применяющийся в современном X11R6 xmodmap, применявшийся в X11R5 При русификации X 3.3.x через XKB в /etc/X11/XF86Config должно быть прописано: Section "Keyboard" ... XkbRules "xfree86" XkbModel "pc101" XkbLayout "ru" XkbOptions "grp:shift_toggle" EndSection Для X 4.0.x Section "InputDevice" ... Driver "keyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc101" Option "XkbLayout" "ru" Option "XkbOptions" "grp:shift_toggle" EndSection В зависимости от клавиатуры опция Model может быть "pc101", "pc104" или "pc105", а комбинации переключения: grp:toggle правый Alt (с "фиксацией") grp:caps_toggle Caps_Lock grp:shift_toggle два Shift grp:ctrl_shift_toggle Control+Shift grp:ctrl_alt_toggle Control+Alt Для 4.0.x добавились новые : grp:alt_shift_toggle Alt+Shift grp:menu_toggle Menu (модель должна быть pc104, pc105) В kde начина с 2.2.1 можно переключатся с помощью ctrl+alt+K если включен выбор раскладки в control center на закладке peripherals.

Общие проблемы

Смонтировать диск, чтобы русские имена файлов были видны

Для vfat примерно так (cтрочка из /etc/fstab/): /dev/hda5 /mnt/d vfat noexec,rw,umask=002, codepage=866, iocharset=koi8-r, gid=100 0 0 (в одну строчку) Потом mount /mnt/d. Еще в ядро (>=2.0.36) должны быть включены соответствующие кодовые страницы (возможно, в виде модулей /lib/ modules/`uname -r`/fs/nls_*) - CP866 и KOI8-R, так что возможно (хотя скорее всего нет) ядро придется перекомпилировать. Для CD, содержащего файлы с русскими именами: $ mount -t iso9660 -o iocharset=koi8-r /dev/cdrom /mnt/cdrom Параметр codepage для isofs не нужен, в файловой системе JOLIET имена файлов хранятся в UNICODE. Смысл этих опций можно узнать в 'man mount' или в документации исходников ядра /usr/src/linux/Documentation/filesystems/ или /usr/doc/ kernel/filesystems/

увидеть русские буквы в именах файлов на диске Samba

Добавить в /etc/smb.conf [global] character set = koi8-r client code page = 866 preserve case = yes short preserve case = yes

перекодировать из DOS/Win кодировки в KOI8-R

Перекодировщиков CP1251 и CP866 --> KOI8-R просто огромное количество. Наиболее широко распространены iconv (входит в поставку glibc(т.е. есть почти на всех дистрибутивах)) и GNU recode ( ftp://prep.ai.mit.edu/pub/gnu/recode/) $ iconv -f866 -tKOI8-R -o infile $ recode CP1251..KOI8-R winfile.txt

в mc увидеть pусские буквы

F9 - options - display bits - Full 8 bit

telnet

Если возникают проблемы с вводом русских символов, надо написать файлик ~/.telnetrc со следующей строкой: DEFAULT set outbinary Вы можете встретить проблемы при работе в кодировке Win-1251 -- не передается маленькая русская буква "я" 0xff. У протокола TELNET 0xff -- это первый символ управляющей последовательности. Дабы передать собственно "я", нужно его удваивать : 0xff, 0xff. В KOI8-R такой проблемы нет.

русифицировать TeX под koi-8

TeX и LaTeX во всех современных дистрибутивах говорят по-русски с раздачи. В этом случае имеется документ cyrguide.*, который и содержит развернутый ответ на вопрос о русификации TeX. Переносы не всегда работают "из коробки", иногда надо поправить language.dat, и пересобрать форматы. Вот что пишет Alex Nikiforov: Если уж о последних версиях, то в RH-6.0 с tetex 0.9 у меня получилось так: $ texconfig выбрать hyphenation -> latex раскомментировать russian Добавить в LaTeX файлах \usepackage[T2A]{fontenc} \usepackage[koi8-r]{inputenc} \usepackage[english,russian]{babel} и в файле можно переключаться между русским и английским командами \Russian и \Engish Что бы добавить форматы из cyrplain набора в texconfig выбрать FORMATS и добавить cyrtxinf tex language.dat cyrtxinf.ini для русского texinfo. Аналогично для cyrblue и cyramstx. Что бы добавить формат cyrtex ( русский TeX ) проще в каталоге web2c выполнить: initex '\input cyrtex.ini \dump' и бросить символическую ссылку с именем cyrtex на tex ( например в /usr/bin ) Что бы переключится на русский в этих plain форматах использовать команду \language N где N - номер, под которым числится русский язык в получившейся раскладке.

Copyrigth: the_reaver

the_reaver@fromru.com

Hosted by uCoz