На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » И2Р Программы » Мир Linux » Установка и первые шаги

Рукопись, найденная в бутылке: глава II

Возможно, тема этой статьи кому-то покажется немного устаревшей. Дело тут вот в чем: еще три-четыре года назад русских дистрибутивов Linux не существовало в природе (точнее, они пребывали в зачаточном состоянии), да и сама система, по большому счету, была интересна лишь системным администраторам и разработчикам – в общем, профессионалам, которые могли все настроить сами. Поэтому, в те времена не было дистрибутивов, ориентированных на конечного пользователя (в них просто не было нужды).

Однако время шло, Linux потихоньку взрослела и начала претендовать на роль Альтернативы (именно с большой буквы). Тут-то и появилось понимание того, что простой пользователь вовсе не обязательно обладает навыками администратора UNIX-систем. :) Создатели дистрибутивов зашевелились и стали потихоньку исправлять ситуацию; таким образом, практически все современные дистрибутивы (за исключением, может быть, Slackware) настраивают нужную пользователю локаль автоматически, и точно так же в автоматическом режиме происходит определение видеокарты и настройка X-сервера.

Тем не менее, существует весьма популярный в нашей стране дистрибутив Slackware, кроме того, по-прежнему широко используются старые дистрибутивы. (Сам недавно видел человека, который на все подвернувшиеся ему под руку машины ставит RedHat 6.1. Когда я спросил у него, не собирается ли он перейти на что-нибудь более свежее, он вытаращил на меня глаза и в явном замешательстве спросил: «А зачем?» На это я, честно говоря, не нашел, что ответить.) Таким образом, осмелюсь утверждать, что проблема русификации и – тем более – настройки X Window остается достаточно актуальной.

Итак, русификация Slackware Linux. (Поскольку я сам из «продвинутых» дистрибутивов имел дело только со «слакварью», то и рассказ мой будет относиться к ней.) Должен заранее предупредить, что все можно сделать несколькими способами. Здесь я привожу тот, который использовал сам, при этом вовсе не претендую на то, что он самый правильный. Мне самому продиктовали его по телефону, когда я в первый раз установил себе Linux и самостоятельно не был способен на такие подвиги.

Поскольку консоль – это первое, что мы видим при входе в систему, начнем русификацию именно с нее.

Для того, чтобы заставить консоль правильно отображать русские символы, необходимо установить в качестве шрифта консоли шрифт, содержащий кириллицу. Для этого отправляемся в каталог /еtс/rc.d/ (не забыв при этом обзавестись правами суперпользователя при помощи команды su). Создадим файл rc.font (командой touch 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

Полагаю, это нужно прокомментировать. Первая строка устанавливает в качестве системного шрифта кириллический. Поскольку указанный шрифт использует alt-кодировку, необходимо перекодировать все сообщения из koi-8 в alt. Последние три строки отправляют специальную «волшебную» последовательность на все шесть виртуальных консолей.

После этого устанавливаем соответствующие права доступа к файлу (он должен быть исполняемым), используя команду chmod 755 rc.font.

На этом наши приключения не заканчиваются. Для того, чтобы получить возможность ввода русских символов, необходимо установить соответствующую клавиатурную раскладку. Для этого создадим в том же каталоге файл rc.keymap и сделаем его исполняемым. Отредактируем его, добавив такую строчку:

loadkeys ru-ms.map

Это стандартная раскладка Microsoft с переключением по +. Если вы хотите использовать для переключения клавишу , укажите раскладку ru4.map.

Useful tip.Вообще, в Slackware 7.1 все раскладки хранятся в каталоге /usr/share/kbd/keymaps/i386/qwerty/. Даже не имея прав суперпользователя, вы можете попробовать любую раскладку при помощи команды loadkeys имя_раскладки.map (для русскоязычных пользователей нужны раскладки, в имени которых присутствует приставка ru) и выбрать наиболее для вас удобную.

Теперь будем учить русскому языку bash, который сам по себе и не подозревает о существовании каких-либо символов помимо стандартных ASCII (коды 0-127). При этом лучше всего использовать файл ~/.inputrc, т. к. он используется не только оболочкой bash, но и всеми прочими программами, разработанными с использованием стандартной библиотеки GNU readline. Если же вы по какой-то причине не хотите править файл ~/.inputrc, можно проделать все то же самое с файлом ~/.bashrc. Создайте в вашем домашнем каталоге файл .inputrc и впишите в него следующие строки:

set meta-flag on
set convert-meta off
set output-meta on

Теперь этот флаг надо скопировать в домашние каталоги всех уже существующих пользователей, а также в каталог /etc/skel/ (для того, чтобы в будущем он автоматически появлялся в домашнем каталоге каждого вновь созданного пользователя). Хочу отметить, что в Slackware 8.0 больше нет необходимости править файл ~/.inputrc в том случае, если вы правильно настроили локаль.

Теперь приступаем собственно к настройке локали.

В файле /etc/profile находим такую строку:

export LC_ALL=posix

Редактируем файл следующим образом:

export LC_ALL=
export LANG=ru_RU.KOI8-R

Далее заходим в каталог /usr/share/locale/ как root и выполняем:

localedef -f /usr/share/i18n/charmaps/KOI8-R -i /usr/share/i18n/locales/ru_RU ru_RU.KOI8-R

Создадим символическую ссылку:

ln -s ru_RU.koi8r ru_RU.KOI8-R

(Если вы не знаете, что такое символическая ссылка, см. электронный справочник man [команда man ln].)

И заключительный аккорд – правка файла locale.alias. Находим в нем строчку, начинающуюся на russian, и редактируем таким образом:

russian ru
ru ru_RU
ru_RU ru_RU.KOI8-R

Вот и все! Русификация консоли завершена!

Примечание: в Slackware 8.0 больше нет необходимости ни назначать локаль вручную при помощи команды localedef, ни править файл locale.alias. Обратите также внимание на то, что системная локаль теперь живет по адресу /usr/lib/locale/, а в /usr/share/locale/ хранятся лишь локали программ.

Теперь можно русифицировать X Window System.

Useful tip. Все действия по русификации X Window лучше проводить после завершения базовой настройки графического режима (см. ниже).

Несколько слов об организации графического режима в UNIX-системах. Можно сказать, что графическая подсистема X Window System состоит из трех слоев:

  • оконный сервер (X server);
  • менеджер окон (window manager);
  • GUI Toolkit.

Поскольку оконный сервер является нижним элементом этого «бутерброда", его основой, то и настраивать для корректной работы с символами кириллического алфавита нужно именно его.

В Slackware 7.1 используется XFree86 версии 3.3.6. Для подключения русской раскладки клавиатуры найдите файл /etc/XF86Config и измените его раздел «Кeyboard» следующим образом:

Section "Keyboard"
 Protocol "Standard"
 XkbModel "pc101"
 XkbRules "xfree86"
 XkbLayout "ru"
 XkbOptions "grp:ctrl_shift_toggle"
EndSection

Затем подключите русские шрифты. Для этого в разделе «Fonts» того же файла поставьте на первое место строчку

FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"

В Slackware 8.0 используется X сервер версии 4.1.0, поэтому настройка клавиатурной раскладки выглядит слегка по-другому:

Section "InputDevice"
 Identifier "Keyboard0"
 Driver "Keyboard"
 Option "AutoRepeat" "500 30"
 Option "XkbRules" "xfree86"
 Option "XkbModel" "pc105"
 Option "XkbLayout" "ru"
 Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
EndSection

Итак, русификация «слаквари» завершена. Другое дело, что экстерьер десктопа (причем это в равной степени касается и GNOME, и KDE) после перезагрузки вряд ли вас порадует, потому что вид кириллических шрифтов Cronyx (входящих в большинство зарубежных дистрибутивов) выжимает слезу. Лично я терпел такое безобразие ровно десять минут, после чего полез в Интернет за пакетом шрифтов Cyr-RFX (на мой взгляд, лучшие на сегодняшний день кириллические шрифты для Linux). Скачанный архив я распаковал (см. man gzip) в каталог /usr/X11R6/lib/X11/fonts/cyrrfx/ и добавил в файл XF86Config строчку FontPath "/usr/X11R6/lib/X11/fonts/cyrrfx", а упоминание о Cronyx вымарал недрогнувшей рукой. Жить и работать сразу стало гораздо приятнее.


Далее речь пойдет о настройке графической подсистемы Linux – X Window System.

В прошлом настройка «иксов» была одной из первых проблем, с которой приходилось сталкиваться начинающему пользователю Linux.

К счастью, почти во всех современных дистрибутивах реализовано автоматическое определение конфигурации видеоподсистемы. Тем не менее, мне встречалось немало отзывов о неправильном определении этой самой конфигурации с весьма печальными последствиями (вплоть до порчи монитора). Мой опыт по этой части, к счастью, не был таким неудачным, тем не менее, с неверным распознаванием видеокарт сталкиваться приходилось.

Помню, как несколько месяцев назад я, впервые поставив Linux, мечтательно набрал в консоли startx и вместо обещанного «Гнома» получил кучу сообщений об ошибках. Пришлось искать способы настройки X-сервера. К счастью, даже в самых старых дистрибутивах присутствует программа xf86config, которая, несмотря на свой предельно аскетичный интерфейс, способна избавить вас от львиной доли мучений по ручному редактированию файла настройки.

От имени root наберем в консоли команду xf86config. Программа вежливо представится нам и спросит, желаем ли мы продолжить знакомство. Отвечайте утвердительно. После этого будет предложено выбрать модель мыши.

Useful Tip. Если вы являетесь счастливым владельцем мыши Genius NetScroll+, рекомендую использовать ее как Microsoft IntelliMouse. Это связано с тем, что разные серии этих мышей используют разные протоколы (так, мой экземпляр категорически не жалает работать как NetScroll+, зато прекрасно работает как Genius NetMouse; правда, при этом теряется возможность использования колЈсика в качестве третьей кнопки). И еще: если у вас двухкнопочная мышь, советую включить эмуляцию третьей кнопки (одновременное нажатие на обе кнопки будет работать как третья).

Дальше вас просят о таких вещах, как модель клавиатуры, клавиатурная раскладка, переключатель раскладок и индикатор текущей раскаладки (я, например, привык использовать в качестве такового лампочку Scroll Lock).

Самое интересное начинается дальше. Вас попросят ввести допустимые значения частоты горизонтальной и вертикальной развертки монитора. Как правило, эти значения указаны в документации на монитор, программа также отсылает вас к файлу /usr/X11R6/lib/X11/doc/Monitors, но ни в одном из виденных мной дистрибутивов такого файла не было.

Useful Tip. Будьте особо внимательны при указании допустимых частот горизонтальной развертки: в зависимости от этого будут формироваться строки Modeline в файле XF86Config. Как я уже упоминал, последствия ошибки могут быть плачевными.

В дальнейшем вам предстоит указать допустимый диапазон частот вертикальной развертки и дать коротенькое имя вашим настройкам (например, ViewSonic E70).

Но самое интересное – выбор модели видеокарты. Я, например, с удивлением узнал, что моя Savage4... не поддерживается X-сервером версии 4.1.0 и может работать только в режиме 640x480x16 цветов (это при том, что при установке она опозналась автоматически и прекрасно работает в режиме 1024x768x32bpp).

После выбора предпочтительной глубины цвета вас спросят, куда сохранять полученный таким образом конфигурационный файл. Традиционный выбор – либо ваш домашний каталог, либо файл /etc/XF86Config (для всех пользователей).

Впрочем, в моем случае на этом все только начиналось. При запуске X Window почему-то по умолчанию выставлялся режим 640x480x256 цветов. Пришлось лезть в файл /etc/XF86Config и смотреть, в чем, собственно, дело.

В общем, изучать структуру этого файла мне было лень, поэтому, недолго думая, я просто-напросто удалил упоминания о всех графических режимах, кроме нужного мне. В результате секция Screen этого файла (она у меня была одна-единственная) стала выглядеть так:

Section "Screen"
 Driver "accel"
 Device "S3 Savage4"
 Monitor "ViewSonic E70"
 Subsection "Display"
 Depth 32
 Modes "1024x768"
 ViewPort 0 0
 EndSubsection
EndSection

К моему искреннему изумлению, все заработало как надо и продолжает работать до сих пор...

Уже позже я узнал, что на самом деле достаточно было после строчки Monitor добавить строку DefaultColorDepth 32, чтобы секция Screen приобрела такой вид:

Section "Screen"
 Driver "accel"
 Device "S3 Savage4"
 Monitor "ViewSonic E70"
 DefaultColorDepth 32

<...здесь идут описания всех прочих режимов...>

 Subsection "Display"
 Depth 32
 Modes "1024x768" "800x600" "640x480"
 ViewPort 0 0
 EndSubsection
EndSection

Таким образом мне удалось разобраться с 2D. К сожалению, в настоящее время поддерживающие 3D-акселерацию драйвера имеются лишь для чипов nVIDIA (включая GeForce) и ATI (только для старых, до Radeon, моделей).

В следующей главе мы поговорим о выборе графической оболочки и немного – об офисных комплектах под Linux. Я как раз тут разжился одним из последних билдов OpenOffice...

P.S. Обратите особое внимание на то, что я рассказываю вам лишь основы. Я, разумеется, мог бы описать все в деталях, но, по-моему, это неинтересно. В связи с этим остается посоветовать вам читать побольше документации, особенно полезен будет электронный справочник man.

Павел Урусов
www.softerra.ru

Лучшие статьи раздела читайте в еженедельном сетевом журнале
"I2R Computer"
Подпишитесь на рассылку
"Мир Linux. И2Р"
Подписка на Subscribe.Ru
Другие разделы
Идеология
Программы
Linux против Microsoft
Установка и первые шаги
Практикум в Linux
Фольклор
Новое в разделе
FAQ по Linux
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100