Основы работы в ОС Linux

         

Браузеры Netscape Navigator и Mozilla


Netscape Navigator - мой любимый браузер. Я пользовался им и тогда, когда работал под Windows, и с удовольствием обнаружил, что он включен в состав дистрибутива Black Cat 5.2, а также во все другие дистрибутивы, которыми я до сих пор пользовался. Поэтому установка его не вызывает проблем: достаточно смонтировать дистрибутивный диск CD-ROM и дать команды

[root]# cd /mnt/cdrom/RedHat/RPMS/ [root]# rpm -Uhv netscape-common-4.70-1bc.i386.rpm [root]# rpm -Uhv netscape-communicator-4.70-1bc.i386.rpm

Описанию этого браузера и приемов работы с ним посвящены целые книги, поэтому здесь нет необходимости (да и возможности) приводить подробное описание. На рис. 14.24 вы видите в общем-то привычное (для тех, кто использовал Netscape и раньше) главное окно браузера.

Трудности в использовании Netscape Navigator-а версии 4.70, насколько мне известно из листа рассылки blackcat-list, были связаны с русификацией программы и подключением java. На рис. 14.24 видно, что команды меню даны на английском. В общем-то, у большинства пользователей это не вызывает затруднений. Тем более, что при установке последних версий дистрибутивов (я имею в виду ALTLinux Junior 1.0 и Red Hat Linux CE 7.1) инсталлируется уже полностью русифицированная версия 4.74 этого браузера.

Надо сказать, что в последнее время появились очень противоречивые сведения о дальнейшей судьбе этого браузера. С одной стороны в новостях сообщалось, что браузер перестал поддерживаться и развиваться фирмой Netscape Communication Corporation. С другой стороны, выходят как новые версии ветки 4.xx этого браузера, так и уже второй вариант (6.2) шестой версии. Версию 6 (правда, в варианте 6.0 для Windows) я пробовал установить, но она мне показалась настолько тяжеловесной, что я вернулся к версии 4. Под Linux же мои попытки скачать и установить версию 6 окончились неудачей из-за того, что инсталляцию надо было проводить по сети, а связь то и дело срывается. Но пока что в каждом из встречавшихся мне дистрибутивов включена одна из версий Netscape Communicator, и эти версии меня вполне устраивают. Поэтому до сих пор основным браузером под Linux для меня является Netscape Navigator.

Но после установки ALTLinux Junior 1.0 обнаружилось, что кроме Netscape Communicator установлен и браузер Mozilla (на рис. 14.26 вы видите, что он сообщил мне о себе и своей версии). Первое знакомство с этой программой показывает, что она очень похожа на Netscape Navigator. Конечно, некоторые изменения в организации меню имеются (Вы это можете и сами увидеть, сравнив рис. 14.24 и рис. 14.27), но если вы имеете опыт работы с Navigator-ом, то легко освоите и Mozilla.


Рис. 14.26.  Окно браузера Mozilla


увеличить изображение
Рис. 14.27.  Окно программы Mozilla с отображением "My Sidebar"

Сходство Netscape Navigator и Mozilla далеко не случайно. В апреле 1998 года независимая в то время компания Netscape Communications решила переработать свой популярный браузер Navigator, переведя его на механизм отображения html страниц (рендеринга) Gecko и превратив в проект с открытым исходным кодом. Тем самым компания привлекала к разработке браузера широкий круг разработчиков, заинтересованных в модифицировании и распространении исходного кода Netscape. Исходный код Mozilla был опубликован в 1999 году. На веб-сайте http://www.mozilla.org все желающие получили доступ к исходным кодам, возможность внесения изменений, участие в группах новостей разработчиков, возможность получения и распространения информации, связанной с браузером.

Проект Mozilla выпустил несколько предварительных версий или выпусков (build) браузера. Каждый такой build отличается от предыдущего в лучшую сторону: добавляются новые функции, исправляются ошибки и пр. Некоторые из них получили особое название - Milestone Builds ("верстовые столбы"). Эти выпуски обозначаются буквой M с добавлением номера очередной "версты" (например, M18) и являются своеобразными вехами в истории развития проекта.

Начиная с М18 проект Mozilla разветвился. Дело в том, что браузер Mozilla, включая механизм рендеринга Gecko, был положен в основу разработки шестой версии Netscape (права на который перешли к компании AOL Time Warner), и, в то же время продолжалась разработка самостоятельного браузера Mozilla 1.0. Версия 6.0 браузера Netscape-6 на основе Mozilla, которая появилась в октябре 2000 года, подверглась резкой критике, но более поздняя версия 6.1 получила положительные отклики.

В ноябре 2001 года на сайте Mozilla.org появилась бета-версия браузера Mozilla с номером 0.9.6. В Mozilla 0.9.6 исправлено несколько ошибок и добавлены новые функции, такие как отображение значков страниц в поле адреса и поддержка форматов изображений .bmp и .ico на разных платформах. В числе других нововведений, произведенных в версии 0.9.6, стоит отметить функцию просмотра страницы перед печатью (Print Preview), расширенные опции настройки вида веб-страниц в версии браузера для Mac OS, а также улучшенные контекстные меню. Благодаря новой функции пользователи Mozilla теперь могут выделить любое слово на веб-странице и вызвать поиск по этому слову в поисковой машине. Кроме браузера, в Mozilla входят почтовая программа, программа чтения новостей Usenet и другие компоненты. Дистрибутив программы немного увеличился, его размер составляет 9,1 Мбайт. Скачать его можно с веб-сайтов http://www.mozilla.org или http://www.mozilla.ru.

Браузер Mozilla уже широко используется, хотя все еще сохраняет статус бета-версии. По словам разработчиков, следующие две бета-версии будут нацелены на повышение производительности и стабильности программ электронной почты и чтения новостей. Но дата выпуска окончательной версии 1.0 до сих пор остается тайной. От разработчиков не удается получить более-менее точной информации о сроках. "Если все будет хорошо, версия 1.0 будет выпущена сразу после выхода версии 0.9.9", - сообщается в "Манифесте", посвященном грядущей версии 1.0, на сайте Mozilla.org. Пока это единственная точная информация.

В то же время исходный код проекта Mozilla уже и сейчас высоко оценен сообществом разработчиков. Механизм рендеринга страниц Gecko, например, применяется в качестве ядра других браузеров, таких как браузер Galeon, разработанный в рамках проекта с открытым исходным кодом GNOME.

Внешне отличия Mozilla от Netscape Navigator не очень существенны. В первую очередь бросается в глаза появление боковой панели, которая называется "My Sidebar". Вы видите ее на рис. 14.27. При запуске Mozilla панель может не отображаться в окне программы. Но ее всегда можно вызвать (или убрать из вида) простым щелчком мыши по узенькой вертикальной полоске, которая расположена на левой границе панели, отображающей текст просматриваемой странички (на рис. 14.27 она выделена овалом).

My Sidebar представляет собой набор вкладок в левой части окна, каждая из которых содержит "горячую" информацию с какого-либо ресурса Интернета, обновляемую с некоторой периодичностью. Это могут быть последние новости, прогноз погоды, календарь, ваша адресная книга и многое другое. Другими словами, My Sidebar - это настраиваемый пользователем список ссылок (представляющий собой развитие концепции "закладок") на те ресурсы Интернета, к которым вам приходится часто обращаться. Естественно, что имеются механизмы добавления и модификации вкладок (см. рис. 14.28).


Рис. 14.28.  Формирование состава вкладок на панели My Sidebar

Между прочим, существует сайт Sidebar.Ru, посвященный боковой панели Mozilla & Netscape 6. На этом сайте представлены примеры новых закладок для My Sidebar.

Таким образом, хотя браузер Mozilla еще не вышел из стадии бета-тестирования, он кажется очень перспективной разработкой. Не зря компания Red Hat объявила, что когда выйдет версия Mozilla 1.0, она войдет в качестве браузера по умолчанию в состав популярного дистрибутива Red Hat Linux и заменит в этом дистрибутиве браузер Netscape 4.xx. Впрочем, Red Hat пока не отрицает и возможности использования Netscape версии 6 (хотя отмечает, что у этого варианта есть некоторые недостатки из-за того, что его код не является полностью открытым), а также рассматривает в качестве возможного варианта браузер Konqueror, разрабатываемый в рамках проекта KDE .



Если все равно не работает (куда обратиться за помощью)


Если, несмотря на все ваши усилия, настроить соединение с провайдером и выйти в Интернет все равно не удается, то необходимо обратиться за помощью к администратору сервера у интернет-провайдера. Кроме того, вы можете обратиться за помощью в один из форумов или списков рассылки, например, на www.linux.ru. Но, прежде чем посылать мольбу о помощи, соберите (и сообщите в своем письме) следующую информацию:

версию используемого вами ядра;версию используемого вами пакета PPP;какими командами вы запускаете PPP-сессию;файл протокола сессии, запускавшейся с опцией "debug";тип ПО PPP, установленного на сервере провайдера.

и вообще любую информацию, которая, по вашему мнению, может оказаться полезной для решения вашей проблемы.

Теперь еще пара советов в стиле "вопрос-ответ", заимствованных в списке рассылки blackcat-list@geon.donetsk.ua:

Вопрос:

При подъеме ppp в /var/log/messages появляются такие строчки:

modprobe: Can't locate module ppp-compress-21 modprobe: Can't locate module ppp-compress-24 modprobe: Can't locate module ppp-compress-26Ответ:

Добавьте в /etc/conf.modules:

alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflateВопрос:

кррр звонит, отдает имя, пароль и сразу отваливается, в протоколах пишет следующее:

Sep 12 18:10:34 dimon pppd[1410]: By default the remote system is required to authenticate itself Sep 12 18:10:34 dimon pppd[1410]: (because this system has a default route to the internet) Sep 12 18:10:34 dimon pppd[1410]: but I couldn't find any suitable secret (password) for it to use to do so. Sep 12 18:10:34 dimon pppd[1410]: (None of the available passwords would let it use an IP address.)

Кто виноват и что делать?

Ответ:

Проверьте правильность заполнения имени и пароля.

Попробуйте в /etc/ppp/options добавить параметр noauth.

На этом закончим рассмотрение программы kppp. Ей было уделено очень много места в этой лекции, но я считаю, что это оправдано, поскольку эта программа составляет основу вашего соединения с Интернетом. Только в том случае, когда вам удалось такое соединение установить, вы можете пользоваться браузерами, электронной почтой и другими благами Интернета, о которых я кратко и расскажу в следующих разделах.



Файловый менеджер Konqueror




Если вы установили графическую среду KDE, то устанавливать отдельную программу-браузер, вообще говоря, нет никакой нужды, поскольку в качестве браузера вполне может служить файловый менеджер Konqueror, по умолчанию установленный в составе KDE. Он позволяет как просматривать содержимое каталогов и файлов на локальных дисках (рис. 14.29), так и интернет-ресурсы (рис. 14.30).


Рис. 14.29.  Konqueror при просмотре локального каталога


Рис. 14.30.  Konqueror при просмотре титульной странички IXBT.Hardware

Для просмотра Web-страничек достаточно ввести в поле "Местоположение" URL ресурса, и вы получите к нему доступ (если, конечно, у вас настроен выход в Интернет). Между прочим, на рис. 14.30 специально приведен вид той же самой WWW-страницы, которая использовалась для иллюстрации рассказа о браузерах lynx и Netscape Navigator (см. рис. 14.24 и рис. 14.25). Мне показалось, что с локальными файлами Konqueror работает даже быстрее, чем Netscape Navigator, особенно при загрузке очень больших файлов (т. е., при нехватке оперативной памяти).

Еще одним преимуществом этого навигатора для некоторых пользователей может оказаться то, что он полностью русифицирован (вы можете видеть это на рис. 14.29 и рис. 14.30). И позволяет выбрать кодировку просматриваемой страницы из очень большого числа вариантов: посмотрите команду меню Вид | Кодировка документа.

Что мне особенно нравится в этом браузере, так это то, что Konqueror позволяет легко и удобно просматривать файлы многих форматов. В первую очередь это касается разных текстовых файлов (ASCII, html, ps), но также и наиболее распространенных графических форматов (gif, jpeg, png, tiff, bmp). Правда, для некоторых форматов файлов для просмотра используется вызов специализированных программ на основе ассоциаций имен файлов с соответствующей программой. Но это естественно и, я думаю, вас не удивит. Более того, если для какого-то типа файлов просмотрщик не определен, Konqueror предлагает пользователю задать нужную ассоциацию.

Вообще говоря, файловому менеджеру Konqueror надо бы посвятить отдельную лекцию, по объему не меньшую, чем лекция, посвященная Midnight Commander. Но пока такой возможности у меня нет, так что придется вам знакомиться с этим браузером самостоятельно (вы можете также прочитать статью http://onix.nm.ru/utils_konqueror/art00.html).



Электронная почта


Раз уж эта лекция посвящена Интернету, то надо уделить соответствующее внимание и программам для работы с электронной почтой, которая представляет собой одно из первых и базовых средств Интернета. Но прежде хочется дать небольшую справку об основных протоколах обработки электронной почты.

В общих чертах работа пользователя с электронной почтой происходит следующим образом: программа-клиент обращается к почтовому серверу, на котором запущено соответствующее серверное приложение, или демон. Демон обрабатывает поступивший запрос, обеспечивая авторизацию пользователя, после чего выполняет требования клиента. Общение демона и программы клиента может происходить по одному из двух основных протоколов: POP3 (Post Office Protocol, версия 3) и IMAP (Internet Message Access Protocol). Оба эти протокола обеспечивают авторизацию на сервере, считывание списка сообщений, копирование сообщений на компьютер пользователя и удаление их с сервера.

Преимуществом протокола POP3 является его простота, вследствие чего он реализован в большинстве программ-клиентов. Но он имеет и существенные недостатки. Например, если на сервер к моменту выхода на связь поступило несколько писем, то, работая по протоколу POP3, вы не можете предварительно просмотреть список пришедших писем и скачать только некоторые из них. Либо забираете все, либо ничего. К тому же, если в процессе приема почты произошел сбой, то приходится начинать перекачку заново. В отличие от POP3, протокол IMAP обеспечивает выборочный просмотр писем, поиск нужного письма прямо на сервере, позволяет производить манипуляции с удаленными папками, подходит для доступа к отличным от писем данным, например к новостям или документам. Кроме того, в IMAP предусмотрены возможности определения типа данных в письме, выделения определенных частей, поиска по каталогам. Все это уменьшает размер информации, передаваемой с сервера на локальный компьютер, и позволяет обращаться к почтовому серверу с разных компьютеров.

Отметим отдельно, что протоколы POP3 и IMAP не занимаются непосредственно пересылкой почты. Эту процедуру выполняет стандартный протокол SMTP. Он прост и надежен, и с успехом выполняет возложенные на него задачи. Кроме того, при использовании IMAP его работу сопровождает протокол IMSP (Internet Message Support Protocol), который отвечает за конфигурацию работы IMAP.

Клиентских программ обработки электронной почты для Linux существует великое множество. Я до сих пор в основном использовал Netscape Messenger. В составе пакета Mozilla тоже имеется почтовый клиент. Однако, я приведу ниже описание не этих программ, а почтового клиента KMail, входящего в состав графической среды KDE. Дело в том, что описание Netscape Messenger можно найти в книгах по Netscape, а Mozilla пока не сильно от него отличается. А вот описаний KMail на русском языке пока нет, хотя программа интенсивно совершенствуется. Я работал с программой KMail версий 1.02 и 1.2 (на момент написания данного текста уже выпущена версия 1.3), и хочется отметить, что с изменением даже во второй цифре номера версии программа существенно повысила свою функциональность. Так что вскоре по своим возможностям она не будет уступать лучшим из клиентских программ обработки электронной почты.

Запустить KMail можно из главного меню среды KDE. В процессе первого запуска программа KMail создает в вашем домашнем каталоге подкаталог Mail, содержащий папки для входящей и исходящей почты, а также "мусорную корзину" (файлы inbox, outbox, sent-mail и trash). Затем KMail сразу же вызывает окно "Настройка" (рис. 14.31), в котором надо ввести данные, необходимые программе для того, чтобы найти в сети почтовый сервер и добраться до вашего почтового ящика. Окно Настройка содержит семь вкладок: Профиль, Сеть, Внешний вид, Редактор, Заголовки Mime, Безопасность и Разное. Для того чтобы получить возможность принимать и отправлять почту, вам необходимо ввести данные только на двух вкладках Профиль и Сеть.


увеличить изображение
Рис. 14.31.  Задание идентификационных данных пользователя

На вкладке Профиль вы должны ввести свои идентификационные данные, для того, чтобы KMail была способна правильно получать и отправлять ваши сообщения. Те данные, которые вы введете в поля Имя и Организация, будут автоматически добавляться в заголовок любого сообщения, которое вы отправляете. В поля Адрес E-mail и Адрес для ответа введите адрес вашего электронного почтового ящика. В поле Файл подписи вы можете указать путь к файлу, содержимое которого будет добавляться в конце каждого отправляемого сообщения. Можно не создавать отдельный файл для сохранения этого текста, а просто ввести нужный текст в поле, имеющееся на закладке Профиль. Имеется также возможность варьировать содержание заключительных фраз Ваших писем (например, вставлять случайно выбранные изречения). В этом случае надо задействовать подпись из файла и проставить отметку возле надписи "Файл является программой".

Вкладка Сеть определяет установки, по которым KMail определяет, как отправлять и где получать ваши сообщения. Эти установки в значительной степени зависят от того, каким образом вы соединяетесь с почтовым сервером.

В поле Отправка почты надо указать имя почтового сервера и имя домена, в котором этот сервер находится (рис. 14.32). Если почтовым сервером является программа Sendmail, работающая на вашем компьютере, то вы должны задать ее местоположение. Если же вы отправляете почту на другой почтовый сервер по протоколу SMTP, то требуется указать имя сервера и номер порта. Если вы не знаете, как правильно задать соответствующие настройки, проконсультируйтесь у своего провайдера или системного администратора. Если при настройке выхода в Интернет вы правильно настроили обращение к серверу DNS, то кроме имени сервера никакой другой информации о нем задавать не надо, все остальное будет находиться автоматически. Значение, введенное в поле Порт, вам менять, скорее всего, не требуется.


увеличить изображение
Рис. 14.32.  Задание параметров почтового сервера


Вы можете изменить значения статуса произвольным образом через команду меню Письмо | Установить статус или аналогичную команду в выпадающем меню.

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

<N> - следующее сообщение<P> - предыдущее сообщение<+> - следующее не прочитанное сообщение<-> - предыдущее не прочитанное сообщение

После прочтения письмо можно удалить. С большинством писем так и случается. Однако некоторые письма вам, возможно, захочется сохранить. Если оставлять их в папке Inbox, то вскоре писем в этой папке скопится так много, что разбираться с ними будет трудновато. Чтобы избежать этой неприятности, стоит с самого начала сортировать сохраняемую корреспонденцию, раскладывая ее по соответствующим архивным папкам. Предварительно надо создать эти папки. KMail поддерживает возможность создания вложенных папок, так что структуру папок лучше продумать заранее (хотя можно и создавать папки по мере необходимости). Для создания папки воспользуйтесь командой меню Папка | Создать. Приводить рисунок я не буду, там все интуитивно понятно.

Для того, чтобы переместить прочитанное письмо в какую-то из архивных папок, переместите на это письмо подсветку и воспользуйтесь командой меню Письмо | Переместить в. Появится выпадающее меню, содержащее список папок. Если какая-то папка (например, Archiv) содержит вложенные папки, то в этом меню будет фигурировать как имя самой папки, так и, дополнительно, "дети папки" (например, "дети Archiv"). Щелчок по команде "дети" вызовет вложенное меню, в котором будут перечислены вложенные папки. Чтобы переместить письмо в выбранную папку (или подпапку), достаточно щелкнуть мышкой по имени нужной папки. Можно перемещать сообщения и методом перетаскивания их мышкой из окна заголовков в окно папок (удерживая нажатой левую кнопку мыши).

Создать в какой-то папке вложенную или изменить название существующей папки, можно также, щелкнув по имени папки правой кнопкой мыши и выбрав соответствующую команду из появляющегося меню. Хочется отметить, что выпадающее меню можно вызвать практически для любого элемента окна KMail (как и KDE вообще), что очень удобно. Если, например, вы вызовете такое меню щелчком по имени папки, вы увидите, в частности, команды Стереть удаленные письма и Очистить. Последнее означает, что все письма, находящиеся к этому моменту в папке, будут перемещены в мусорную корзину (Trash). Эта операция аналогична операции удаления одиночного письма, только применяется сразу ко всем сообщениям в данной папке. Впрочем, это не совсем так. Дело в том, что при удалении писем с помощью операции Удалить, письмо фактически не удаляется из файла, представляющего данную папку (эти файлы находятся в подкаталоге Mail вашего домашнего каталога). Удаляется ссылка на данное сообщение в индексном файле, и письмо более не отображается в окне просмотра заголовков. Поэтому файлы папок со временем могут стать очень большими. Для того, чтобы реально удалить сообщение из файла папки и, тем самым, сократить объем этих файлов, необходимо выполнить упомянутую выше операцию Стереть удаленные письма. Операция Очистить перемещает все письма из папки в "мусорную корзину" и стирает удаленные письма. Если операцию Очистить проделать по отношению к папке Trash, то ее содержимое будет уничтожено безвозвратно.

В программе KMail для файлов папок с сообщениями используется формат mbox, один из форматов, широко используемых для этого в UNIX-системах. В таком файле сообщения располагаются одно за другим, и начало очередного сообщения определяется по особой строке, начинающейся словом From (не путайте со строкой From: из заголовка сообщения, содержащей адрес отправителя сообщения). Если вы использовали до сих пор какой-то другой почтовый клиент, вы можете использовать специальные конвертеры для преобразования ранее полученной почты в формат mbox. В составе дистрибутива ALTLinux Junior имеется специальная программа для импорта папок и адресных книг из нескольких почтовых систем (включая Outlook Express, Pegasus-Mail, Eudora Light). Если у вас другой дистрибутив, поищите конвертеры на сайте http://kmail.kde.org.

Описание программы KMail я закончу кратким перечислением тех ее возможностей и опций, которые не были упомянуты выше. Приводить их подробное описание здесь нет возможности, и я надеюсь, что разобраться с ними вы сможете самостоятельно. Итак, программа KMail позволяет:

принимать письма с нескольких почтовых серверов (и) на несколько разных адресов;распечатать письмо не покидая программы (команда Файл | Печать);производить контекстный поиск письма по различным ключевым словам (команда Правка | Поиск письма);отображать письма в html-формате (команда Папка | Предпочитать html обычному тексту) и просматривать письма вместе с заголовками в текстовом виде (команда Письмо | Просмотр источника);изменять (устанавливать) кодировку для отображаемых писем (команда Письмо | Установить кодировку);производить проверку правописания создаваемых сообщений;подписывать создаваемые письма электронной цифровой подписью (по алгоритму PGP) и шифровать отправляемые письма;производить автоматическую сортировку входящих писем по заданным фильтрам.

Закончить я хочу теми же словами, которыми начал этот раздел: программа KMail очень быстро совершенствуется, и в скором времени будет обладать всеми возможностями, присущими лучшим программам этого класса. Именно поэтому я выбрал ее в качестве почтового клиента под Linux.

© 2003-2007 INTUIT.ru. Все права защищены.

Конфигурирование kppp


Чтобы начать конфигурирование, нажмите кнопку Настройка. Откроется диалоговое окно конфигурации kppp (рис. 14.3).


Рис. 14.3.  Окно настройки kppp

Начать надо, конечно, с создания новой учетной записи соединения с провайдером услуг Интернета, для чего щелкнуть по кнопке Создать. Появляется окно выбора варианта создания нового соединения, изображенное на рис. 14.4.


Рис. 14.4.  Выбор варианта создания нового соединения

Если воспользоваться кнопкой Мастер, то следующие два окна предоставят возможность выбора страны подключения (России в этом списке пока нет) и одного из известных программе провайдеров Интернет-услуг в выбранной стране (рис. 14.5). Поскольку я не думаю, что вы будете пользоваться услугами одного из тех провайдеров, о которых известно программе, придется отказаться от использования мастера настройки, и выбрать вариант Настройка дозвона.


увеличить изображение
Рис. 14.5.  Диалоги, представляемые в варианте "Мастер настройки"

После щелчка по кнопке Настройка дозвона появляется окно Новое соединение, на котором вы видите 6 вкладок (см. рис. 14.6). Вообще говоря, вводить все данные, упоминающиеся на этих вкладках, вовсе не обязательно. Но мы рассмотрим их все последовательно, а что именно можно не вводить, вы определите экспериментально.


Рис. 14.6.  Вкладка Дозвон

На вкладке Дозвон, которая открывается первой, надо ввести следующие данные:

Имя соединения - название, которое вы хотите дать учетной записи (например, название вашего провайдера). Имя нужно только потому, что вы можете иметь возможность выхода в Интернет через разных провайдеров и тогда имя необходимо для выбора варианта соединения;Номер телефона - номер телефона (или телефонов), по которому вы будете выходить на модемный пул провайдера. Для добавления номера в список надо сначала щелкнуть по клавише Добавить. В номерах телефонов можно использовать дефисы (для облегчения чтения номеров). Если несколько номеров перечислены один за другим через двоеточие (1111111:2222222:3333333), kppp будет набирать эти номера один за другим, если получит в ответ сигнал занятости. Кнопка Удалить используется для удаления из списка подсвеченного номера, а кнопки со стрелками применяются для изменения порядка номеров в списке.Авторизация - в этом раскрывающемся списке вы можете выбрать один из следующих способов аутентификации: Сценарии, PAP, Терминал или CHAP. Это методы проверки Вашего имени пользователя и пароля. Вам, возможно, придется выяснить у вашего провайдера, какой способ идентификации следует использовать (чаще всего применяется PAP);Сохранить пароль - установите этот переключатель во включенное состояние, если не хотите вводить пароль при каждом соединении. Правда, если вас заботят вопросы безопасности, то лучше этого не делать!


Вы можете также указать параметры, которые нужно передать pppd, нажав кнопку Настройка аргументов pppd. При этом откроется отдельное окно Настройка аргументов pppd (рис. 14.7). Задаваемые в этом окне аргументы kppp передаст демону pppd. Допустимые значения аргументов вы можете найти на man-странице pppd.


Рис. 14.7.  Окно Настройка аргументов pppd

На вкладке IP-адрес (рис. 14.8) либо введите постоянный IP-адрес, если провайдер выделил вам его, либо укажите, что вы будете использовать динамическое выделение IP-адреса.


Рис. 14.8.  Вкладка IP-адрес

На этой же вкладке находится переключатель Автоконфигурация DNS-имени машины по данному IP-адресу. Руководство по программе kppp рекомендует быть осторожным при задании этой опции и включать ее только в том случае, когда вы абсолютно уверены в необходимости этого.

Если включить автоконфигурацию, то kppp, после успешного установления соединения с сервером, будет запрашивать имя домена и имя, назначаемое вашему компьютеру, у сервера DNS (см. описание вкладки "DNS-серверы" ниже). При этом сервер DNS определяет указанные имена по IP-адресу, который назначен данному сеансу связи по протоколу PPP. Исходное имя машины (hostname) и имя домена, введенное на вкладке DNS-серверы, при задании этой опции игнорируются. Они будут восстановлены после завершения сеанса связи по протоколу PPP.

Эта опция полезна в случаях, когда вы хотите использовать такие протоколы, как talk, для которых требуется, чтобы имя машины совпадало с именем, соответствующим IP-адресу машины. Но если вы хотите соединиться с Интернетом только для обычного просмотра WWW-страниц, обмена почтовыми сообщениями или использования chat, то включать опцию не следует. Дело в том, что у нее есть побочный эффект, заключающийся в невозможности новых подключений к X-серверу. Другими словами, вы не сможете запускать какие-то приложения в графическом режиме, пока не завершите сеанс связи.



Сценарии регистрации составляются следующим образом.

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

После полного определения команды нажмите кнопку Добавить, чтобы добавить ее в конец сценария. Таким образом, можно последовательно задавать команды для создания сценария шаг за шагом. Если вам необходимо изменить сценарий, можно удалить какие-то команды или вставить новые. Удалить шаг из сценария можно выделив его и нажав кнопку Удалить. Для того, чтобы вставить команду в сценарий, сформируйте новую команду указанным выше образом, после чего выделите в сценарии ту команду, после которой надо вставить новую, и щелкните по кнопке Вставить.

Пример сценария входа, который ожидает от сервера предложение ввести имя пользователя, выдает пользователю приглашение для ввода имени пользователя, затем такое же приглашение для ввода пароля и, в конце, после небольшой паузы, ожидает от пользователя строку "ppp", приведен в табл. 14.1.

Таблица 14.1. Пример сценария входаКомандаПараметр командыНазначение
Prompt Нажмите клавишу <Enter>Отправляет серверу символ конца строки
ExpectUsername:Ожидание приглашения сервера на ввод имя пользователя
IDПередать имя пользователя из учетной записи
ExpectPassword:Ожидание приглашения с сервера ввести пароль
PasswordПередать пароль из учетной записи
ExpectWelcomeОжидание приветственного сообщения сервера
Pause3Устанавливает длительность паузы в 3 секунды
В общем случае использовать процедуру входа по сценарию не обязательно; это зависит от требований провайдера. В некоторых случаях достаточно использования PAP или CHAP. Тем не менее, проконсультируйтесь с вашим провайдером.


Рис. 14.12.  Вкладка Выполнить

На следующей вкладке (рис. 14.13) вы можете задать 4 команды (в качестве которых могут, естественно, выступать скрипты, содержащие цепочки команд), которые будут выполняться при запуске и остановке программы kppp.


Рис. 14.13.  Вкладка Учет

Примером команды, выполняющейся после установления соединения, может быть команда проверки наличия почты в Вашем почтовом ящике.

На вкладке Учет (рис. 14.14) вы можете указать, где и как kppp будет следить за вашей работой в Интернете. Если вы хотите, чтобы программа вела учет стоимости телефонного соединения, проставьте отметку возле надписи "Включить учет". Дальше необходимо выбрать правила учета. Скорее всего вы не найдете подходящего правила среди тех вариантов, которые предлагаются программой. Но такие правила можно задать самостоятельно. Образец их задания приведен в подсказке к программе. Файл с правилами учета можно проверить на синтаксическую правильность с помощью команды kppp -r rule_file, а затем этот файл надо поместить в каталог ${KDEDIR}/share/apps/kppp/Rules или в каталог ${HOME}/.kde/share/apps/kppp/Rules, после чего вы получите возможность выбрать заданное вами правило на данной вкладке.


Рис. 14.14.  Вкладка Устройство

В нижней части вкладки имеется выпадающий список "Учет трафика", с помощью которого можно выбрать один из трех вариантов подсчета числа полученных и отправленных байт: входящий трафик, исходящий трафик или и то и другое. Можно также и отказаться от учета трафика. Мониторинг трафика может оказаться полезным, если вы платите провайдеру за количество байт, полученных вами во время соединения - даже, например, при месячной постоянной абонентской оплате.

После того, как вы закончили создание учетной записи, нажмите на кнопку OK. Теперь в окне Настройка kppp появится новая учетная запись. Если вы хотите ее модифицировать, выделите ее одним щелчком мыши, потом нажмите кнопку Изменить в окне Настройка соединения.

Теперь самое время предоставить системе информацию о типе подключения и скорости Вашего модема на вкладке Устройство (рис. 14.14).

Здесь вы указываете, к какому порту подключен модем, его скорость, некоторые аппаратные установки и другие настройки.

В раскрывающемся списке Устройство модема вы можете выбрать последовательный порт, к которому подключен ваш модем.

Ниже приведен список соответствия названий последовательных портов в MS-DOS (и Windows) и Linux. Если вы знаете, что ваш модем присоединен, например, к порту COM2 в Windows, то в Linux это будет соответственно /dev/ttyS1.

COM1 = /dev/ttyS0COM2 = /dev/ttyS1COM3 = /dev/ttyS2COM4 = /dev/ttyS3



В некоторых дистрибутивах Linux имеется символическая ссылка /dev/modem, которая указывает на файл реального устройства. В документации по kppp не рекомендуется использовать эту ссылку вместо указания на реальное устройство.

После того, как вы выбрали порт для подключения модема, вы можете установить режим Управления потоком. Хотя предоставляется возможность выбрать другой режим управления потоком из раскрывающегося списка, рекомендуется оставить значение, заданное по умолчанию - CRTSCTS, которое означает аппаратное управление потоком (XON/XOFF означает программное управление потоком).

Следующее поле, Окончание строки, позволяет установить корректное значение этого параметра для вашего модема. Для большинства модемов подходит значение CR/LF. Если же у вас возникают трудности с опросом модема, попробуйте поменять установку этого параметра.

В поле Скорость соединения выберите одну из скоростей, поддерживаемых вашим последовательным портом. Имейте в виду, что последовательный порт способен обеспечить гораздо более высокие скорости передачи данных, чем любой модем. Поэтому вначале здесь можно установить самое большое из возможных значений, а в случае, если с установлением соединения будут возникать проблемы, постепенно переходить на меньшие значения скорости.

Переключатель Использовать lock-файл (файл блокировки) по умолчанию установлен во включенное состояние. Это значит, что kppp будет блокировать устройство при работе в режиме "он-лайн", предотвращая, таким образом, доступ к модему. Если задана опция "Использовать lock-файл" для kppp, то не должна использоваться аналогичная опция для pppd. В противном случае pppd не сможет запуститься и kppp выдаст сообщение об ошибке.

В поле Таймаут модема указывается время в секундах, в течение которого kppp ожидает ответа CONNECT после набора номера. В руководстве к программе kppp рекомендуется установить здесь значение, равное 30 секундам.

На вкладке Модем (рис. 14.15) задаются настройки для модема.


Рис. 14.15.  Вкладка Модем

Самым важным элементом на этой вкладке является, пожалуй, кнопка Команды модема. При нажатии этой кнопки появится диалоговое окно Редактирование команд модема (рис. 14.16), позволяющее изменять процесс набора номера, установки соединения и другие настройки модема. Если ваш модем является Hayes-совместимым, то вам, скорее всего, не требуется ничего здесь менять.


увеличить изображение
Рис. 14.16.  Диалоговое окно Редактирование команд модема



Внимание!

Ознакомьтесь с документацией к вашему модему для настройки строки инициализации, строки набора и других параметров.
<


Кнопка Опрос модема на вкладке Модем служит для того, чтобы программа kppp попыталась идентифицировать модем в вашей системе. Появится окно, в котором отображается индикатор хода опроса. В случае успешного опроса в открывшемся диалоговом окне появятся сведения, которые программа kppp получила от модема. Успех этой операции зависит от того, выдаст ли модем верные идентификационные данные.

При нажатии кнопки Терминал kppp откроет мини-терминал, с помощью которого можно проверить конфигурацию модема (но надо знать соответствующие команды).

Перемещая движок Громкость динамика модема, вы можете изменять громкость динамика модема во время набора номера и установки соединения.

Вкладка График позволяет изменить цвета на графике, отображающем количество байт, проходящих между вашим компьютеров и провайдером в режиме "он-лайн". Этот график выводится в отдельном окне Монитор подключения, которое открывается, если установлена соответствующая опция в главном окне программы (см. рис. 14.2).


Рис. 14.17.  Вкладка Разное

На вкладке Разное (рис. 14.17) вы можете задать значение следующих опций:

Таймаут pppd - определяет интервал времени между запуском скрипта и стартом pppd, в течение которого kppp будет ожидать установления устойчивого соединения по протоколу PPP. Если соединение не установлено, то по истечении этого времени связь будет прервана и процесс pppd остановлен;Встроить в панель KDE при соединении - установите этот переключатель во включенное состояние, чтобы после установки связи kppp отображалась значком в Панели. (Эта опция перекрывает действие переключателя Свернуть окно при соединении);Автодозвон при разъединении - установите этот переключатель во включенное состояние, если хотите, чтобы kppp мгновенно восстанавливало соединения при разрыве связи;Показывать время в строке заголовка - включите этот режим, чтобы видеть время соединения;Разъединить при остановке X-сервера - если вы выберете эту опцию, kppp будет корректно завершать сеанс связи при выключении X-сервера. Это полезная опция, если вы не хотите терять время на разрыв соединения при выходе;Выход при разъединении - когда вы разрываете соединение с провайдером, kppp автоматически закрывается. В противном случае, вы вернетесь к исходному окну kppp;Свернуть окно при соединении - сворачивание окна kppp в панель задач при установке соединения.

Ну, и наконец, на вкладке О программе представлена некоторая информация о kppp, такая как сведения об авторах, авторских правах и лицензионном соглашении.

На этом описание настроечных параметров программы kppp завершено. Надеюсь, что приведенных сведений достаточно для конфигурирования соединения с провайдером. Рассмотрим вкратце процесс непосредственного подключения к Интернету с помощью программы kppp.


Необходимые сведения о протоколах Интернета


ОС Linux в некотором смысле является продуктом, рожденным всемирной сетью Интернет. Создатели Linux использовали Интернет для обмена идеями, исходными кодами, просто опытом. И до настоящего времени Linux чаще всего воспринимается именно как сетевая ОС, наиболее приспособленная для решения серверных задач, как в отдельной организации, так и для обеспечения соединения с другими сетями.

Здесь не место для того, чтобы подробно объяснять устройство Интернета: для этого вам лучше найти специальные книги, посвященные этому вопросу. Но некоторые термины необходимо четко определить, чтобы последующий материал был всем понятен.

Во-первых, надо сказать, что рядовые пользователи обычно подключаются к сети Интернет через провайдера услуг Интернета (Internet Service Provider, ISP). Провайдер занимается эксплуатацией каналов связи и организацией взаимодействия пользователей с Сетью.

Во-вторых, передача информации в сети Интернет осуществляется с помощью набора (или, как часто говорят, "стека") протоколов TCP/IP.

Комплект TCP/IP состоит из нескольких различных протоколов, каждый из которых выполняет в сети определенную задачу. Базовых протоколов два: протокол управления передачей (TCP), который обеспечивает отправку и прием сообщений, и межсетевой протокол (IP), который определяет правила пересылки отдельных пакетов от отправителя получателю (правила маршрутизации). Остальные протоколы выполняют различные вспомогательные и управляющие функции.

Одним из базовых понятий протокола IP является понятие IP-адреса. Каждому сетевому интерфейсу (Ethernet-карте, последовательному порту с модемом и т. д.) на компьютере присваивается IP-адрес. Такой адрес состоит из четырех байт. Их принято записывать в так называемой "десятично-точечной нотации" (dotted decimal notation). В ней каждый байт представляется десятичным числом в интервале от 0 до 255, байты разделены точками. Возможно использование одного адреса несколькими интерфейсами на одной машине, но, как правило, этого не делают.

Последний байт в адресе считается индивидуальным адресом данного компьютера (точнее, интерфейса, но обычно говорят именно об адресе компьютера). Оставшаяся часть считается "сетевой частью" адреса. Для выделения сетевой части применяют так называемую "маску". Это такая последовательность, наложение которой в двоичной форме на адрес машины (операцией "логическое И") выделяет "сетевую часть". Добавлением к сетевой части нулевого четвертого байта получают адрес сети, к которой принадлежит данный компьютер.

В каждой сети обычно выделяют "широковещательный адрес" - специальный адрес, который "слушают" все машины в сети, кроме своего собственного. Таким образом передается информация о маршрутизации или сетевые сообщения об ошибках. Чаще всего в качестве широковещательного используют наибольший адрес в IP-сети - x.x.x.255. Однако некоторые сети используют в качестве широковещательного адрес x.x.x.0.

Все сказанное иллюстрируется следующим примером:

-------------------------------------- Адрес машины 192.168.110.23 Сетевая часть 192.168.110. Машинная часть .23 -------------------------------------- Маска 255.255.255.0 Адрес сети 192.168.110.0 Широковещательный адрес 192.168.110.255 --------------------------------------


Заметим, что хотя пароль передается в открытом виде, удаленная сторона может хранить пароль в виде результата какой-либо хэш-функции, например, MD5, в качестве параметра которой выступает пароль.

CHAP-аутентификация происходит следующим образом. При установлении PPP соединения удаленный сервер предлагает пользователю аутентификацию по протоколу CHAP. Пользователь соглашается, и сервер высылает ему ключ (challenge), состоящий из случайной последовательности символов, и свое имя. Пользователь берет свой пароль и присланный ключ, и прогоняет их через алгоритм MD5. Получившийся результат высылает вместе со своим именем серверу. Сервер, зная пароль пользователя и высланный ему ключ, в свою очередь, проделывает тоже самое у себя, и, если его результат совпадает с присланным, то аутентификация считается успешной. Таким образом, пароль не передается в открытом виде, но удаленный сервер должен хранить пароли пользователей (обычно в открытом виде).

Имена и пароли для CHAP хранятся у пользователя в файле /etc/ppp/chap-secrets, права доступа у него должны быть такие же, как для PAP: "rw- --- ---", и формат строк тоже совпадает.

Протокол PPP позволяет организовать аутентификацию в одних случаях через PAP, а в других - через CHAP. Для этого клиентское ПО при запуске определяет, каким образом можно аутентифицировать себя, исходя из локального имени и имени удаленной стороны, проверяя, есть ли в файлах /etc/ppp/pap-secrets или /etc/ppp/chap-secrets строки с такими именами. И если, скажем, удаленная сторона предлагает CHAP, а в файле /etc/ppp/chap-secrets соответствующего пароля не имеется, то будет запрошен PAP, и, если это устраивает удаленную сторону, то аутентификация пройдет по PAP.

Отдельно нужно рассказать о том, как происходит аутентификация в том случае, когда у провайдера установлен Windows NT Remote Access Server (RAS). Windows NT RAS поддерживает два протокола аутентификации: PAP и так называемый MS CHAP 80. Аутентификация через PAP пройдет в том случае, если в Windows NT RAS установлен параметр "Allow any authentication including clear text". Если же администраторы провайдера установили параметры "Require encrypted authentication" или даже "Require Microsoft encrypted authentication", то единственный способ аутентификации - это MS CHAP 80.

Что же такое MS CHAP 80? В CHAP могут использоваться различные методы шифрования и передачи пароля. Описанному выше методу с использованием алгоритма MD5 присвоен номер 05. Microsoft разработал свой метод с использованием алгоритмов MD4 и DES для Windows NT 3.5, 3.51, 4.0 и Windows 95, назвал его MS CHAP и ему был присвоен номер 80. Это метод описан в RFC 2433. Но видимо, что-то там оказалось не так, и после SP3 был выпущен pptp3-fix (включенный в SP4) и rras30-fix с новым методом за номером 81, названный MS CHAP V2. Предыдущий вариант MS CHAP теперь называется MS CHAP V1.

Для того, чтобы из Linux можно было аутентифицироваться по методу MS CHAP 80, нужно собрать пакет pppd с поддержкой этого метода.



Для выхода в Интернет с персональных ( в частности, домашних) компьютеров чаще всего используется модем и телефонная линия. Существуют два протокола, которые позволяют передавать IP-сообщения по телефонным линиям. Это протокол SLIP (Serial Line Internet Protocol - межсетевой протокол для последовательного канала) и протокол РРР (Point-to-Point Protocol - протокол "точка-точка"). SLIP по возрасту старше и поэтому не всегда удовлетворяет предъявляемым ныне требованиям, а РРР - более современный универсальный протокол, который завоевывает все большую популярность. Он обеспечивает гораздо более стабильное соединение и может поддерживать работу целого ряда сетевых протоколов помимо IP.

Для установления SLIP-соединения в дистрибутивы Linux обычно включается программа dip, а РРР-соединение устанавливается с помощью программы pppd. Эта программа конфигурирует соединение, устанавливает лимиты MTU и получает IP-адреса. В отличие от dip, pppd не умеет устанавливать соединение с удаленной хост-системой. Чтобы использовать pppd, нужно сначала установить соединение, для чего обычно используется программа chat. Сначала эта программа устанавливает соединение, а затем pppd конфигурирует его.

Протокол PPP предусматривает возможность использования средств аутентификации пользователя, подключающегося к серверу. Обычно аутентификация осуществляется за счет проверки имени и пароля пользователя. Существует два основных способа аутентификации, определяемых протоколами PAP (Password Authentication Protocol) и CHAP (Challenge Handshake Authentication Protocol).

PAP-аутентификация происходит следующим образом. При установлении PPP соединения сервер предлагает пользователю использовать аутентификацию по протоколу PAP. Пользователь соглашается и затем передает свое имя и пароль открытым текстом. Если удаленную сторону имя и пароль устраивают, то аутентификация считается успешной.

Имена и пароли для PAP хранятся в файле /etc/ppp/pap-secrets в виде отдельных строк следующего формата: имя пользователя, имя удаленного сервера и пароль. У него должны быть такие права доступа "rw- --- ---".

В принципе, в PAP используется только имя и пароль пользователя, а имя удаленного сервера нужно только для того, чтобы можно было определить, какой пароль нужно использовать в случае, когда вы используете одно и то же имя у разных провайдеров, например:

username demos pas12345 username citynet pas98765



Заметим, что хотя пароль передается в открытом виде, удаленная сторона может хранить пароль в виде результата какой-либо хэш-функции, например, MD5, в качестве параметра которой выступает пароль.

CHAP-аутентификация происходит следующим образом. При установлении PPP соединения удаленный сервер предлагает пользователю аутентификацию по протоколу CHAP. Пользователь соглашается, и сервер высылает ему ключ (challenge), состоящий из случайной последовательности символов, и свое имя. Пользователь берет свой пароль и присланный ключ, и прогоняет их через алгоритм MD5. Получившийся результат высылает вместе со своим именем серверу. Сервер, зная пароль пользователя и высланный ему ключ, в свою очередь, проделывает тоже самое у себя, и, если его результат совпадает с присланным, то аутентификация считается успешной. Таким образом, пароль не передается в открытом виде, но удаленный сервер должен хранить пароли пользователей (обычно в открытом виде).

Имена и пароли для CHAP хранятся у пользователя в файле /etc/ppp/chap-secrets, права доступа у него должны быть такие же, как для PAP: "rw- --- ---", и формат строк тоже совпадает.

Протокол PPP позволяет организовать аутентификацию в одних случаях через PAP, а в других - через CHAP. Для этого клиентское ПО при запуске определяет, каким образом можно аутентифицировать себя, исходя из локального имени и имени удаленной стороны, проверяя, есть ли в файлах /etc/ppp/pap-secrets или /etc/ppp/chap-secrets строки с такими именами. И если, скажем, удаленная сторона предлагает CHAP, а в файле /etc/ppp/chap-secrets соответствующего пароля не имеется, то будет запрошен PAP, и, если это устраивает удаленную сторону, то аутентификация пройдет по PAP.

Отдельно нужно рассказать о том, как происходит аутентификация в том случае, когда у провайдера установлен Windows NT Remote Access Server (RAS). Windows NT RAS поддерживает два протокола аутентификации: PAP и так называемый MS CHAP 80. Аутентификация через PAP пройдет в том случае, если в Windows NT RAS установлен параметр "Allow any authentication including clear text". Если же администраторы провайдера установили параметры "Require encrypted authentication" или даже "Require Microsoft encrypted authentication", то единственный способ аутентификации - это MS CHAP 80.

Что же такое MS CHAP 80? В CHAP могут использоваться различные методы шифрования и передачи пароля. Описанному выше методу с использованием алгоритма MD5 присвоен номер 05. Microsoft разработал свой метод с использованием алгоритмов MD4 и DES для Windows NT 3.5, 3.51, 4.0 и Windows 95, назвал его MS CHAP и ему был присвоен номер 80. Это метод описан в RFC 2433. Но видимо, что-то там оказалось не так, и после SP3 был выпущен pptp3-fix (включенный в SP4) и rras30-fix с новым методом за номером 81, названный MS CHAP V2. Предыдущий вариант MS CHAP теперь называется MS CHAP V1.

Для того, чтобы из Linux можно было аутентифицироваться по методу MS CHAP 80, нужно собрать пакет pppd с поддержкой этого метода.


Подготовка к выходу в Интернет


Для того, чтобы получить выход в Интернет, первым делом надо организовать физический канал между вашим компьютером и сервером провайдера. Существует три основных способа организации физического соединения: через локальную сеть, ISDN-адаптер или модем, через который осуществляется обмен по протоколу PPP.

Первый случай имеет место тогда, когда ваш компьютер включен в локальную сеть, в которой имеется сервер доступа к Интернету. В этом случае от вас практически не требуется никаких усилий для организации соединения - все заботы берет на себя администратор локальной сети. Вы просто набираете в браузере URL интересующего вас ресурса и получаете к нему доступ. Идеальный вариант!

Соединение через ISDN-адаптер встречается пока не часто, так что мы его не рассматриваем.

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

Естественно, что первым делом нужно иметь модем и телефон.

Далее нужно выбрать провайдера услуг Интернет (ISP) и договориться с ним об открытии для вас счета доступа. При этом вам нужно получить у провайдера следующие данные:

номер телефона, по которому ваш компьютер будет соединяться с модемным пулом провайдера;ваши имя пользователя и пароль для доступа в Интернет.

Дополнительная информация, которая может оказаться необходимой для организации полноценного доступа к службам провайдера, включает:

IP-адрес сервера DNS (Domain Name Service - служба доменных имен). При заключении договора с провайдером вы можете получить от него один или несколько адресов серверов DNS;адрес шлюза (gateway address): некоторые провайдеры могут требовать указания адреса шлюза в настройках;имя домена провайдера;информацию о том, какой почтовый протокол используется провайдером (POP3 или IMAP);адрес сервера, осуществляющего обработку входящей почты (его имя может иметь вид pop.yourisp.com или mail.yourisp.com), и адрес сервера, осуществляющего обработку исходящей почты (SMTP-сервера). Зачастую обработка исходящей почты осуществляется тем же сервером, на котором обрабатывается входящая почта, и тогда их имена, естественно, совпадают;адрес (имя) новостного (NNTP) сервера (что-нибудь вроде news.yourisp.com или nntp.yourisp.com);имена proxy-серверов, которые установил ваш провайдер.


Далее необходимо убедиться, что Ваша конфигурация Linux имеет необходимые средства поддержки протокола PPP.

Для работы по протоколу PPP у вас должен быть установлен пакет ppp и Ваше ядро должно иметь встроенную поддержку протокола PPP (и TCP/IP). Для того, чтобы проверить, поддерживает ли ваше ядро протокол PPP, надо ввести команду: dmesg | more или просмотреть файл /var/log/dmesg.

Вы должны увидеть такие строки:

PPP: version 2.3.0 (demand dialling) TCP compression code copyright 1989 Regents of the University of California PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. PPP line discipline registered

Большинство руководств, в частности, PPP-HOWTO, рекомендуют в том случае, когда вы таких строк не найдете, перекомпилировать ядро, включив при компиляции поддержку PPP (о том, как перекомпилировать ядро, рассказано в лекции 17). Если поддержка протокола PPP в ядре была организована в виде модуля, то нужно подключить модуль поддержки PPP командой

[root]# /usr/sbin/insmod ppp

Описываемая ниже программа kppp подключает этот модуль автоматически. После успешного запуска kppp вы должны обнаружить приведенное выше сообщение о подключении PPP в файле /var/log/messages.

После того, как вы будете уверены, что поддержка протокола PPP обеспечена, можно подключить модем к компьютеру, соединить его с телефонной линией и перейти к настройке соединения вашего компьютера с сервером провайдера. Поскольку соединение происходит по протоколу PPP, именно его надо настраивать.

Есть два способа заставить работать PPP: сконфигурировать вручную и использовать конфигурационную программу.

Ручная конфигурация - дело довольно сложное, требующее редактирования файлов и написания скриптов. Работы, говорят, немного (только надо предварительно прочитать PPP HOWTO или другое руководство), но легко сделать ошибку. Если вы хотите попробовать ручной способ конфигурации, то обратитесь к рекомендациям Игоря Сысоева на его страничке http://www.nitek.ru/~igor/pppd/. Он, правда, описывает настройку PPP для операционной ситемы FreeBSD, однако для Linux все делается вполне аналогично.

Но все же для новичков предпочтительнее воспользоваться одним из специальных инструментов, автоматизирующих выполнение этих задач. В составе графической среды KDE для создания и изменения учетных записей PPP имеется превосходная программа kppp. Эта утилита облегчает настройку соединения; в большинстве случаев от вас потребуется только правильно указать учетную информацию.


Проблемы с настройкой соединения


Если вам не удается установить соединение с провайдером, то надо, естественно, искать причину. Попробую дать несколько советов, как действовать в такой ситуации.

Первый совет, который на этот случай дают "классики": смотрите протоколы (лог-файлы)!

Во-первых, при запуске kppp установите во включенное состояние переключатель Монитор подключения в главном окне kppp. В окне монитора можно увидеть, что ожидает получить провайдер, и какую информацию посылает ваш компьютер. Зачастую можно подправить сценарий соединения, пользуясь только информацией, отображаемой в этом окне.

Во-вторых, надо запустить kppp так, чтобы он как можно подробнее протоколировал свои действия. Для этого снова войдите в окно настроек соединения kppp и задайте опцию запуска "debug" на вкладке Дозвон.

Кроме того, впишите следующие две строки в файл /etc/syslog.conf:

daemon.* /dev/console daemon.* /var/log/kppp.log

(обратите внимание на то, что между двумя частями записи в каждой строке должен быть хотя бы один символ табуляции). После внесения изменений в файл /etc/syslog.conf выполните команду kill -HUP <pid>, где <pid> - идентификатор запущенного в это время процесса syslogd. По этой команде syslogd перечитает свой конфигурационный файл. Следствием выполненных вами действий будет то, что pppd будет выдавать сообщения о своих действиях на консоль и записывать эти же сообщения в файл /var/log/kppp.log. Его и смотрите!

Искать в этом файле надо сообщения, начинающиеся на:

"pppd[NNN]: Connected..." - означает, что скрипт соединения завершился успешно."pppd[NNN]: sent [LCP ConfReq"... - сообщение о том, что pppd пытался начать диалог с удаленным сервером."pppd[NNN]: rcvd [LCP ConfReq"... - сообщение о том, что pppd получил ответ (negotiation frame) от удаленного сервера."pppd[NNN]: ipcp up" - означает, что pppd дошел до той точки, где, по его мнению, соединение готово для передачи по нему IP-трафика.

Если вы не находите строки с сообщением "rcvd", то у вас серьезные проблемы с установлением соединения (например, по каналу не передаются все 8 бит). В этом случае может оказаться полезным записывать в файл протокола весь поток байтов, передаваемых между Вашим компьютером и удаленным сервером. Для этого измените две упоминавшиеся выше строки в файле syslog.conf следующим образом:

daemon.*,kern.* /dev/console daemon.*,kern.* /var/log/kppp.log


и снова перезагрузите демон syslog, как это было сказано выше. Затем запустите pppd с опцией "kdebug 25". Теперь все символы, передаваемые по каналу PPP-соединения, будут записываться в файл протокола.

Просмотрите этот файл в поисках сообщений, похожих на следующее:

ppp_toss: tossing frame, reason = 4

Оно означает, что программа PPP не успевает обрабатывать пакеты от удаленной машины. Это может быть потому, что ваш центральный процессор не способен принимать символы с последовательного порта с той скоростью, с которой они поступают. Если в приведенной выше строке указана причина (Reason), отличная от 4, это может свидетельствовать о других сбоях в работе последовательного порта.

На начальном этапе установления соединения вы можете увидеть одно или несколько сообщений, содержащих строку "bad fcs". Это говорит об ошибках в контрольной сумме получаемых PPP-пакетов, и обычно случается в начале сессии, когда удаленная система посылает сообщения типа "hello this is the XYZ company". Если такие сообщения продолжают появляться тогда, когда соединение уже установлено, это говорит о шуме в телефонной линии и сбоях в передаче пакетов.

Может оказаться, что на сервере провайдера установлен Remout Access Server (RAS), который настроен на использование алгоритма аутентификации MS CHAP 80. Вы можете определить, запрашивает ли сервер установление подлинности, используя этот алгоритм, при анализе файла протокола pppd. Если сервер запрашивает установление подлинности по MS CHAP, то вы увидите строки типа:

rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]


Программа kppp


kppp - одна из очень удобных утилит KDE позволяющая легко установить подключение к Интернету и легко его модифицировать. Она включает функции настройки PPP-интерфейса, обеспечивает "дозвон" по телефонной линии и совместно с демоном pppd (Point-to-Point Protocol daemon) устанавливает и поддерживает соединение с сервером провайдера.

Чтобы запустить kppp, можно воспользоваться командой меню Главное Меню KDE/Интернет/Kppp. Если вы хотите запускать программу kppp от имени обычного пользователя, надо установить suid-бит на исполняемый файл /usr/bin/kppp. В противном случае при запуске пользователем этой программы будет появляться сообщение, изображенное на рис 14.1.


Рис. 14.1.  Сообщение о невозможности запуска kppp

Если запускать kppp с правами администратора, то таких сообщений не появляется, открывается главное окно программы, изображенное на рис. 14.2.


Рис. 14.2.  Главное окно программы kppp



Путешествия по Интернету с помощью программы lynx


Хотя большинство из нас привыкло путешествовать по WWW с помощью браузеров, работающих в графическом режиме, не стоит окончательно забывать и те программы, которые работают в текстовом. Именно такой программой и является lynx. Несомненными преимуществами этой программы является то, что она может работать и на "слабых" компьютерах, а также ускорение загрузки страниц в силу того, что не загружаются картинки. Конечно, последнее качество не всегда можно считать преимуществом, но если вы заглядываете на страницу только для оценки ее содержания, то, возможно, стоит воспользоваться lynx. Тем более, если ничто не мешает загрузить ее параллельно с графическим браузером.

Если вы не установили lynx в процессе инсталляции системы, то смонтируйте дистрибутивный диск CD-ROM и установите lynx командами

[root]# cd /mnt/cdrom/RedHat/RPMS/ [root]# rpm -i lynx-2.8.2-2.i386.rpm

(естественно, цифры у вас могут быть другими, в зависимости от того, какая версия программы находится на диске).

После инсталляции программы можно ее запустить либо в одном из виртуальных терминалов, либо в консольном окне в графической оболочке. При первом запуске появится окно, напоминающее то, которое изображено на рис. 14.22.


увеличить изображение
Рис. 14.22.  Окно браузера lynx после первого запуска

Обратите внимание на подсказку в двух нижних строках окна (на белом фоне), а также в третьей снизу строке (на синем фоне). Сразу же этой подсказкой и воспользуемся для того, чтобы настроить программу: нажмите клавишу <O> (латинское) для того, чтобы получить доступ к опциям программы. Окно примет вид, изображенный на рис. 14.23.


увеличить изображение
Рис. 14.23.  Меню опций программы lynx

Переход от параметра к параметру в этом окне осуществляется по тем же принципам, что и переходы по ссылкам при путешествиях по Интернету, так что запоминайте!

Гипертекстовые ссылки выделены в тексте синим цветом, а текущая (активная) ссылка выделена красным цветом. Клавиши <Стрелка вверх> и <Стрелка вниз> используются для перемещения от ссылки к ссылке, клавиши <Enter> и <Стрелка вправо> вызывают переход по активной ссылке, клавиша <Стрелка влево> - возврат к предыдущей странице.

Давайте, для примера, изменим значение параметров Display character set и Assumed document character set(!). Для этого с помощью клавиши <Стрелка вниз> сместим подсветку (красную) на первый из этих параметров и нажмем клавишу <Стрелка враво> или <Enter>. Появится выпадающий список, в котором надо выбрать, например, Cyrillic (koi8-r). Выбор осуществляем теми же клавишами <Стрелка вверх> и <Стрелка вниз>, после чего нажимаем <Enter>. Аналогичным образом параметру Assumed document character set(!) присваивается значение koi8-r.

Значения некоторых параметров меняются путем прямого редактирования соответствующей строки. Примером такого параметра является Editor или Preferred document language.

После того, как вы задали таким образом значение всех параметров, надо проследовать по ссылке Accept Changes, чтобы сохранить эти значения в файле настройки lynx.

Для того, чтобы открыть какую-либо интернет-страницу, надо нажать клавишу <G>. В третьей снизу строке окна lynx появится приглашение на ввод URL. Вводите нужный вам адрес, нажимаете клавишу <Enter> и страница открывается. Выглядит она, конечно не так, как в графических браузерах. Вместо картинок даются только имена соответствующих файлов (в квадратных скобках), таблицы преобразованы в последовательный текст, и т. д.. Посмотрите для сравнения, как выглядела 15.03.2000 г. главная страница известного сервера IXBT.Hardware.ru в графическом браузере Netscape (рис. 14.24) и в lynx (рис. 14.25).


увеличить изображение
Рис. 14.24.  Главная страница сервера IXBT.Hardware.ru в графическом браузере Netscape


увеличить изображение
Рис. 14.25.  Главная страница сервера IXBT.Hardware.ru в браузере lynx

Конечно, графический интерфейс и возможность использования таблиц существенно повышают информативность страницы и облегчают ее восприятие. Так что в большинстве случаев вы будете пользоваться каким-либо из графических браузеров (к рассмотрению которых мы сейчас перейдем). Но не забывайте и о существовании lynx, возможно он вам кое-где пригодится!



Установка связи с помощью kppp


Для запуска kppp надо выбрать в Главном меню KDE команду Интернет и щелкнуть на kppp. Можно (и это проще) воспользоваться комбинацией клавиш <Alt>+<F2>, ввести в появившейся строке ввода (рис. 14.18) имя программы и щелкнуть по клавише Выполнить:


Рис. 14.18.  Строка ввода команды оболочки KDE

Можно также запустить окно консоли и выполнять в нем команду

[user1]$ kppp &

В появившемся главном окне kppp (рис. 14.2), выберите вариант соединения, введите имя пользователя и пароль учетной записи для доступа в Интернет.

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

Чтобы начать сеанс, нажмите на кнопку Соединить. Появятся два окна. В одном из них (рис. 14.19) показан статус соединения, например, так:


Рис. 14.19.  Статус соединения

Второе окно (Монитор подключения) отображает команды инициализации модема и процесс обмена данными с сервером провайдера. Если вы не сделали этого раньше, вы можете открыть окно Монитора, воспользовавшись кнопкой Журнал в окне статуса, изображенном на рис. 14.19.

После установления соединения с провайдером kppp свернется в кнопку или иконку на Панели задач в зависимости от того, какие значения опций вы задали на вкладке PPP (см. выше). Окно монитора тоже закрывается.

Чтобы просмотреть статистику соединения, например, пропускную способность или IP-адреса, откройте окно статуса kppp (рис. 14.20)


Рис. 14.20.  Окно статуса после запуска kppp

и нажмите на кнопку Подробности. Появится окно статистики соединения (рис. 14.21).

Несмотря на то, что kppp вроде бы работает, давайте займемся проверкой того, что все настроено правильно. Первым делом введите (от имени пользователя root) команду

[root]# /sbin/ifconfig

По этой команде должны быть показаны все работающие ("поднятые") сетевые интерфейсы. Среди них должен быть "кольцевой интерфейс" (Local Loopback) и ppp0, причем для ppp0 в информации, выводимой по этой команде, можно найти присвоенный вам IP-адрес и адрес сервера, с которым вы соединились (эта же информация имеется и в окне статистики, изображенном на рис. 14.21).


Рис. 14.21.  Окно статистики соединения

Вот пример вывода команды /sbin/ifconfig:

lo Link encap Local Loopback inet addr 127.0.0.1 Bcast 127.255.255.255 Mask 255.0.0.0 UP LOOPBACK RUNNING MTU 2000 Metric 1 RX packets 0 errors 0 dropped 0 overrun 0 TX packets 0 errors 0 dropped 0 overrun 0 ppp0 Link encap Point-to-Point Protocol inet addr 192.168.17.1 P-t-P 192.168.18.1 Mask 255.255.255.0 UP POINTOPOINT RUNNING MTU 1500 Metric 1 RX packets 33 errors 0 dropped 0 overrun 0 TX packets 42 errors 0 dropped 0 overrun 0


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

Теперь дайте команду

[root]# ping z.z.z.z

где z.z.z.z - IP-адрес сервера DNS (этот адрес вы должны были получить у провайдера и приписать в настройках kppp). Если все корректно работает, то вы увидите строки следующего вида:

[root]# ping 212.22.66.70 PING 212.22.66.70 (212.22.66.70): 56 data bytes 64 bytes from 212.22.66.70: icmp_seq=0 ttl=255 time=268 ms 64 bytes from 212.22.66.70: icmp_seq=1 ttl=255 time=247 ms 64 bytes from 212.22.66.70: icmp_seq=2 ttl=255 time=266 ms ^C --- 212.22.66.70 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 247/260/268 ms

(Для того, чтобы прервать работу команды ping, надо нажать комбинацию клавиш <Ctrl>+<C>.)

Следующий этап проверки состоит в запуске команды

[root]# netstat -nr

Я в этом случае увидел всего три строки, включая строку заголовка (хотя у вас может оказаться и больше):

Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.14.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 0.0.0.0 192.168.14.1 0.0.0.0 UG 0 0 0 ppp0

Если вывод команды выглядит подобным образом, но не содержит строки, в которой в графе Destination стоят 4 нуля (0.0.0.0) (она указывает на маршрут, используемый для соединений по умолчанию), то вы, вероятно, не включили переключатель "Присвоить данному шлюзу маршрут по умолчанию" на вкладке Настройка соединения | Шлюз.

Далее вы можете попытаться установить соединение с сервером провайдера по одному из протоколов telnet, ftp, finger, используя известные вам цифровые IP-адреса.

Если все эти проверки завершились успешно, вы можете запустить любой Интернет-браузер (а в KDE и запускать дополнительно ничего не надо - используйте Konqueror), задать имя (URL) ресурса и отправиться в путешествие по виртуальному миру. Если запустить почтового клиента, то можно получать и отправлять электронную почту. Подробнее о том, как это сделать, будет сказано следующих разделах, где кратко описаны браузеры и почтовые клиенты для Linux.

Правда, не всегда все проходит так гладко. Если вам не удается после установления соединения получить выход в WWW, прочитайте ниже раздел, где рассмотрены возможные затруднения.

Чтобы разорвать соединение, если приложение прикреплено к Панели, щелкните один раз по его значку. В открывшемся окне статуса соединения нажмите на кнопку Разъединить.

Если вы выбрали режим сворачивания в Панель задач, разверните приложение и тоже нажмите кнопку Разъединить.


Центр управления KDE


Типичный вид окна при работе с Центром управления KDE изображен на рис. 15.3.

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


увеличить изображение
Рис. 15.3.  Один из экранов Центра управления KDE (щелкните по рисунку для просмотра)

Первое, что я делаю, - настраиваю фон или тему рабочего стола с помощью команд Фон и Менеджер тем меню Внешний вид и интерфейс главного меню Центра управления. На приведенных выше рисунках вы можете видеть результат. Одновременно можно выбрать основные цвета (команда Цвета) и стиль оформления графических элементов (команда Стиль), однако я обычно оставляю здесь установки по умолчанию.

Далее просто необходимо выбрать (с учетом своих вкусов и, возможно, особенностей зрения) шрифты, которыми будут выводиться различные надписи. На рис. 15.4 вы видите правую панель Центра управления, соответствующую команде Шрифты.


Рис. 15.4.  Задание шрифтов для разных элементов экрана

Для изменения какого-либо шрифта надо щелкнуть по экранной кнопке Выбрать. Появится окно, изображенное на рис. 15.5, в котором и осуществляется такой выбор. После того, как выбор шрифта произведен, вы щелкаете по кнопке Ok. Однако это еще не значит, что такой шрифт будет использоваться в KDE. Для того, чтобы изменения вступили в силу, надо еще нажать кнопку Применить на панели Центра управления (рис. 15.4). Это, кстати, касается не только шрифтов, а любых изменений, производимых с помощью Центра управления.


Рис. 15.5.  Окно выбора шрифтов

Если вы хотите, чтобы экран гас в то время, когда вы уходите от своего компьютера, а тем более, если вы хотите, чтобы вернуть экран в активное состояние можно было только после ввода пароля, воспользуйтесь вложенной командой Хранитель экрана.

Вид и содержание главного меню KDE тоже можно настраивать. Но надо иметь в виду, что главное меню считается элементом панели KDE, а поэтому и команды меню, связанные с его собственной настройкой, надо искать там, где речь идет о настройке панели: в команде Настройка панели главного меню или в команде Внешний вид и интерфейс | Панель Центра управления KDE.

Добравшись одним из этих способов до вкладки Меню, вы увидите картинку, изображенную на рис. 15.6.

Я думаю, что из этого рисунка ясно, какие параметры главного меню можно изменить на этой вкладке. Как видите, состав и содержание элементов меню здесь изменить невозможно. Для этого надо вызвать отдельную программу - Редактор меню KDE, что делается через команду Настройка панели | Редактор меню того же главного меню.


увеличить изображение
Рис. 15.6.  Настройка главного меню

Окно программы Редактор меню KDE представлено на рис. 15.7. Здесь можно как создать новую команду меню, так и новое подменю, указать название приложения и имя запускаемого файла, а также назначить запуск программы от имени другого пользователя.


увеличить изображение
Рис. 15.7.  Редактор меню KDE

На вкладке Расширенные можно назначить "горячую" клавишу, по которой можно будет вызывать приложение, не прибегая к помощи меню и мыши.

Я думаю, что теперь вы сможете при желании перестроить главное меню KDE в соответствии со своими вкусами и привычками. Поэтому обратимся к вопросу настройки другого важнейшего элемента графического интерфейса KDE - панели.



Что такое "удобная рабочая среда"


Компьютер и его операционная система, будь то Linux или Windows, - это не самоцель. И то и другое нужно нам только как инструмент, служащий для выполнения каких-то работ, решения определенного круга задач. Задачи эти в большинстве случаев решаются не средствами операционной системы, а путем запуска каких-то приложений. Их совокупность и создает на компьютере то, что мы далее будем называть "удобной рабочей средой". Очевидно, что состав компонент, которые создают удобную для пользователя рабочую среду, в значительной мере определяется теми задачами, которые этот пользователь решает с помощью компьютера. Однако имеется и некоторый базовый набор приложений, который необходим каждому пользователю.

Если вы работали на компьютере до перехода на ОС Linux, у вас уже имеются какие-то привычки и собственное представление о том, что вам необходимо для комфортной работы. Естественно, что представление о том, что такое удобно, у каждого свое. Я не хочу навязывать вам свои вкусы или предпочтения, но все же расскажу, как я представляю себе удобную рабочую среду, и что, по моему мнению, нужно сделать под Linux, чтобы ее создать. Вы вольны последовать моим советам или сразу отказаться от чтения этого раздела.

Хочу особо подчеркнуть, что речь пойдет именно о персональном компьютере пользователя. Под персональным компьютером понимается как домашний компьютер, так и компьютер, установленный в офисе, на рабочем месте. Суть все равно в слове "персональный", отличающем этот компьютер от разного рода серверов. Итак, перечислю кратко те компоненты, которые, по моему мнению, составляют такую рабочую среду.

Создание удобной рабочей среды начинается с подбора необходимых утилит для обслуживания аппаратной части, организации печати, работы с файловой системой, организации архивного хранения информации и т. д. К той же категории необходимых служебных утилит я бы отнес средства защиты от вирусов и других вредных воздействий, а также средства "защиты от дурака".Следующим по важности компонентом такой среды, безусловно, является набор офисных приложений, начиная с текстового редактора (или процессора). Многим пользователям необходимы также электронные таблицы и какая-либо система управления базами данных (хотя это уже касается далеко не всех).Каждый пользователь так или иначе сталкивается и с обработкой графической информации. Большинство из нас не художники, так что рисовать картины нам не потребуется, но просматривать графические файлы разных форматов необходимо всем.Следующая задача - организация работы пользователя: ведение деловых дневников, напоминание о задачах, работах, встречах и т.п., т. е. выполнение функций персонального органайзера.Затем идет организация взаимодействия с коллегами, что обычно реализуется средствами электронной почты. Можно возложить на компьютер и организацию факсимильной и телефонной связи.Если ваш компьютер подключен к сети Интернет, то необходим браузер, FTP-клиент и программные средства для получения новостной информации.Если вы в той или иной мере программируете, то необходимы и какие-то средства разработки, отладки и компиляции программ. Но рассказывать об этой категории продуктов и рекомендовать какой-то продукт я не берусь. Вообще-то эту категорию продуктов можно уже отнести к узкоспециальным. Точно так же математику нужна будет какая-то из математических или статистических программ, бухгалтеру - пакет типа "1С:Бухгалтерия" и т. д. Я упомянул этот класс продуктов в настоящем списке только для того, чтобы отметить необходимость наличия прикладных программ, связанных с профессиональной деятельностью пользователя.Ну, и наконец, компьютер можно использовать не только для работы. Тем более, если речь идет о домашнем компьютере. Значит, в состав "удобной рабочей среды" надо включить средства мультимедиа: программы для прослушивания аудиозаписей, просмотра видео, а также хотя бы минимальный набор игр и развлечений.

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



Главное меню KDE


Как вы уже знаете, доступ к главному меню KDE мы получаем, щелкнув по значку с буквой "K" (рис. 15.2).

Во-первых, обратите внимание на то, что некоторые элементы меню имеют треугольник после названия. Это говорит о том, что данный элемент вызывает вложенное меню следующего уровня.

Во-вторых, вы можете заметить, что здесь имеются аналоги тех команд, которые вы привыкли видеть в главном меню Windows: Поиск файла, Помощь, Запустить программу:, Последние документы. Недаром часто говорят, что из всех интегрированных графических сред KDE наиболее близка к Windows. Что же, хорошим решениям не грех подражать.


Рис. 15.2.  Главное меню KDE

Команды Каталог и Домашний каталог служат для быстрого перехода в нужный каталог и просмотра его содержимого с помощью файлового менеджера Konqueror (о нем мы уже говорили в лекции 14 и еще не раз упомянем ниже).

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

Смысл подавляющего числа команд меню не требует особых пояснений - они вызывают соответствующее приложение, и этим все сказано. Но две из них рассмотреть необходимо: это Центр управления и Настройки панели.



Графический редактор Gimp


Если СУБД встречается далеко не на каждом персональном компьютере, то программы работы с графикой нужны каждому пользователю, если не для создания или редактирования картинок, так хотя бы для их просмотра. Хотя для Linux и созданы разнообразные специализированные средства просмотра изображений и управления коллекциями картинок, но для простого пользователя вроде меня может оказаться вполне достаточным применение стандартного для KDE браузера Konqueror. Как я уже говорил, этот браузер позволяет просматривать файлы самых разных форматов, в том числе и графических. Впрочем, в составе KDE имеется и отдельная программа для просмотра изображений KView, а в состав большинства дистрибутивов входит программа Image Magic, которая позволяет не только просматривать графические файлы, но и производить множество операций по их трансформации (изменения яркости, размера, вращения, растяжения и т.п.).

Но основной программой для работы с графикой под Linux является GIMP.

GIMP есть акроним от GNU Image Manipulation Program, что переводится как программа манипуляции образами проекта GNU. Она предназначена для решения таких задач, как ретуширование фотографий, наложение графических образов и их создание. По своим возможностям она не уступает таким программам, как Adobe Photoshop или Corel PhotoPaint. Однако она имеет перед последними то огромное преимущество, что свободно доступна через Интернет и в составе различных дистрибутивов Linux. GIMP славен также тем, что для него легко писать дополнения (плагины) на разных языках программирования, а поэтому существует уже обширный набор таких дополнений.

GIMP в основном работает с изображениями в растровом формате (bitmap). Т. е. с изображениями, составленными из отдельных пикселей (pixels) - крошечных точек, каждая из которых окрашена каким-то своим цветом. Множество таких точек образуют целостную картину.

Существует и другой формат сохранения изображений в файле - векторный. При этом способе рисунок создается путем задания кривых, координат и заполнения некоторых областей определенным цветом. GIMP обеспечивает некоторую поддержку векторной графики с помощью плагина Gfig, но не позволяет производить полноценное редактирование изображений в векторном формате, и не может быть использован для создания сложных векторных диаграмм. Кроме того, GIMP обладает возможностями создания анимации в форматах AVI и GIF, а также может показывать видео в формате MPEG.

Ниже приводится краткий список возможностей и особенностей GIMP:

полный набор инструментов для рисования, включая кисти, карандаш, пульверизатор и т.п.;сохранение изображения в памяти в виде отдельных частей, так что размер изображения ограничен только доступным дисковым пространством;поддержка альфа-каналов (прозрачности);работа со слоями;развитые возможности поддержки скриптов, причем существует даже возможность вызова встроенных функций GIMP из внешних скриптов, таких как Script-Fu, Perl-Fu (скрипты на Perl) и Python-Fu (скрипты на Python);многоуровневые операции отмены действия (undo) и повторного выполнения (redo), ограниченные только дисковым пространством;наличие инструментов трансформации рисунка, включая вращение, масштабирование, искривление и зеркальное отображение;список поддерживаемых форматов включает PostScript, JPEG, GIF, PNG, XPM, TIFF, TGA, MPEG, PCX, BMP и многие другие;наличие инструментов выделения прямоугольных, эллиптических областей, областей произвольной формы, связанных областей и выделение форм в изображении (intelligent scissors);наличие возможности вызова плагинов, что позволяет легко наращивать функциональность программы, добавлять возможность работы с новыми форматами файлов и новыми фильтрами.


Когда вы впервые запускаете GIMP и впервые сталкиваетесь с его интерфейсом, он может показаться вам весьма необычным, поскольку состоит из нескольких отдельных окон. В управлении программой широко используются выпадающие меню, появляющиеся после щелчка правой кнопкой мыши по отдельным элементам окон. Основных окон два - окно инструментов или Toolbox (рис. 15.19) и окно изображения - Image Window (рис. 15.20).


Рис. 15.19.  Главное окно программы GIMP


Рис. 15.20.  Окно рисунка (Image Window) в GIMP

Кроме этих окон можно открыть (из меню, вызываемого через команду Файл | Диалоги) различные вспомогательные окна, служащие для выбора инструментов, шаблонов, задания цвета (палитра), слоев (layers) и т. д.

Окно инструментов (рис. 15.19) содержит:

главное меню, состоящее всего из трех элементов - Файл, Расширения и Справка;кнопки инструментов (два ряда квадратиков с изображениями);панель выбора цветов фона и "краски" (внизу слева);индикатор статуса инструментов (внизу справа).

Одиночный щелчок левой кнопкой мыши по кнопке с указанием инструмента означает выбор соответствующего инструмента, а двойной щелчок вызывает появление окна настройки. Задержите указатель мыши над любым элементом, и вы увидите краткое пояснение назначения этого элемента. Одиночный щелчок по квадратикам на панели выбора цвета и по любому из трех элементов на панели статуса вызовет появление соответствующего окна, в котором можно произвести нужный выбор. Такие же окна можно вызвать и через меню Файл | Диалоги.

Второе окно, которое вы всегда будете использовать при работе с рисунком, - это окно изображения (Image Window).

На рис. 15.20 показано, как выглядит это окно при его открытии (через команду меню Файл | Новый), когда в нем еще ничего не рисовали и не открывали файл с готовым рисунком. Белое поле в этом окне - это то место, где вы можете проявить свои творческие способности. Если отображаемый в окне рисунок не помещается в окне, можно использовать линейки прокрутки.

Я надеюсь, что первоначальное представление о том, как запустить GIMP и управлять им вы получили. Полное описание приемов работы с этой программой не входит в мою задачу. Если вам это интересно, загляните на сайт А. Селезнева "GIMP по-русски" по адресу http://gimp.linux.ru.net/.

Кроме того, рекомендую вам просмотреть обзор другого программного обеспечения для работы с графикой под Linux, который вы найдете в статье В. Галактионова "Существует ли графика для Linux", опубликованной в №4 журнала "Мир ПК" за 2001 год (http://osp.ru/pcworld/2001/04/078.htm).


Игры


Конечно, далеко не каждый пользователь компьютера тратит много времени на компьютерные игры, но вряд ли найдется такой из нас, кто никогда не запускает их в свободную минуту. Почему-то широко распространено следующее мнение: "Linux - это операционная система для программистов. Если вы хотите играть, запускайте Windows!". Однако это далеко не так и я попытаюсь обосновать это утверждение в настоящем разделе.

Минимальный набор игр и развлечений включен в состав графической среды KDE. Я лично, вполне довольствуюсь тем, что там есть, и даже всего тремя играми (рис. 15.40): Тетрис, Маджонг и Пасьянс.


увеличить изображение
Рис. 15.40.  Игры из стандартного набора KDE

Но для настоящего игрока этот набор, конечно, покажется очень бедным. Впрочем, стандартный набор игр, входящий в состав Windows, еще беднее. "Настоящие" игры - это, по мнению большинства, игры трехмерные, похожие на видео-фильмы, главным действующим лицом в которых является играющий. Но такие игры требуют хорошей видео-карты и программной поддержки трехмерной графики. Третья версия пакета XFree86, содержала лишь код, необходимый для 2D-приложений. Чтобы играть в 3D-игры, нужно было добавлять специальное ПО. В четвертую версию пакета XFree86 включен быстродействующий механизм трехмерной графики. Кроме того, была разработана открытая спецификация OpenAL, которая обеспечивает в играх поддержку 3D-аудио. Точно так же, как переход Microsoft с DirectX 5 на DirectX 6 изменил ситуацию для разработчиков игр под Windows, переход от версии 3 к версии 4 XFree86 с добавлением OpenAL и других разработок позволил перенести под Linux самые популярные игры, ранее существовавшие только в Windows-версиях, а также и разработать новые.

Одна из самых известных игр, - Doom, созданная компанией id Software, впервые была опубликована в конце 1993 года. В этой игре вы должны пройти сложный лабиринт, сражаясь с фантастическими монстрами, которые стремятся вас "убить". Существуют сетевые версии этой игры. Первоначально выпущенная для MS-DOS, DOOM была затем перенесена на NeXT, SGI, Macintosh-и, Atari Jaguar, MS Windows. Первая версия для Linux была разработана Дэвидом Тейлором (David Taylor). В декабре 1997 г. id Software выпустила DOOM под лицензией GNU General Public License. Вы можете найти версию этой игры под названием LxDoom по адресу http://lxdoom.linuxgames.com/current.html.

Еще в 1995 году была начата разработка проекта FreeCiv - клона популярной игры Civilization. FreeCiv обеспечивала режим коллективной игры через Интернет еще за несколько месяцев до того, как компания Hasbro Interactive включила подобные возможности в свой продукт.

Но самый большой вклад в дело убеждения разработчиков и пользователей в том, что к Linux как к платформе для игр можно относиться серьезно, внесла другая игра - Quake, которая вышла в 1996 году. К 1997 году один из основателей фирмы Id Software Джон Кармак (John Carmack) предложил сообществу разработчиков Quake на условиях лицензии GNU General Public License, а программист Дейв Кирш (Dave Kirsh) из той же компании перенес эту игру на Linux. Сегодня компании используют Quake III для демонстрации новейшей аппаратуры и дистрибутивов Linux. Кармак (и его компания) активно поддерживает идею игр на Linux; он перенес на открытую платформу и Quake III: Arena.

Таким образом, к настоящему времени все типы популярных компьютерных игр доступны в версиях для ОС Linux. Для Linux созданы и аркадные игры, и симуляторы, и стратегии, и "стрелялки", и игры любых других типов. В составе дистрибутивов полного комплекта игр вы, конечно, не найдете. Если у вас есть желание поиграть в такие игры, их надо устанавливать дополнительно, для чего либо купить их, либо скачать из Интернета.

Я закончу свой рассказ об играх ссылками, по которым вы сможете разыскать такую игру, которая вам понравится.

Начните знакомство с миром игр с чтения "Linux Gamers' HOWTO" (http://www.dirac.org/linux/LG-HOWTO.txt). Русский перевод этого документа сделал Дмитрий Самойлов. Самую свежую версию перевода можно найти по адресу http://linuxgames.hut.ru/data/docs/HOWTO/LG-HOWTO-ru.html.

После этого можно отправиться на сайт http://freshmeat.com, где вы найдете около 300 различных игр. На русскоязычном сайте http://linuxgames.hut.ru имеется база данных по играм, в которой 184 игры, в том числе 143 - свободно распространяемые.

На сайте http://linuxgames.org.ru/games.php3 вы найдете перечень игр под Linux, классифицированных по жанрам, с кратким описанием и ссылками на статьи с более подробными сведениями.

Если вы не нашли нужной игры на этих сайтах, можете заглянуть еще по следующим адресам:

Linux Games (http://www.linuxgames.com);Linux Game Tome (http://happypenguin.org);Loki Entertainment Software (http://www.lokigames.com);Hyperion Software (http://www.hyperion-software.com);Tribsoft (http://www.tribsoft.com/);Unreal Tournament (http://www.unrealtournament.com/).

На этом я закончу рассмотрение вопроса о создании под Linux удобной рабочей среды пользователя. Изложение здесь поневоле получилось достаточно поверхностным. Но если сделать описание более подробным, то каждый раздел этой лекции превратился бы в целую книгу. Я все же надеюсь, что приведенный мной обзор может служить обоснованием вывода о возможности решения той задачи, которая была сформулирована в начале лекции, а именно, о возможности использования Linux для создания удобной пользовательской среды.


На этом я закончу рассмотрение вопроса о создании под Linux удобной рабочей среды пользователя. Изложение здесь поневоле получилось достаточно поверхностным. Но если сделать описание более подробным, то каждый раздел этой лекции превратился бы в целую книгу. Я все же надеюсь, что приведенный мной обзор может служить обоснованием вывода о возможности решения той задачи, которая была сформулирована в начале лекции, а именно, о возможности использования Linux для создания удобной пользовательской среды.

© 2003-2007 INTUIT.ru. Все права защищены.

Настройка панели и значков на рабочем столе


Вы уже знаете, что добраться до настроек панели можно либо через команду Настройка панели главного меню, либо через Центр управления KDE. Но имеется и третий вариант. Можно щелкнуть правой клавишей мыши по свободному полю на панели, и появится выпадающее меню, изображенное на рис. 15.8, в котором тоже имеется команда Настройки, и которая по содержанию идентична команде Настройка панели главного меню. Если вызвать эту команду, появится окно, изображенное на рис. 15.9.


Рис. 15.8.  Выпадающее меню для Панели


увеличить изображение
Рис. 15.9.  Окно настроек панели

Как видите, с помощью первой вкладки (Общие) можно переместить панель к любой границе экрана, изменить ее размер, задать скорость движения при автоскрытии и определить терминальное приложение. На следующей вкладке (Внешний вид и интерфейс) задаются еще несколько аналогичных параметров. Поэкспериментируйте! Только не забывайте нажимать кнопку Применить, иначе никаких изменений не произойдет. Вкладку Меню мы уже рассматривали, а двумя следующими вкладками (Кнопки и Аплеты) я не пользуюсь (пробовал поменять фон кнопок и панели, но мне это не понравилось).

Теперь обратите внимание на первую команду (Добавить) в меню, изображенном на рис. 15.8. Если переместить на эту команду указатель мыши, то вы увидите, что добавить можно как отдельный элемент (т. е. кнопку или иконку) на панель задач, так и четыре вида дополнительных панелей (или четыре вида расширений основной панели). Я не вижу смысла приводить здесь изображения всех этих панелей, расскажу для примера только об одной из них - дополнительной панели задач (на рис. 15.10 она расположена над основной панелью).

Обратите внимание на серый и как бы ребристый прямоугольник в левом конце этой дополнительной панели. Щелкнув по нему правой кнопкой мыши, вы получите возможность удалить дополнительную панель или добавить на нее что-то (только кнопку мыши надо удерживать). С помощью таких же серых и ребристых прямоугольников можно получить доступ к меню других элементов главной панели.


увеличить изображение
Рис. 15.10.  Дополнительная панель задач (щелкните по рисунку для просмотра)

Меню управления кнопками на панели появляются после щелчка правой кнопкой мыши по самой кнопке (рис. 15.11).


Рис. 15.11.  Выпадающее меню для кнопки на Панели

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


Рис. 15.12.  Свойства ссылки

Подробнее со всеми свойствами и возможностями панели вам придется разбираться самостоятельно, а я закончу тем, что расскажу вам "страшную" историю. Во время знакомства с ее возможностями и опциями настройки я умудрился однажды вообще удалить панель с экрана. Как уж это получилось, я тогда даже не понял. Но факт тот, что пропали и сама панель, и главное меню, и спасительная буква "K", а, следовательно, возможность вообще что-либо запустить. Мне долго пришлось искать выход из этой ситуации, но он, конечно же, нашелся. Щелкнув по пустому полю на рабочем столе, я получил выпадающее меню, в котором нашлась команда Помощь по рабочему столу. Изучив эту подсказку, я узнал, что панель представляет собой отдельную программу, которая называется kicker. Запустив эту программу с помощью того же выпадающего меню рабочего стола (Выполнить команду), я успешно вернул панель на ее законное место.

В этом разделе нам осталось только сказать пару слов о значках ("иконках") на рабочем столе. Они тоже могут использоваться для запуска приложений или быстрого доступа к некоторым файлам или каталогам. Впрочем, вы вероятно, знакомы с ними по работе в Windows. Мне, как и вам, наверное, неоднократно приходилось видеть экраны мониторов, усыпанные такими значками. Правда, сам я не сторонник такой россыпи картинок на рабочем столе. На мой взгляд, гораздо удобнее пользоваться хорошо структурированным главным меню. Но о вкусах не спорят: Так что, если вам это нравится, щелкайте по пустому пространству рабочего стола, и создавайте новую ссылку на приложение, файл или устройство, как это показано на рис. 15.13.


Рис. 15.13.  Создание новой ссылки на рабочем столе

Если же хотите знать мое мнение, то из значков на рабочем столе необходимы только значки, ссылающиеся на устройства, и, в первую очередь, на floppy-дисковод и дисковод CD-ROM. С помощью таких значков очень удобно монтировать и размонтировать сменные носители: достаточно вызвать выпадающее меню (щелчком правой кнопки мыши по соответствующему значку) и выбрать нужную команду.

На этом я закончу свое очень краткое введение в KDE. Точнее, не введение в KDE, а краткое описание программы kicker. Потому что кроме этой программы KDE включает в себя еще массу разнообразных приложений, общим числом более сотни. Описать их все не представляется возможным, поэтому я вернусь к решению той задачи, которую сформулировал в начале этой лекции: подобрать набор Linux-приложений, которые необходимы простому пользователю для комфортной работы. Но начать надо с конкретизации самого понятия "удобная рабочая среда".



Общение с остальным миром


Итак, вы организовали собственную работу. Теперь надо организовать взаимодействие с коллегами. Самое распространенное средство для этого - программа электронной почты. В лекции 14 была рассмотрена программа KMail - вполне пригодный для использования продукт. Альтернативой Kmail может служить программа Netscape Messenger (рис. 15.27). Рассказывать о ней более подробно я здесь не могу, да в этом и нет необходимости, поскольку интерфейс программы русифицирован и вам не составит труда разобраться с ним самостоятельно.


увеличить изображение
Рис. 15.27.  Netscape Messenger (для просмотра щелкните по рисунку)

С помощью той же программы можно организовать просмотр новостей.

В качестве Интернет-браузера я использую либо Netscape Navigator, либо Konqueror, а в качестве FTP-клиента - встроенные средства Midnight Commander. Для соединения с каким-либо сервером по FTP с помощью Midnight Commander надо вызвать меню любой из панелей и выбрать команду FTP-соединение. Появится строка ввода, изображенная на рис. 15.28. Если вы не помните, в каком формате вводится адрес удаленной машины, то нажмите клавишу <F1> и вы получите исчерпывающую подсказку. Можно сделать еще проще - набрать в командной строке

[user]# cd ftp://somehost.org/pub/dir/

или даже сразу указать имя и пароль пользователя:

[user]# cd ftp://USER:PASSWORD@someserver.ru/mydir

Можно занести часто используемые адреса FTP в списке любимых каталогов (нажмите <Ctrl>+<\>) и потом вызывать их при необходимости с помощью той же коммбинации клавиш <Ctrl>+<\>. Работать по протоколу FTP из программы Midnight Commander очень удобно - вы работаете с каталогами удаленной машины так же, как с локальными (если не считать задержек по времени, конечно).


увеличить изображение
Рис. 15.28.  Соединение с FTP-сервером (для просмотра щелкните по рисунку)



Офисные приложения


Вряд ли вы найдете такой персональный компьютер, на котором отсутствовал бы текстовый редактор или процессор. Средства этого класса были подробно рассмотрены в лекции 12, так что здесь повторю только основной вывод. Из всего разнообразия текстовых редакторов необходимо выбрать редактор для текстового режима (я рекомендую встроенный редактор CoolEdit программы Midnight Commander), редактор файлов формата ACSII для графического режима (наилучший вариант - Nedit, хотя можно использовать тот же CoolEdit), и, конечно, мощный текстовый процессор. В последнем случае выбор пока неоднозначен. Наиболее вероятным кандидатом на сегодняшний день является текстовый процессор из пакета OpenOffice.org, но есть шанс, что его догонят AbiWord и KWord. Отдельно нужно упомянуть Lyx (Klyx). Этот текстовый редактор ближе к издательским системам, поскольку он является как бы оболочкой к TEX. Но этот продукт очень удобен для научных работников, поскольку позволяет вводить разнообразные формулы. В общем, я пока остановился на связке CoolEdit - Nedit - swriter из пакета OpenOffice.org.

Поскольку редакторы Nedit и пакет OpenOffice.org могут не входить в состав дистрибутива, их надо установить дополнительно. Кроме того, стоит установить программу Acrobat Reader для просмотра файлов формата pdf, программу-перекодировщик кодовых страниц и настроить программу проверки правописания ispell (она или aspell обычно устанавливается с русифицированными дистрибутивами).

Когда говорят об "офисных приложениях", обычно имеют в виду не только работу с текстом, но и электронные таблицы, программу для построения схем, системы подготовки презентаций, а также и какую-либо из систем управления базами данных (хотя последнее уже необходимо далеко не всем). Здесь два основных конкурента в борьбе за место на вашем рабочем столе - пакеты OpenOffice.org и KOffice, хотя нельзя забывать и о программах проекта Gnome.


увеличить изображение
Рис. 15.15.  Электронная таблица KSpread

В состав пакета KOffice входит основной набор офисных приложений: электронная таблица KSpread (рис. 15.15), система подготовки презентаций KPresenter (рис. 15.16), программа для создания диаграмм KChart (рис. 15.17) и простенькая "рисовалка" KIllustrator. Все эти компоненты можно объединить в один Рабочий стол KOffice (рис. 15.18), что позволяет легко переключаться между этими приложениями.


увеличить изображение
Рис. 15.16.  Система подготовки презентаций KPresenter (для просмотра щелкните по значку)


Рис. 15.17.  Программа для создания диаграмм KChart


увеличить изображение
Рис. 15.18.  Рабочий стол Koffice с запущенной программой KIllustrator

Я не могу утверждать, что эти приложения обеспечивают все возможности, которые имеются в пакете Microsoft Office, но пакет KOffice интенсивно развивается и совершенствуется, так что если не сейчас, то в ближайшем будущем будет удовлетворять потребности рядового пользователя. Его обновленные версии можно найти на сайте http://koffice.kde.org/.

Что касается электронных таблиц, то, по отзывам в Интернете, очень неплохая электронная таблица для Linux разработана в рамках проекта Gnome. Называется она Gnumeric и найти ее можно по адресу ftp://ftp.gnome.ru/gnumeric/.

Возможности этой программы (по крайней мере по той информации, которая опубликована на сайте http://www.gnome.ru), впечатляют. Она поддерживает 95% встроенных функций Excel и 100% инженерных функций, внутри-табличные зависимости, все встроенные в Excel форматы представления данных (числовой, денежный, учетный, даты, времени, процентов, дробный, научный, текстовый, специальный) и многое другое. В составе Gnumeric имеются фильтры для импорта файлов в форматах:

MS Excel (вся суммарная информация, весь текст таблиц + формулы, стили, выделения, встроенные изображения, настройки принтера);Формат Lotus 1-2-3 .wk1;Applix;Psion;Sylk;XBase;Oleo;XML (собственный формат);HTML (различный);CSV (значения, разделенные запятыми);

а также фильтр для экспорта таблиц в формат Excel (итоговая информация, весь текст таблиц + формулы, названия). Реализована 361 функция электронных таблиц и 17 аналитических инструментов. Поддержка MS Excel выполнена на высоком уровне, большая часть функций работает (не реализованы пока некоторые финансовые и математические функции). Gnumeric локализован для различных языков и обрабатывает числовые форматы в соответствии с правилами различных стран и языков.

Что касается СУБД, то скажу только, что для Linux разработано или адаптировано более десятка разных СУБД, от Gadfly до Oracle. Наиболее часто в литературе упоминаются PostgreSQL и MySQL. По этим двум СУБД уже выпущено несколько книг (на русском языке), так что, если вас эта тема интересует, вы без труда найдете необходимую информацию.



Основы работы с KDE


KDE - это интегрированная графическая оболочка для Linux (и других версий UNIX), которая в настоящее время включает в себя более 100 графических приложений и поддерживает более 40 различных языков. Она разрабатывается в рамках движения Open Source, т. е. распространяется с открытыми исходными кодами. KDE позволяет совместить современную функциональность, удобство использования и отличный дизайн с технологическими преимуществами операционной системы класса UNIX. На момент написания этого текста разработчики выпустили версию 2.2.2 этой оболочки. Но приводимое ниже описание и все рисунки соответствуют версии 2.1.2, устанавливаемой из дистрибутива Red Hat Linux 7.1 Cyrillic Edition. Конечно, более поздние версии претерпевают некоторые изменения в сторону улучшения, но принципы построения интегрированной среды сохраняются, так что вы вполне можете использовать данный текст для первоначального знакомства с этой оболочкой. Необходимо, кроме того, отметить, что даже если версия самого KDE у вас будет та же самая, возможны некоторые отличия внешнего вида этой оболочки по сравнению с приводимыми ниже рисунками. Дело в том, что в KDE, как и вообще в Linux, все поддается настройке. И каждый производитель дистрибутива делает настройки по-своему. Имейте это в виду и не пугайтесь. Через некоторое время вы и сами сможете полностью изменить вид экрана после запуска KDE.



Персональный органайзер


Если вы используете свой компьютер не только для игр, но и в качестве рабочего инструмента, вам будет очень полезен какой-то продукт класса персональных организаторов (органайзеров). Такая программа вовремя напомнит вам о всех заранее запланированных событиях, встречах, совещаниях и т.п. В составе графической среды KDE имеется программа этого класса - "Календарь KDE". Я не буду сравнивать ее возможности с возможностями других подобных программ, я просто приведу описание ее основных возможностей.

После запуска программы на панели рядом с часами появится небольшой значок программы (он изображен на рис. 15.21).


Рис. 15.21.  Значок календаря на панели

Один щелчок мышкой по этому значку - и разворачивается окно программы. Вид его зависит от того, в каком состоянии программа завершила работу предыдущий раз. Основных видов четыре, один из них изображен на рис. 15.22 (календарь на день). Можно отобразить календарь на день, на неделю (причем показывать можно только рабочую неделю, а можно - вместе с выходными), на месяц. Имеется также вариант, при котором перечень событий отображается в виде списка. Можно переключить календарь на отображение списка задач (в других вариантах этот список отображается в левой нижней панели Календаря).

Задать новое событие можно через команду Действие главного меню Календаря. Открывается окно с тремя вкладками, изображенное на рис. 15.23.


увеличить изображение
Рис. 15.22.  Календарь на день (для просмотра щелкните по рисунку)


увеличить изображение
Рис. 15.23.  Календарь. Задание нового события (для просмотра щелкните по рисунку)

На первой вкладке вы вводите название события, время его начала и (при желании) время завершения. Здесь же можно ввести какой-то комментарий к событию и указать, за какое время до его наступления программа должна напомнить вам о нем, чтобы, например, не опоздать на назначенную встречу. По вашему желанию можно отнести событие к одной из определенных категорий. Если вы поставите отметку напротив надписи "Повторяющееся событие", то стоит перейти на вкладку Повторение, чтобы задать параметры повторения (см. рис. 15.24). На вкладке Приглашенные можно задать список участников события.


увеличить изображение
Рис. 15.24.  Календарь. Определяем периодичность события (для просмотра щелкните по рисунку)

Когда наступит установленное для напоминания о событии время, на экране появится небольшое окно с соответствующей информацией (рис. 15.25).


Рис. 15.25.  Сообщение программы Календарь

Чтобы ввести новую задачу, нужно тоже воспользоваться главным меню программы или дважды щелкнуть по панели Задачи (см. рис. 15.22).

После этого остается только заняться выполнением запланированных задач, а программа будет напоминать вам, когда необходимо прерваться, чтобы принять участие в запланированных совещаниях, не опоздать на назначенную встречу или вовремя принять лекарство. Если же вы желаете просмотреть полный перечень запланированных событий и/или задач за определенный период, это можно сделать экспортировав содержимое базы данных в HTML-файл (команда меню Файл | Экспорт). Как это будет выглядеть, вы можете увидеть на рис. 15.26.


увеличить изображение
Рис. 15.26.  Вывод календаря в виде HTML-файла



Программа aKtion


Если среди программ для прослушивания аудио под Linux имеется явный лидер (я имею в виду xmms), то среди программ для воспроизведения видео такого лидера пока нет. А. Федорчук для просмотра видео рекомендует программу aKtion. Устанавливается она, правда, не из всех дистрибутивов. На моем домашнем компьютере, где стоит ALT Linux Junior 1.0, эта программа нашлась, а вот в составе дистрибутива Red Hat 7.1 Cyrillic Edition ее не обнаружилось. Зато там есть программа Noatun, которая тоже может воспроизводить видео. Однако aKtion показалась мне более совершенной. Давайте вначале ее и рассмотрим. Ведь любую программу можно установить, даже если она не входит в дистрибутив. Программу aKtion, а также все необходимые для нее библиотеки можно найти либо на сайте KDE (http://www.kde.org) или на сайте программы xanim (http://xanim.va.pubnix.com/home.html), так как aKtion представляет собой графическую оболочку для Xanim. Она поддерживает многие видео-форматы, включая mpeg1, QuickTime и анимированный gif.

После запуска программы вы увидите окно, изображенное на рис. 15.32.


Рис. 15.32.  Окно программы aKtion после запуска

Управление программой осуществляется очень просто. Вдоль нижней границы окна располагается семь кнопок. Над кнопками расположен ползунок регулятора громкости. Первая из экранных кнопок открывает стандартный диалог KDE "Открыть файл", с возможностью задания фильтров отображения файлов тех форматов, которые поддерживаются программой aKtion. Назначение следующих четырех очевидно из тех изображений, которые на них нанесены: воспроизведение, остановка, перемотка к началу, переход в конец (правда, у меня две последних кнопки действуют как-то не так, как ожидается). Следующая кнопка, с изображением гаечного ключа, служит для вызова окна меню настроек (рис. 15.33), а последняя кнопка вызывает подсказку по программе.


Рис. 15.33.  Окно настроек программы aKtion

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

Окно настроек содержит 5 вкладок. Начнем с вкладки Разное (рис. 15.33). Первая группа параметров определяет способ загрузки видеофайла. При первом варианте (Загружать в память) файл просто полностью загружается в память до начала воспроизведения. Во втором варианте (Загружать в память и декодировать) файл не только загружается в память, но еще и производится его декомпрессия, и только после этого начинается его воспроизведение. В третьем варианте (Загружать только необходимые участки) предварительная загрузка не производится, части файла загружаются в память по мере необходимости. Последний вариант используется по умолчанию.



Программа MPlayer


В заключение раздела, посвященного воспроизведению видео, я хочу упомянуть еще об одной программе, о которой я пока знаю только понаслышке. Просто в списке рассылки mandrake-russian я как-то увидел письмо, автор которого выражал недовольство программой Xine и спрашивал, нет ли чего лучше. Ему ответили, что существует гораздо более удобная программа, которая называется MPlayer, и сообщали, где ее можно найти (http://mplayerhq.hu). Я, естественно, заглянул по указанному адресу. Как сообщается на сайте разработчиков, MPlayer может воспроизводить видео следующих форматов:

VCD (Video CD), непосредственно с CD-ROM или из соответствующего файла бинарного образа диска;DVD, непосредственно с DVD-диска, используя для дешифрования библиотеку libdvdread;MPEG 1/2 System Stream (PS/PES/VOB) и Elementary Stream (ES);RIFF AVI;ASF/WMV 1.0;QT/MOV со сжатыми и несжатыми заголовками;VIVO (.viv - файлы)FLI;RealMedia (.rm - файлы);NuppelVideo (.nuv - файлы);yuv4mpeg.

Программа поддерживает чтение из входного потока (stdin), или из сети по протоколу HTTP.

MPlayer в основном подпадает под условия лицензии GPL, но содержит и код, который распространяется на других условиях, в частности, библиотеку OpenDivX, которая имеет специальную лицензию.

Разработчики поставляют эту программу только в исходных кодах, заявляя, что ее распространение в бинарных кодах пока невозможно как по техническим, так и по юридическим причинам.

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

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



Программа Xine


Аудио/видео проигрыватель xine (произносится "кси:н" с долгим "и") предназначен как для воспроизведения отдельных аудио или видео-потоков (т.е. файлов .mp3 или .mpv), так и avi-файлов (используя win32-кодеки), а также фильмов в формате видео-CD (VCD), SVCD и DVD (незащищенных от копирования, для воспроизведения защищенных DVD-форматов требуется установить дополнительный плагин). Домашняя страница программы находится по адресу http://xine.sourceforge.net, а rpm-пакет можно найти на http://rufus.w3.org. Программа рассчитана на воспроизведение следующих мультимедиа-форматов.

аудио-форматы: MPEG audio уровней 1,2 и 3 (известный также как MP3).a/52 (известный также как AC3 и Dolby Digital).DTS (через встроенный декодер).Ogg Vorbis (открытая альтернатива MP3).используя Video For Windows Dynamic-Link-Libraries (DLL) можно воспроизводить файлы форматов DivX audio (WMA), ADPCM, GSM и многих других.видео-форматы: MPEG-1 и MPEG-2.MPEG-4, известный также как OpenDivX.Microsoft MPEG-4, известный также как DivX.Motion JPEG.используя Video For Windows Dynamic-Link-Libraries (DLL) можно воспроизводить файлы форматов Indeo, Cinepak, Windows Media 7/8 и многих других.комбинированные форматы (видео+аудио в одном файле): незащищенные варианты DVD.Video CD (исключая гибридные форматы Video-on-CD).программные потоки MPEG (т.е. .mpg и .mpeg - файлы).MPEG transport streams (.ts).Ogg Vorbis container streams (.ogg).Microsoft Audio Video Interleave (.avi).Microsoft Advanced Streaming Format (.asf).Quicktime - Замечание: Xine не поддерживает кодек Соренсена, используемый во многих файлах формата Quicktime.Аудио и видео-потоки исходного (raw) формата MPEG (.mpv and .mp3).

Для достижения нормального качества воспроизведения файлов формата MPEG2 xine требует системы на процессоре Пентиум II с частотой не ниже 400 MHz.

Запускать xine можно из меню KDE или из командной строки. Когда xine запускается в первый раз, на экране монитора появляется главное окно программы (окно просмотра) - черный прямоугольник с логотипом программы (рис.15.34).


увеличить изображение
Рис. 15.34.  Главное окно программы xine (окно просмотра)

Одновременно обычно выводится и второе окно с панелью управления (рис.15.35). Если оно не появилось, вы можете вызвать его щелчком правой кнопки мыши в окне просмотра или нажатием клавиши <G> на клавиатуре. Таким же образом можно отключить вывод панели управления ("спрятать панель"). На панели управления имеется набор кнопок, аналогичный набору управляющих кнопок на панели обычного видеомагнитофона: кнопки запуска воспроизведения, временной остановки (pause), перемотки в начало и конец и т.д.


Рис. 15.35.  Панель управления программы xine

Если вы, например, хотите воспроизвести VCD или DVD, то после появления на экране панели управления щелкните кнопкой мыши по кнопке с надписью VCD (или DVD). Это заставляет Xine искать диск в соответствующем устройстве. Если диск найден, вы можете запустить воспроизведение щелчком по кнопке с изображением треугольника в верхней части круглой "ручки" на правой стороне панели.


Рис. 15.36.  Выбор файла для воспроизведения

Если же вы хотите воспроизвести фильм, который находится в файле на жестком диске или CD, надо сначала добраться до нужного файла. Для этого нужно открыть окно MRL-браузера (рис. 15.36), что достигается щелчком по кнопке на панели управления, над которой изображен значок "://". Аббревиатура MRL означает Media Resource Locator, то есть указатель медиа-ресурса(ов). В качестве такого указателя могут выступать:

полный путь к файлу на диске, перед которым стоит указание на тип MRL в виде "file://", например, file://some/file.vob.указатель на программный канал: fifo://[[mpeg1:mpeg2]:/]some/fifo. В этом случае Xine получает видео из специального программного канала /some/fifo. По умолчанию Xine предполагает, что входной поток имеет формат mpeg-2, если же нужно воспроизвести формат mpeg1 или mpeg2, нужно явно указать это в MRL.указатель на стандартный ввод stdin: stdin://[mpeg1:mpeg2]. Как и в случае с программным каналом (fifo:// MRL), Xine предполагает, что вход идет в формате mpeg2, если ему явно не указано противное.указание на DVD-диск: dvd://VTS_xx_y.VOB. Отличие этого варианта от задания источника в виде file:// MRL состоит в том, что Xine читает данные непосредственно с DVD, не используя файловую систему.vcd://track - Воспроизводится указанный трек с VCD.html://server.somewhere.tld/foo/bar.mpg. Xine обращается к указанному URL и пытается воспроизвести файл.


В окно MRL- браузера вы вначале должны выбрать тип источника, щелкнув левой кнопкой мыши по одной из кнопок в поле окна, обозначенном словом "Source". Не могу вам сказать, что произойдет после выбора VCD, DVD или CDA - не было у меня дисков в этих форматах. Если же вы выберите вариант file, то в основном поле окна отобразится содержимое текущего каталога. Дальше можно перейти в любой каталог вашей файловой структуры (в том числе в каталог, куда смонтирован CD-ROM) и выбрать файл для воспроизведения. Проще всего переходы по структуре каталогов осуществлять, щелкая мышью по нужному каталогу (чтобы переместить на него подсветку), а затем щелкая по кнопке Select. Когда вы уже добрались до нужного файла и переместили на него подсветку, нужно вместо Select щелкнуть по кнопке с изображением треугольника. Начнется показ выбранного фильма в окне просмотра. Если же после выбора файла щелкнуть по кнопке Select, то для начала воспроизведения придется воспользоваться упоминавшейся выше кнопкой панели управления с изображением треугольника.

Окно MRL-браузера можно закрыть щелчком по кнопке Dismiss. Можно также одним щелчком правой кнопки мыши по свободному полю в окне просмотра разом закрыть все вспомогательные окна (включая окно панели управления). Тот же эффект достигается нажатием клавиши <G> (обратно на экран они вызываются тем же способом).

Все фильмы (или файлы), которые вы просматривали в текущем сеансе работы с программой, запоминаются в списке просмотренных фильмов (или плей-листе - playlist). Этот список можно просмотреть в отдельном окне (рис.15.37), которое называется Playlist Editor. Вызвать его на экран можно щелчком по четвертой слева кнопке на панели управления xine. В список можно добавлять фильмы (кнопка Add справа) или удалять из него как отдельные позиции, так и весь список разом с помощью кнопок в нижней части окна (всмотритесь в изображения над кнопками и вы поймете из назначение). Можно также сохранить список фильмов (кнопка Save) или загрузить ранее сохраненный список (кнопка Load в правой стороне окна).


Рис. 15.37.  Список фильмов / файлов (playlist)

Программа имеет еще одно вспомогательное окно, о котором стоит упомянуть (рис.15.38). Оно появляется после нажатия на пятую слева кнопку на панели управления. Назначение этого окна состоит в изменении некоторых параметров вывода изображения на экран и изменения "шкурок" (skins), то есть изменения внешнего вида окон. Впрочем, имеющиеся в этом окне ползунки изменения яркости, контраста и других параметров изображения в текущей версии (0.9.8) не работают. А вот "шкурки" можно менять и даже добавлять новые, скачивая их из Интернета (так же как в программах XMMS или Winamp). Для смены "шкурки" достаточно выбрать ее имя щелчком кнопки мыши по ее имени в правой части диалогового окна изменения параметров (рис. 15.38).


Рис. 15.38.  Окно изменения параметров



Слева из-под круга "выступают" две кнопки, которые позволяют ускорить или замедлить воспроизведение (две аналогичных кнопки справа от круга в текущей версии не работают). Левее круга расположен регулятор громкости звука в виде изображения динамика (или громкоговорителя). Щелчком мыши по этому изображению можно включить или полностью выключить звук (тот же эффект достигается щелчком по уменьшенному изображению динамика, расположенному ниже основного). Плавное изменение громкости производится с помощью щелчков мышкой по горизонтальным полоскам, находящимся левее основного выключателя звука. Ниже этого выключателя находится изображение фотоаппарата, с помощью которого можно получить моментальный снимок экрана, наподобие того, что изображен на рис. 15.39.


Рис. 15.39.  Начинаем просмотр фильма

В правом верхнем углу панели управления находятся два значка в виде крестиков. Правый из них служит для выхода из программы, а левый (крестик со стрелками) - для переключения между полноэкранным и оконным режимами работы программы. Замечу, что при переключении в полноэкранный режим панель управления и вспомогательные окна остаются на экране. Если они мешают, их можно убрать с экрана (и вернуть на экран при необходимости) с помощью клавиши <G>.

В левом нижнем углу панели вы тоже видите два значка. Один из них - выключатель проигрывателя, а второй (сильно уменьшенное изображение гаечного ключа) вызывает окно настроек. У программы масса возможностей по настройке и конфигурации, однако рассматривать их мы не будем. Если вас этот вопрос заинтересует, прочитайте комментарии в файле ~/.xine/config.

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

Мы рассматривали только графическую оболочку программы xine. Между тем, можно запустить xine просто из командной строки, причем в командной строке можно указать дополнительные аргументы. Например, по команде

$ xine --help



вы получите краткую сводку возможных значений аргументов командной строки и список управляющих клавиш. Можно также непосредственно запустить воспроизведение из командной строки, указав источник видео:

$ xine <mrl>

где <mrl> - указатель медиа-ресурса, т.е. Media Resource Locator. Например, для воспроизведения файла /some/where/foo.vob команда должна иметь вид:

$ xine file://some/where/foo.vob

или просто

$ xine /some/where/foo.vob

Для воспроизведения третьего трека с видео-CD (VCD) надо дать команду:

$ xine vcd://3

а для прямого доступа к DVD - команду типа:

$ xine dvd://VTS_01_1.VOB

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

<Enter> - начать воспроизведение;<пробел> - пауза;<
> - ускорить воспроизведение;<
> - замедлить воспроизведение;<0> - перейти в начало текущего потока (фильма или мелодии);<1>-<9> - перейти в точку, отстоящую на 10-90% от начала текущего потока;<
> - сместиться на 15 секунд назад;<
> - сместиться на 15 секунд вперед;<Ctrl>+<
> - сместиться на 60 секунд назад;<Ctrl>+<
> - сместиться на 60 секунд вперед;<PgUp> - перейти к предыдущему пункту в списке фильмов (playlist);<PgDown> - перейти к следующему пункту в списке фильмов (playlist);<F> - переключение в полноэкранный режим (и обратно);<A> - переключение отношения размеров сторон окна просмотра (AUTO/16:9/4:3/DVB);<I> - переключение в режим черезстрочного вывода (interlaced mode);"<", ">" - увеличить / уменьшить размер окна просмотра;<+> или <-> - переход на следующий / предыдущий аудио-канал, при этом на панели управления изменяется значение указателя "AUD:" (эта опция используется в том случае, когда в источнике записано несколько аудио-потоков, как это иногда бывает на DVD);<,> <.> - сменить канал субтитров (change subtitle channel), при этом на панели управления изменяется значение указателя "SUB:";


Примечание:

Нужно, наверное, сказать, что субтитры бывают записаны в файле видеофильма в виде отдельного потока (подобно аудио). Поток 0 соответствует субтитрам на языке, используемом по умолчанию. Если имеются субтитры на других языках, эта опция позволяет выбрать нужный поток.
<


/li><n>, <m> - синхронизировать аудио и видео потоки;<Home> - переустановить синхронизацию аудио и видео потоков;<G> - скрыть управляющие окна (панель, плей-лист и т.п.);<H> - скрыть окно просмотра (эта клавиша работает только в том случае, если панель управления отображается на экране); такая возможность бывает полезна при воспроизведении аудио-потоков, например, формата mp3 (а также при неожиданном появлении начальника);<Q> - выход из программы.

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


Средства мультимедиа и игры


Ну и, в заключение этой лекции, осталось рассмотреть средства мультимедиа. Правда, сам я, за неимением времени, эти средства использую крайне редко. Поэтому рекомендую желающим просмотреть обзор средств мультимедиа, который имеется в статьях А. Федорчука (их легко найти в Интернете), а также в его книге [П1.6]. А для тех, кто не желает тратить время на поиски, приведу краткий обзор. Начну с программ для воспроизведения аудио-записей.



Утилиты


Начнем с разных вспомогательных программ. Этот этап создания удобной рабочей среды можно разделить на две стадии. На первой настраивается сама операционная система, причем часть действий по ее настройке должен выполнить администратор. Неважно, что на персональном компьютере это тот же человек, который потом будет потом выступать в роли пользователя. Важно то, что для выполнения соответствующих действий нужно иметь права суперпользователя. Администратор должен, во-первых, произвести настройку каких-то компонентов самой ОС и, во-вторых, установить и настроить дополнительное программное обеспечение, которое облегчит выполнение задач, связанных с обслуживанием и настройкой ОС, а также то программное обеспечение, которое потребуется пользователям для работы.

Вторую часть действий по настройке можно выполнять уже с правами обычного пользователя. Эта часть включает как настройку системных параметров (например, выбор шрифтов или настройку графического интерфейса), так и установку и настройку конкретных приложений. Хочу заметить, большинство из программ, установку которых я возложил на администратора, может установить и обычный пользователь. Просто в многопользовательских системах принято, чтобы такое ПО устанавливал администратор. В общем, поскольку речь идет о персональном компьютере, это всё условности, так что решайте сами. Можете следовать моим советам относительно того, какое ПО должен установить администратор, а какое - пользователь, а можете распорядиться по-своему.

Итак, процедура установки Linux закончена и вам удалось войти в систему с правами суперпользователя, т. е. под именем root. Я не буду говорить о русификации системы (хотя без этого трудно говорить об "удобной" рабочей среде), потому что считаю, что дистрибутив изначально русифицирован, либо с этим вы уже справились. Для начала давайте, еще даже до выхода в графический режим, настроим некоторые компоненты консоли.

Первым делом я рекомендую установить файловый менеджер Midnight Commander (см. лекцию 6), если он не был установлен при инсталляции дистрибутива. Лично я привык его использовать даже в графическом режиме. После его установки я обычно задаю сокращенный режим отображения в обеих панелях и полный 8-битный ввод и вывод, после чего сохраняю настройки (через команду меню Настройка | Сохранить настройки).

Далее стоит создать точки монтирования для гибких дисков, CD-ROM, для разделов, отформатированных в MS Windows, и т. д., а также отредактировать соответствующим образом файл /etc/fstab (об этом было достаточно подробно рассказано в лекции 4).

После этого можно дополнить меню пользователя программы Midnight Commander (оно находится в файле /usr/lib/mc/mc.menu) командами монтирования и размонтирования дискеты и CD-ROM. Это сильно облегчит вам операции монтирования/размонтирования в последующем (даже если на рабочем столе KDE имеются соответствующие значки, облегчающие выполнение этих операций, ведь монтировать диски приходится и в консоли). Можно также включить в меню другие часто используемые команды.

Теперь запускаем графический режим и переходим к его настройке. Выберите графическую среду (я рекомендую KDE) и настройте менеджер рабочего стола на автоматический запуск этой среды. Это можно сделать, создав файл desktop в каталоге /etc/sysconfig/, в котором указать, какая графическая среда запускается по умолчанию. В этом случае указанная графическая среда будет по умолчанию запускаться для всех пользователей.

После первого запуска графическая среда KDE тоже требует некоторых настроек. Я, например, изменяю размеры шрифтов (поскольку стал уже плохо различать мелкие буквы) с помощью "Центра управления KDE", а также в консоли и редакторе KWrite, переношу на панель иконки тех программ, которыми часто пользуюсь (консоль и Netscape Communicator) и вообще настраиваю панель под свои привычки, делаю фон значков на рабочем столе прозрачным, и т. д..

Поскольку и в графическом режиме часто приходится выполнять консольные приложения (хотя бы тот же Midnight Commander), проведите настройку эмулятора терминала, пользуясь командой меню Настройки окна эмулятора консоли. Я обычно увеличиваю размер окна и размер шрифта. Не забудьте сохранить сделанные настройки как из меню Midnight Commander, так и в меню окна консоли (которое появляется после щелчка правой кнопкой мыши по заголовку окна).

В качестве файлового менеджера в графической оболочке я чаще всего использую тот же Midnight Commander. Просто запускаю его в окне эмулятора терминала и с его помощью как путешествую по файловой структуре, так и провожу все операции с файлами, от создания (запуская команду touch в командной строке) до редактирования и удаления. Однако не стоит забывать и о файловом менеджере Konqueror. Кому-то он может нравиться больше, чем Midnight Commander. Я уже упоминал Konqueror в качестве Интернет-браузера в лекции 14. Однако и в качестве файлового менеджера он, безусловно, заслуживает внимания. Во-первых, хочется сказать, что он многолик. Запустите его и посмотрите на его вид, выбирая различные команды в меню Окно. С помощью команды Загрузить профиль панели, например, можно сделать окно Konqueror подобным окну эмулятора терминала с запущенным в нем Midnight Commander (рис. 15.14).


увеличить изображение
Рис. 15.14.  Окно файлового менеджера Konqueror с двумя панелями и "командной строкой"

Как видите, есть даже командная строка. Правда, мне лично не хватает привычных кнопок, ассоциированных с клавишами <F1> - <F10> и некоторых других элементов интерфейса, так что я в большинстве случаев предпочитаю пользоваться "настоящим" Midnight Commander. Но в чем Konqueror превосходит Midnight Commander, так это в средствах просмотра файлов. И для этих целей я использую именно Konqueror. В нем в большинство файлов можно "заглянуть" так же удобно, как и в любой каталог. Это касается не только текстовых или html-файлов, но и, например, графических файлов разных форматов. В общем, Konqueror, безусловно, является одним из элементов удобной пользовательской среды, а уж в каких случаях им пользоваться - дело вкуса и привычек (или наличия необходимых знаний и соответствующей степени знакомства с продуктом).

Из дополнительно устанавливаемых утилит в первую очередь надо упомянуть архиватор bzip2 (если он не установлен). Его необходимо установить, поскольку архивы в этом формате нередко будут встречаться вам в Интернете.

В составе KDE имеется довольно удобная утилита Архиватор (ark), которая умеет работать с разными типами архивных файлов. Она позволяет просматривать архивы разных форматов (tar, tar.gz, tar.bz2, zip, rar, zoo, lzh, a), а также создавать новые архивы.

О некоторых программах, которые в главном меню KDE первоначально отнесены к группе утилит, я еще напомню вам в следующих разделах. А здесь, в завершение раздела об утилитах хочу сказать пару слов о двух средствах, необходимых на мой взгляд для любого компьютера при любой операционной системе. Это источник бесперебойного питания с соответствующим программным обеспечением и антивирусный пакет.

В разделе о файловой системе уже было сказано, что выключать компьютер с Linux простым отключением питания недопустимо: это может привести к непоправимым сбоям в файловой системе. Но ведь отключение питания может произойти и не по вашей воле. Поэтому очень желательно приобрести и установить источник бесперебойного питания, а также найти, инсталлировать и настроить программные средства для выключения системы по сигналу о выключении питания. К сожалению, я не могу дать здесь более подробные рекомендации, но упомянуть об их существовании и необходимости посчитал полезным.

Так же кратко упомяну и об антивирусных средствах. До недавнего времени считалось, что Linux не подвержен опасности заражения вирусами. Это даже преподносилось как одно из достоинств этой операционной системы. Однако в последнее время стало ясно, что это далеко не так. Впрочем, это и не удивительно, если вспомнить, что самый известный из вирусов, - червь Морриса, - был создан и распространялся именно в UNIX-сетях. Просто до некоторого времени авторы вирусов не уделяли внимания Linux из-за малой распространенности этой ОС и отсутствия у них необходимых знаний о ней. Так что антивирусные утилиты становятся необходимым компонентом программного обеспечения также и на компьютерах, работающих под Linux.

К счастью, создатели антивирусного ПО тоже не дремлют. Как "Лаборатория Касперского" (www.kaspersky.ru), так и "Диалог-наука" (www.dials.ru) уже выпустили версии своих известных антивирусных программ AVP (или KAV) и DrWeb для Linux. К сожалению, эти продукты распространяются на коммерческой основе. Однако обе фирмы предоставляют всем желающим "урезанные" версии своих программ, которые позволяют обнаружить заражение, но не обладают способностью лечить зараженные файлы.



Внешний вид


Если вы хоть раз запускали KDE, вы уже знакомы с внешним видом экрана после запуска этой оболочки. Для остальных приведу рис. 15.1.


увеличить изображение
Рис. 15.1.  Внешний вид экрана после запуска KDE (щелкните по рисунку для просмотра)

Панель в нижней части экрана служит для запуска приложений и переключения между рабочими столами. Среди прочих на ней расположен значок с изображением буквы "К". Этот значок (аналог кнопки Start в Windows) служит для вызова иерархического меню, через которое можно запустить любое приложение из числа входящих в состав KDE, даже если значок приложения отсутствует на панели.

Собственно рабочий стол (Desktop) - это вся оставшаяся поверхность экрана, на которой располагается некоторое число значков ("иконок"), которые тоже могут использоваться для запуска соответствующих им приложений.

KDE поддерживает несколько рабочих столов, переключаться между которыми можно с помощью пронумерованных клавиш, расположенных на панели (на рис. 15.1 изображены четыре такие клавиши, хотя это число можно изменить).

Правее переключателя рабочих столов располагается поле, которое называется панелью задач (taskbar). Оно служит для отображения перечня запущенных в данный момент приложений и переключения между ними. Каждому запущенному приложению соответствует кнопка, щелчок по которой переводит данное приложение в активное состояние.

Для тех, кто привык работать в Windows, может показаться непривычным то, что для запуска приложения достаточно щелкнуть по значку ("иконке") только один раз. Но к этому быстро привыкаешь, а и при желании можно настроить оболочку на два щелчка.

В правом конце панели задач находятся часы и небольшая вертикально вытянутая кнопка с треугольником-стрелкой. Такая же кнопка имеется и в левом конце панели. Щелчок по любой из этих кнопок приводит к тому, что панель сворачивается, как бы убегая за границу соответствующей стороны экрана. Видимой остается только такая же кнопка с треугольником. Щелчком по этой кнопке можно вернуть панель на экран.

Если вы подведете указатель мыши к любому значку или кнопке на панели задач и выждете некоторое время, появится подсказка, поясняющая назначение значка или название соответствующей задачи. А если щелкнуть правой кнопкой мыши по любому элементу на экране, в том числе и по пустому полю, появляется меню, в котором можно выбрать одно из действий, применимых к данному элементу. В частности, щелчок по пустому полю приводит к появлению меню настроек рабочего стола.

Панель можно настраивать по своему усмотрению. Но описанием способов настройки мы пока заниматься не будем. Давайте вначале посмотрим на главное меню KDE.



Звук


Естественно, предполагается, что звуковая карта у вас установлена и настроена (см. лекцию 9). Я уже упоминал, что в составе KDE имеется стандартный проигрыватель аудио-дисков. Однако после установки Red Hat CE 7.1 я обнаружил в главном меню KDE другую программу - XPlayCD (рис. 15.29).


Рис. 15.29.  XPlayCD

В отличие от CD-проигрывателя она рассчитана на стерео-записи: две полоски рядом с изображением динамика позволяют отдельно регулировать громкость звука в правой и левой колонках (щелкайте мышкой по полоске или справа от нее). Других преимуществ у XPlayCD по сравнению с CD-проигрывателем я не увидел.

Как CD проигрыватель, так и XPlayCD позволяют только прослушивать аудио-записи в том формате, который используется на CD-ROM. Если же вы хотите воспроизвести какой-либо файл формата MP3, получившего большое распространение в Интернете, вам надо воспользоваться программой xmms - X MultiMedia System (которая до 10 июня 1999 г. называлась X11Amp). Последняя устанавливается вместе с KDE, а по виду и возможностям очень напоминает (рис. 15.30) известный Windows Amplifier, или WinAmp. Версия 1.2.4, которая установилась у меня из дистрибутива Red Hat CE 7.1, была довольно капризна, но после того как я скачал (с сайта http://www.xmms.org) и установил версию 1.2.5, программа начала работать вполне устойчиво.


Рис. 15.30.  Главное окно программы xmms

Рассмотрим некоторые элементы главного окна программы. В правом верхнем углу вы видите три обычные кнопки управления окном: свернуть в значок на панели, минимизировать (оставить только заголовок окна), закрыть программу.


Рядом с буквами находится панель визуализации, в которой отображается время воспроизведения (либо прошедшее, либо оставшееся, в зависимости от настройки) и спектрограмма мелодии (вид которой тоже можно настроить).

Под названием программы находится панель, в которой во время воспроизведения бегущей строкой отображается название воспроизводимой мелодии и ее номер в текущем списке (playlist). Щелчком правой кнопки мыши по этой панели вызывается еще одно окно настроек (которое можно вызвать также щелчком левой кнопки по непонятному значку в верхнем левом углу окна программы). Поскольку все команды упоминавшихся меню русифицированы (по крайней мере у меня), то описывать их назначение не имеет смысла. Ниже бегущей строки с названием мелодии выводится скорость битового потока (MP3 bitrate in KBps), обычно 128 или 112 Кбит/с, ширина полосы в килогерцах (обычно 44) и индикатор стерео или моно режима.

Ниже той панели, о которой мы только что говорили, находятся два ползунка - регулятор громкости и баланса, и две кнопки. Первая из этих кнопок (EQ), вызывает графический эквалайзер, а вторая (PL) - окно управления списком воспроизводимых мелодий (playlist). Ниже располагается индикатор (в виде ползунка), показывающий, какая часть мелодии воспроизводится.

Еще ниже располагаются обычные для CD-проигрывателя кнопки управления воспроизведением (переключение на предыдущую мелодию списка, воспроизведение, пауза, стоп, переключение на следующую мелодию в списке, извлечение CD-диска, что в данном случае означает загрузку нового списка мелодий). Далее следуют кнопки воспроизведения мелодий из списка в случайном порядке и повторного воспроизведения списка после его завершения.

Большинству настраиваемых опций программы соответствуют горячие клавиши, однако приводить здесь их перечень я не вижу смысла: все они указаны в соответствующих командах меню и те, кто привык пользоваться больше клавиатурой, чем мышью, легко смогут их найти и заучить. Я также не буду объяснять назначение и приемы работы с графическим эквалайзером: вы либо знаете это лучше меня, либо, как и я, вообще не пользуетесь этим устройством.

Таким образом, осталось рассказать только о том, как использовать списки мелодий ("плей-листы"). Итак, чтоб вызвать окно редактирования списка мелодий, щелкните по маленькой кнопке, рядом с которой стоят буквы PL. Появится окно, изображенное на рис. 15.31, в котором имеется 5 кнопок.


Рис. 15.31.  Редактор списков мелодий

Эти кнопки ведут себя несколько необычно. Каждая из них предоставляет несколько вариантов выбора, но чтобы произвести выбор, надо не просто щелкнуть по кнопке, а, удерживая кнопку нажатой, перевести указатель мыши на нужный вариант и только после этого отпустить клавишу мыши. Давайте рассмотрим назначение этих кнопок (в порядке их расположения - слева направо). В табл. 15.1 приведены изображения того, что вы увидите, когда будете удерживать каждую кнопку, и что получите, отпустив кнопку мыши на каждом из появляющихся вариантов.

Таблица 15.1. Кнопки управления playlistКнопкаОписание


URL - появится строка ввода, в которой надо будет ввести URL файла в Интернете (Интранете); только имейте в виду, что в этой строке можно ввести имя конкретного файла с мелодией и нельзя ввести адрес списка мелодий;+ DIR - появляется окно с деревом каталогов, позволяющее вам выбрать каталог с файлами мелодий; все файлы из этого каталога будут включены в список мелодий;+ FILE - появится диалоговое окно выбора файлов, а после выбора файла (только одного) соответствующая мелодия будет включена в список (в виде имени файла или названия, если программа сумеет извлечь его из файла);


- MISC: появляется предложение удалить "мертвые" (dead) файлы, то есть файлы, ссылка на которые присутствует в списке, но является по каким-либо причинам ошибочной (например, файл уже удален с диска);- ALL: удаление всех файлов из текущего списка;- CROP: удалить из списка все файлы, кроме тех которые помечены;- FILE: удалить помеченные файлы;


INV SEL - инвертировать текущие пометки;SEL ZERO - снять все отметки с файлов текущего списка;SEL ALL - отметить все файлы текущего списка;

При выборе файлов для пометки можно пользоваться клавишами <Shift> и <Ctrl>, чтобы выбрать несколько файлов подряд или добавить к числу отмеченных отдельные файлы;


SORT LIST - появляется дополнительное меню, в котором можно выбрать один из возможных вариантов сортировки списка;FILE INF - появляется окно с информацией о текущей мелодии (если, конечно, программа в состоянии извлечь такую информацию из файла);MISC OPT - эта кнопка служит только для доступа к двум другим вариантам, доступным по этой кнопке;


NEW LIST - удаляет текущий список мелодий;SAVE LIST - позволяет сохранить текущий список мелодий в отдельном файле;LOAD LIST - позволяет загрузить список мелодий из файла
Загрузить список файлов в xmms можно не только с помощью редактора списка мелодий, но и непосредственно из командной строки, с помощью одной из следующих команд:

xmms file1.mp3 file2.mp3 file3.mp3 xmms *.mp3 xmms playlist.m3u

Если в это время программа xmms уже запущена, то текущий список мелодий будет удален, а список, заданный командной строкой, будет загружен.

Что еще надо сказать, так это то, что xmms может воспроизводить не только файлы формата mp3, но и обычные аудио-CD. Только для того, чтобы создать список мелодий в этом случае, надо воспользоваться кнопкой +DIR и выбрать каталог /mnt/cdrom.


Файловая система ReiserFS


Кроме проблемы быстрого восстановления после сбоев, в файловой системе ext2fs имеется еще несколько нерешенных проблем.

Одна из самых насущных - это проблема нерационального использования дискового пространства. Конечно, ext2fs использует диск гораздо более рационально, чем FAT, но, как вам хорошо известно, "памяти много не бывает"!

Собственно проблема возникает из-за следующего противоречия:

если размер блока выбрать большим (кластер размером 32Кбайт в FAT), то при сохранении большого числа мелких файлов на диске неразумно используется дисковое пространство, так как маленькие файлы (и концы больших файлов) занимают целые блоки (Juan I. Santos Florido в своей статье называет это "внутренней фрагментацией");если размер блока выбрать маленьким (512 байт), то снижается производительность ввода/вывода, так как надо прочитать много блоков, которые могут быть разбросаны по диску (это "внешняя фрагментация").

Еще две проблемы, с которыми мы сталкиваемся в файловой системе ext2fs, связаны с поиском. Первая проблема возникает при записи на диск нового файла. Поскольку распределение свободных блоков хранится в виде битовой карты свободных блоков и свободных индексных дескрипторов, то файловая система вынуждена производить последовательный просмотр этих массивов для нахождения свободного места. В худшем случае это может потребовать времени, пропорционального объему диска.

Вторая проблема поиска связана с поиском файлов в больших каталогах. Поскольку файлы мы ищем по именам, приходится последовательно просматривать все записи в каталоге. Время такого поиска тоже пропорционально размеру каталога и вырастает в проблему при больших размерах каталогов.

Между тем методы снижения трудоемкости поиска давно разработаны, только надо для хранения информации о свободных объектах использовать не простые списки, а несколько более сложные структуры данных. В системе ReiserFS для этого применяются так называемые "сбалансированные деревья" или "B+Trees", время поиска в которых пропорционально не количеству объектов (файлов в каталоге или числа блоков на диске), а логарифму этого числа. В сбалансированном дереве все ветви (пути от корня до "листа") имеют одинаковую (или примерно одинаковую) длину. ReiserFS использует сбалансированные деревья для хранения всех объектов файловой системы: файлов в каталогах, данных о свободных блоках и т. д. Это позволяет существенно повысить производительность обращения к дискам.

Кроме того, ReiserFS является журналируемой, т. е. в ней решена и проблема быстрого восстановления после сбоев.

Я привел в данной лекции только самые поверхностные данные о новых типах файловых систем, поскольку статей о них пока опубликовано довольно мало. Тем не менее, за время подготовки книги некоторая дополнительная информация появилась, так что если вас этот вопрос интересует, поищите сведения в Интернете.



Индексные дескрипторы файлов


Каждому файлу на диске соответствует один и только один индексный дескриптор файла, который идентифицируется своим порядковым номером - индексом файла. Это означает, что число файлов, которые могут быть созданы в файловой системе, ограничено числом индексных дескрипторов, которое либо явно задается при создании файловой системы, либо вычисляется исходя из физического объема дискового раздела.

Строение индексного дескриптора файла приведено в табл. 16.4.

Таблица 16.4. Структура индексного дескриптора

Название поляТипОписание
i_modeUSHORTТип и права доступа к данному файлу
i_uidUSHORTИдентификатор владельца файла (Owner Uid)
i_sizeULONGРазмер файла в байтах
i_atimeULONGВремя последнего обращения к файлу (Access time)
i_ctimeULONGВремя создания файла
i_mtimeULONGВремя последней модификации файла
i_dtimeULONGВремя удаления файла
i_gidUSHORTИдентификатор группы (GID)
i_links_countUSHORTСчетчик числа связей (Links count)
i_blocksULONGЧисло блоков, занимаемых файлом
i_flagsULONGФлаги файла (File flags)
i_reserved1ULONGЗарезервировано для ОС
i_blockULONG[15]Указатели на блоки, в которых записаны данные файла (это поле подробно описано следующем разделе)
i_versionULONGВерсия файла (для NFS)
i_file_aclULONGACL файла
i_dir_aclULONGACL каталога
i_faddrULONGАдрес фрагмента (Fragment address)
i_fragUCHARНомер фрагмента (Fragment number)
i_fsizeUCHARРазмер фрагмента (Fragment size)
i_pad1USHORTЗаполнение
i_reserved2ULONG[2]Зарезервировано

Поле типа и прав доступа к файлу представляет собой двухбайтовое слово, каждый бит которого служит флагом, индицирующим отношение файла к определенному типу или установку одного конкретного права на файл.

Таблица 16.5. Структура поля, задающего тип и права доступа

ИдентификаторЗначениеНазначение флага (поля)
S_IFMTF000Маска для типа файла
S_IFSOCKA000Доменное гнездо (socket)
S_IFLNKC000Символическая ссылка
S_IFREG8000Обычный (regular) файл
S_IFBLK6000Блок-ориентированное устройство
S_IFDIR4000Каталог
S_IFCHR2000Байт-ориентированное (символьное) устройство
S_IFIFO1000Именованный канал (fifo)
S_ISUID0800SUID - бит смены владельца
S_ISGID0400SGID - бит смены группы
S_ISVTX0200Бит сохранения задачи (sticky bit)
S_IRWXU01C0Маска прав владельца файла
S_IRUSR0100Право на чтение
S_IWUSR0080Право на запись
S_IXUSR0040Право на выполнение
S_IRWXG0038Маска прав группы
S_IRGRP0020Право на чтение
S_IWGRP0010Право на запись
S_IXGRP0008Право на выполнение
S_IRWXO0007Маска прав остальных пользователей
S_IROTH0004Право на чтение
S_IWOTH0002Право на запись
S_IXOTH0001Право на выполнение


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

Таблица 16.6. Особые индексные дескрипторыИдентификаторЗначениеОписание
EXT2_BAD_INO1Индексный дескриптор, в котором перечислены адреса дефектных блоков на диске (Bad blocks inode)
EXT2_ROOT_INO2Индексный дескриптор корневого каталога файловой системы (Root inode)
EXT2_ACL_IDX_INO3ACL inode
EXT2_ACL_DATA_INO4ACL inode
EXT2_BOOT_LOADER_INO5Индексный дескриптор загрузчика (Boot loader inode)
EXT2_UNDEL_DIR_INO6Индексный дескриптор каталога для удаленных файлов (Undelete directory inode)
EXT2_FIRST_INO11Первый незарезервированный индексный дескриптор
Самый важный дескриптор в этом списке - дескриптор корневого каталога. Этот дескриптор указывает на корневой каталог, который, подобно всем каталогам, представляет собой связанный список, состоящий из записей переменной длины. Каждая запись имеет следующую структуру (табл. 16.7):

Таблица 16.7. Структура дескриптора, описывающего корневой каталогНазвание поляТипОписание
InodeULONGНомер индексного дескриптора (индекс) файла
Rec_lenUSHORTДлина этой записи
Name_lenUSHORTДлина имени файла
NameCHAR[0]Имя файла
Использование записей переменной длины позволяет использовать длинные имена файлов без пустой траты дискового пространства. Отдельная запись в каталоге не может пересекать границу блока (т. е. должна быть расположена целиком внутри одного блока). Поэтому, если очередная запись не помещается целиком в данном блоке, она переносится в следующий блок, а предыдущая запись продолжается таким образом, чтобы она заполнила блок до конца.


Новые файловые системы


Файловая система ext2fs была создана по образу и подобию файловой системы UNIX (UNIX File System - UFS). Обе они (особенно UFS) создавались еще в те времена, когда диски и другие физические носители данных имели довольно маленький (по современным меркам) объем. Увеличение объема дисков вело к возрастанию объема разделов диска, увеличению размеров отдельных файлов и каталогов. Это породило ряд проблем, связанных с ограниченностью внутренних структур данных файловой системы.

Существуют две основных проблемы этого рода.

Во-первых, эти структуры не способны работать с носителями информации увеличенного объема. В них отведено строго фиксированное число бит для хранения данных о размере дисковых разделов и размерах файлов, фиксированное число бит для хранения логических номеров блоков и т. д. . Как следствие, число файлов и каталогов и их размер ограничены.

Вторая проблема связана с производительностью. В силу заложенных в старые файловые системы алгоритмов решение некоторых задач стало требовать слишком большого времени на носителях увеличенного объема. Одним из самых характерных примеров такого рода проблем является трудоемкость восстановления файловой системы после сбоев (например, после неожиданного отключения питания). Это восстановление выполняется с помощью программы fsck, и для очень больших дисков стало требовать нескольких часов.

Естественно, что появление этих проблем породило и попытки их решения. Были разработаны новые типы файловых систем, при создании которых учитывались требования масштабируемости. Наиболее известными разработками файловых систем новых типов являются:

файловая система ext3fs ;XFS;журналируемая файловая система JFS фирмы IBM;ReiserFS .

В табл.16.8 приведены данные по увеличению основных параметров, обеспечиваемых новыми файловыми системами. Данные заимствованы из статьи Juan I. Santos Florido "Journal File Systems", опубликованной в 55-ом выпуске Linux Gazette (July 2000).

Таблица 16.8. Некоторые параметры файловых систем новых типов

Размер блокаМаксимальный размер файловой системыМаксимальный размер файла
Ext3FS1-4 Кбайт4 Tбайт2 Гбайт
XFSот 512 байт до 64 Кбайт18 тысяч петабайт9 тысяч петабайт
JFS512, 1024, 2048, 4096 байтот 4 петабайт (при 512-байтных блоках) до 32 петабайт (при 4-килобайтовых блоках)

От 512 Тбайт (при 512-байтовых блоках)

До 4 петабайт (при 4-килобайтовых блоках)

ReiserFSДо 64 Кбайт (пока что фиксирован, 4 Кбайт)4 Гбайт блоков, 16 Тбайт4 Гбайт, 210 петабайт в ReiserFS (3.6.xx)



Система адресации данных


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

Поле i_block в индексном дескрипторе файла представляет собой массив из 15 адресов блоков. Первые 12 адресов в этом массиве (EXT2_NDIR_BLOCKS [12]) представляют собой прямые ссылки (адреса) на номера блоков, в которых хранятся данные из файла. Следующий адрес в этом массиве (EXT2_IND_BLOCK) является косвенной ссылкой, т. е. адресом блока, в котором хранится список адресов следующих блоков с данными из этого файла. В этом блоке могут быть записаны адреса (размер_блока / размер_ULONG) блоков с данными файла.

Следующий адрес в поле i_block индексного дескриптора (EXT2_DIND_BLOCK) указывает на блок двойной косвенной адресации (double indirect block). Этот блок содержит список адресов блоков, которые в свою очередь содержат списки адресов следующих блоков данных того файла, который задается данным индексным дескриптором.

И, наконец, последний адрес (EXT2_TIND_BLOCK) в поле i_block индексного дескриптора задает адрес блока тройной косвенной адресации, т. е. блока со списком адресов блоков, которые являются блоками двойной косвенной адресации.

Теперь вы знаете, как устроены индексные дескрипторы файлов, т. е. можете представить, как в файловой системе ext2fs осуществляется запись в файл и чтение из файла.

Может быть здесь еще надо бы рассказать о команде mkfs, которая служит для создания файловой системы в разделе диска. Но вкратце мы ее рассмотрели в лекции 4, а за более подробными пояснениями читатель может обратиться к интерактивным руководствам.



Структура дискового раздела в ext2fs


Производители жестких дисков обычно поставляют свои изделия отформатированными на низком уровне. Насколько я знаю, это означает, что все дисковое пространство с помощью специальных меток разбито на "сектора", размером 512 байт. Такой диск (или дисковый раздел) должен быть подготовлен для использования в определенной операционной системе. В MS-DOS или Windows процедура подготовки называется форматированием, а в Linux - созданием файловой системы. Создание файловой системы ext2fs заключается в создании в разделе диска определенной логической структуры. Эта структура строится следующим образом.

Во-первых, на диске выделяется загрузочная область. Загрузочная область создается в любой файловой системе. На первичном разделе она содержит загрузочную запись - фрагмент кода, который инициирует процесс загрузки операционной системы при запуске. На других разделах эта область не используется. Все остальное пространство на диске делится на блоки. Блок может иметь размер от 1, 2 или 4 килобайта. Блок является адресуемой единицей дискового пространства. Выделение места файлам осуществляется целыми блоками, поэтому при выборе размера блока приходится идти на компромисс. Большой размер блока, как правило, сокращает число обращений к диску при чтении или записи файла, но зато увеличивает долю нерационально используемого пространства, особенно при наличии большого числа файлов маленького размера.

Блоки, в свою очередь, объединяются в группы блоков (табл. 16.1). Группы блоков в файловой системе и блоки внутри группы нумеруются последовательно, начиная с 1. Первый блок на диске имеет номер 1 и принадлежит группе с номером 1. Общее число блоков на диске (в разделе диска) является делителем объема диска, выраженного в секторах. А число групп блоков не обязано делить число блоков, потому что последняя группа блоков может быть не полной. Начало каждой группы блоков имеет адрес, который может быть получен как ((номер_группы - 1)* (число_блоков_в_группе)).

Таблица 16.1. Структура дискового раздела в ext2fs

Загрузочная записьГруппа блоков 1Группа блоков 2...Группа блоков n


Каждая группа блоков имеет одинаковое строение:

Супер-блокОписание группы блоков (Group Descriptors)Битовая карта блоков (Block Bitmap)Битовая карта индексных дескрипторов (Inode Bitmap)Таблица индексных дескрипторов(Inode Table)Область блоков данных
Такая структура служит повышению производительности файловой системы за счет того, что сокращается расстояние между таблицей индексных дескрипторов и блоками данных, а, следовательно, сокращается время поиска нужного места головками в процессе операций записи/считывания файла.

Первый элемент каждой группы блоков (суперблок) одинаков для всех групп, а все остальные - индивидуальны для каждой группы. Суперблок хранится в первом блоке каждой группы блоков. Суперблок является начальной точкой файловой системы. Он имеет размер 1024 байта и всегда располагается по смещению 1024 байта от начала файловой системы. Наличие нескольких копий суперблока объясняется чрезвычайной важностью этого элемента файловой системы. Дубликаты суперблока используются при восстановлении файловой системы после сбоев.

Информация, хранимая в суперблоке, используется для организации доступа к остальным данным на диске. В суперблоке определяется размер файловой системы, максимальное число файлов в разделе, объем свободного пространства и содержится информация о том, где искать незанятые участки. При запуске ОС суперблок считывается в память, и все изменения файловой системы вначале находят отображение в копии суперблока, находящейся в ОП, и записываются на диск только периодически. Это позволяет повысить производительность системы, так как многие пользователи и процессы постоянно обновляют файлы. С другой стороны, при выключении системы суперблок обязательно должен быть записан на диск, что не позволяет выключать компьютер простым выключением питания. В противном случае, при следующей загрузке информация, записанная в суперблоке, окажется не соответствующей реальному состоянию файловой системы.



Вслед за суперблоком расположено описание группы блоков (Group Descriptors). Это описание представляет собой массив, имеющий структуру, приведенную в табл. 16.3.

Таблица 16.3. Структура описания группы блоковНазвание поляТипНазначение
bg_block_bitmapULONGАдрес блока, содержащего битовую карту блоков (block bitmap) данной группы
bg_inode_bitmapULONGАдрес блока, содержащего битовую карту индексных дескрипторов (inode bitmap) данной группы
bg_inode_tableULONGАдрес блока, содержащего таблицу индексных дескрипторов (inode table) данной группы
bg_free_blocks_countUSHORTСчетчик числа свободных блоков в данной группе
bg_free_inodes_countUSHORTЧисло свободных индексных дескрипторов в данной группе
bg_used_dirs_countUSHORTЧисло индексных дескрипторов в данной группе, которые являются каталогами
bg_padUSHORTЗаполнение
bg_reservedULONG[3]Заполнение
Размер описания группы блоков можно вычислить как

(размер_группы_блоков_в_ext2 * число_групп) / размер_блока

при необходимости округляем.

Информация, которая хранится в описании группы, используется для того, чтобы найти битовые карты блоков и индексных дескрипторов, а также таблицу индексных дескрипторов. Не забывайте, что блоки и группы блоков нумеруются, начиная с 1.

Битовая карта блоков (block bitmap) - это структура, каждый бит которой показывает, отведен ли соответствующий ему блок какому-либо файлу. Если бит равен 1, то блок занят. Эта карта служит для поиска свободных блоков в тех случаях, когда надо выделить место под файл, Битовая карта блоков занимает число блоков, равное (число_блоков_в_группе / 8) / размер_блока (при необходимости округляем).

Битовая карта индексных дескрипторов выполняет аналогичную функцию по отношению к таблице индексных дескрипторов: показывает, какие именно дескрипторы заняты.

Следующая область в структуре группы блоков служит для хранения таблицы индексных дескрипторов файлов. Структура самого индексного дескриптора подробнее рассматривается ниже.

И, наконец, все оставшееся место в группе блоков отводится для хранения собственно файлов.


Типы файловых систем, поддерживаемых в Linux


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

Но, прежде чем перейти к описанию конкретных механизмов, стоит отметить, что Linux умеет работать с несколькими типами файловых систем. Основной файловой системой для Linux является "вторая расширенная файловая система" (second extended filesystem), которую кратко обозначают как ext2fs. Именно ее механизмы будут подробно рассматриваться в настоящем разделе. Но прежде, чем перейти к ее рассмотрению, ненадолго отвлечемся для того, чтобы кратко перечислить некоторые типы файловых систем, которые поддерживаются в Linux. Их список приведен в табл. 16.1.

Таблица 16.1. Типы файловых систем, поддерживаемые Linux

Тип ФСНазначение
minixФайловая система minix - это первая файловая система, которая использовалась в Linux. Она имела массу недостатков: ограничения размера раздела жесткого диска 64 мегабайтами; длина имени файла была ограничена 30 символами и т. д. Она продолжает использоваться для дискет и RAM-дисков
extfsЕще одна из ранних версий файловой системы для Linux, расширение файловой системы minix. В настоящее время заменена файловой системой ext2 и уже не используются
ext2fsВторая расширенная файловая система (second extended filesystem) была создана как расширение файловой системы extfs. ext2fs обеспечивает более высокую производительность (в части скорости и использования центрального процессора), поддерживаются длинные имена и большие размеры файлов
xiafФайловая система Xiaf была создана на основе minix с целью обеспечения большей устойчивости и безопасности. Она обеспечивает выполнение основных функций файловой системы без излишней сложности
msdosФайловая система, используемая для разделов, сформатированных в MS-DOS и Windows. Имена файлов в msdos должны удовлетворять стандарту 8.3
umsdosФайловая система UMS-DOS является расширением файловой системы DOS, используемым под Linux. В ней добавлено использование длинных имен файлов, идентификаторы пользователя и группы (UID/GID), разрешения в стиле POSIX и специальные файлы (устройства, именованные каналы и т. д.) при этом совместимость с DOS не потеряна
hpfsФайловая система для разделов OS/2. В Linux обеспечивается только чтение из разделов hpfs
procЭто файловая система, которая используется для обращения к структурам данных ядра. Файлы этой системы не занимают дискового пространства. Подробнее см. страницу man proc(5)
nfsСетевая файловая система, используемая для доступа к дискам, расположенным на удаленных компьютерах
swapРаздел или файл свопинга OC Linux
sysvФайловая система Unix Systen V. Она поддерживает файловые системы Xenix FS, SystemV/386 FS и Coherent FS
iso9660Файловая система для монтирования CD-ROM, соответствующая стандарту ISO 9660
vfatФайловая система FAT-32. Поддерживаются длинные имена файлов
smbЭто сетевая файловая система, которая поддерживает протокол SMB, используемый Windows, Windows NT и Lan Manager. Для того, чтобы использовать эту файловую систему, надо иметь специальную программу монтирования smbmount
ncpfsЭто сетевая файловая система, обеспечивающая поддержку протокола NCP, применяемого в Novell NetWare. Для того, чтобы использовать эту файловую систему, надо тоже иметь специальную программу, которую можно найти на сайте ftp://linux01.gwdg.de/pub/ncpfs

Эту таблицу нельзя считать полной по той простой причине, что работа по созданию новых типов файловых систем для Linux продолжается постоянно. Примерами вновь разрабатываемых файловых систем являются журналируемая файловая система JFS фирмы IBM и файловая система ReiserFS. Эти системы и их отличия от основной на настоящий момент файловой системы Linux, ext2fs, я постараюсь охарактеризовать в конце данной лекции.

А теперь подробнее рассмотрим основной на сегодняшний день тип файловой системы для Linux - ext2fs.



Виртуальная файловая система VFS


До сих пор наш рассказ о файловой системе касался только "статических", если можно так выразиться, составных частей файловой системы. Но, я думаю, вы понимаете, что все это хозяйство обслуживается какими-то программными модулями. Эти программные части можно разделить на две составных части. Одна часть входит в состав ядра и образует так называемую виртуальную файловую систему (VFS). VFS обеспечивает унифицированный программный интерфейс к услугам файловой системы, причем безотносительно к тому, какой тип файловой системы (vfat, ext2fs, nfs и т. д.) имеется на конкретном физическом носителе. Поэтому каждая файловая система должна предоставлять еще какие-то конкретные процедуры доступа к своим файлам, для того, чтобы использоваться под Linux. Виртуальная файловая система VFS, расположенная как бы между приложениями и конкретными файловыми системами, позволяет пользовательским приложениям получать доступ к множеству файловых систем разных типов.



Журналируемые файловые системы


Основная цель, которая преследуется при создании журналируемых файловых систем, состоит в том, чтобы обеспечить быстрое восстановление системы после сбоев (например, после потери питания). Дело в том, что если произойдет такой сбой, то часть информации о расположении файлов теряется, поскольку не все изменения сразу записываются на диск. После этого программа fsck вынуждена просматривать весь диск блок за блоком (пользуясь битовыми матрицами занятых блоков и индексных дескрипторов) с целью восстановления потерянных связей. При увеличении размера дисков вдвое, вдвое увеличивается и время, которое требуется для просмотра всего диска. А при тех объемах, которых достигают современные диски, особенно на серверах, время, необходимое для того, чтобы просмотреть весь диск, стало недопустимо велико: ведь сервер в это время не отзывается! Кроме того, нет гарантии, что все связи удастся восстановить.

В журналируемых файловых системах для решения этой проблемы применяют технику транзакций, развитую в теории баз данных. Суть этой техники в том, что действие не считается завершенным, пока все изменения не сохранены на диске. А чтобы сбои, происходящие в течение времени, необходимого для завершения всех операций, не приводили к необратимым последствиям, все действия и все изменяемые данные протоколируются. Если сбой все-таки произойдет, то по этому протоколу можно вернуть систему в безошибочное состояние.

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

Файловые системы ext3fs и JFS являются журналируемыми. Надо отметить, что ext3fs не является совершенно новой разработкой, а является просто надстройкой над ext2fs, обеспечивающей ведение журнала и организацию транзакций. Файловые системы XFS и JFS являются открытыми версиями коммерческих файловых систем.