Сергей Акимович Яремчук
200 лучших программ для Linux

Введение

Сегодня так много говорят об операционной системе GNU/Linux, что создается впечатление, что ее можно увидеть на большинстве домашних компьютеров. Это не так. Установить ее пытаются только некоторые любопытные. Встретив определенные трудности, не все справляются с ними. На этом эксперимент чаще всего заканчивается. Пользователь пытается найти знакомые названия и приложения, которых не оказывается. Проходят путь до конца лишь единицы. На форумах и сайтах можно найти много материалов на тему Windows против Linux. Большая часть критических высказываний по поводу работы Linux написана пользователями, которые так и не смогли дойти до конца и теперь пытаются сделать вывод, основываясь на своих поверхностных знаниях. Проблема таких пользователей как раз и состоит в том, что они так и не поняли смысл UNIX-подобной системы.

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

От издательства

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты dgurski@minsk.piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.

Глава 1
Общие сведения о программах Linux

• Особенности программ Linux

• Установка программ в Linux

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

Особенности программ Linux

Главный девиз UNIX-систем звучит как KISS – Keep It Simple Stupid, то есть «не усложняй». В качестве доказательства такой пример. У автора дома по Linux всего одна книга, которую он смог найти в магазинах в период, когда начал интересоваться системой. Это издание «Использование Linux» Джека Такета. Книге уже семь лет, но большая часть материала действительна до сих пор. В Интернете можно найти много старых книг, и все они в большинстве своем актуальны. Попробуйте применить книгу, написанную о Windows 98 или Windows XP к Vista, – почти весь материал окажется бесполезным.

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

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

Примечание

GNU – это рекурсивная аббревиатура от GNU's Not UNIX (GNU – не UNIX).

Программы, библиотеки и прочее распространяются с исходными кодами под лицензией GNU GPL (General Public License – стандартная общественная лицензия), которая ставит только одно условие: если при разработке используется программа с этой лицензией, то и полученный продукт также должен распространяться по лицензии GNU GPL.

Примечание

Слово free («свободный») в английском языке имеет несколько значений, в том числе и «бесплатный».

На сайте проекта GNU (http://www.gnu.org/home.ru.html) дано пояснение английского слова free. По их мнению, программное обеспечение – это предмет свободы, а не цены, и, чтобы понять идею, свободное программное обеспечение не нужно ассоциировать с бесплатным мороженым, то есть свободное не обязательно должно быть бесплатным. Свободное программное обеспечение позволяет пользователям свободно запускать, копировать, распространять, изучать, изменять и улучшать программное обеспечение. Более точно это раскрыто в четырех типах свободы для пользователей программного обеспечения:

• свободно запускать программы для любых целей (свобода 0);

• свободно изучать, как работает программа, и иметь возможность свободно адаптировать ее под свои нужды (свобода 1); доступ к исходным кодам является непременным условием;

• свободно распространять копии, чтобы помочь тем, кто интересуется свободным программным обеспечением (свобода 2);

• свободно улучшать программы и делать улучшения доступными для других; из этого извлекает пользу все сообщество (свобода 3); доступ к исходным кодам является непременным условием.

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

Каждый улучшает только свою часть продукта. Так, в Linux очень много консольных утилит. Начинающему пользователю непросто освоить все параметры командной строки, ему удобнее, чтобы программа имела понятный и легкий в освоении графический интерфейс. Программист же не создает новый продукт, он берет все консольные утилиты и пишет к ним графическую надстройку – фронт-энд (front-end), который скрывает от пользователя особенности работы консольных программ, часто добавляя новую функциональность. Например, популярный консольный видеопроигрыватель MPlayer имеет несколько таких надстроек – Kplayer, KMplayer, smplayer, Freevo и другие.

Однако чтобы такая программа заработала, необходимо установить все остальные компоненты и библиотеки, которые она использует. Например, для популярной утилиты записи дисков K3B потребуется установить 48 библиотек и программ (рис. 1.1).

Рис. 1.1. Список зависимостей пакета K3B

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

Зависимости бывают двух видов:

• жесткая (hard): обязательная, без нее программа, скорее всего, не будет работать;

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

Именно поэтому, скачав всего один пакет, установить программу часто не получается.

Есть еще одна проблема, о которой необходимо знать. В отличие от Windows, релизов которой не так много, дистрибутивов Linux огромное количество. Они отличаются не только названием, так как Linux – это только ядро, разрабатываемое под руководством Линуса Торвальдса, а все остальное – это что-то вроде набора «Сделай сам». Эти наборы хороши, но часто не только не совместимы между собой, но и для каждой новой версии одного и того же дистрибутива потребуется специально собранный пакет. Не будем вдаваться в подробности, тем более что не все так плохо, так как в популярных решениях используются пакетные системы, скрывающие такие особенности, но об этом просто нужно знать.

Установка программ в Linux

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

Компиляция программ

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

Примечание

Первые прекомпилированные наборы появились в дистрибутиве SLS Linux, который в начале 90-х годов был самым популярным дистрибутивом. Его создатели сочли неудобным самостоятельнную сборку приложений, поэтому пользователям были предложены не только само ядро Linux и основные утилиты, но и набор разнообразного программного обеспечения с простой программой установки. Все это поставлялось уже в скомпилированном виде, исходный текст прилагался только для самых основных компонентов вроде ядра. Кстати, основой популярных сегодня дистрибутивов Slackware и Debian послужил именно SLS.

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

Примечание

Человека, который отвечает за сборку пакета, называют maintainer, в Интернете часто можно встретить это слово в русской транскрипции – майнтейнер, или сборщик. Он отвечает за то, что пакет протестирован, работоспособен и его установка не вызовет сложностей. В процессе сборки он может использовать патчи (англ. patch – «заплатка»), изменяющие функциональность или устраняющие найденные ошибки. Однако таких людей мало, и все пакеты отслеживать трудно, поэтому проекты постоянно привлекают добровольцев.

Кроме этого, иногда требуется изменить функциональность программы при помощи патчей, не используемых майнтейнером. Последняя причина – это производительность: чтобы пакет работал на максимально большом количестве оборудования, его собирают с оптимизацией под определенный тип процессора – как правило, это i386, то есть под процессор Intel 80386, выпущенный еще в 1985 году. Встречаются сборки i486, i586 (Pentium MMX) и i686 (Pentium Pro), в последнее время появились сборки под 64-битные процессоры. Собирая программу самостоятельно, пользователь может скомпилировать ее под свой тип процессора, под мультипроцессорные системы и прочее. Эксперименты доказывают, что производительность получаемого пакета увеличивается (в зависимости от аппаратного обеспечения) от 10 до 200 % по сравнению с бинарными сборками, поставляемыми с дистрибутивом, и чем новее оборудование, тем больше эффективность такой сборки, хотя она не всегда нужна.

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

Внимание!

Для самостоятельной компиляции программ потребуются компилятор GCC, GNU Make и прочие утилиты. В некоторых дистрибутивах они по умолчанию не устанавливаются. И чтобы установить их, в Kubuntu необходимо выполнить команду sudo apt-get install build-essential.

Как правило, исходные файлы заархивированы в так называемый тарболл (tarball).

Архив, в зависимости от программы, которая использовалась при его создании, имеет суффикс .tar.gz или .tar.bz2 и имя типа program-х.хх, где program– это название программы, а х.хх – версия.

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

tar xzvf program-х.хх.tar.gz

tar xjvf program-х.хх.tar.bz2

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

В общих случаях достаточно выполнить команду ./configure без дополнительных параметров. Сценарий самостоятельно найдет все программы и библиотеки и, если все в порядке, создаст makefile, необходимый для компиляции программы. Однако в случае, если сценарий что-то не найдет, последует сообщение об ошибке – внимательно прочитайте его и постарайтесь понять, в чем дело.

Внимание!

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

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

$ ./configure –help

Наиболее часто используемым параметром является –prefix, с помощью которого указывается отличный от используемого по умолчанию каталог для установки программ (обычно /usr/local/). В некоторых случаях такого сценария нет, а есть уже готовый makefile. В этом случае сразу переходите ко второму этапу – выполните команду make, которая скомпилирует программу; если работа make завершилась без ошибок, устанавливайте приложение (при этом устанавливаются не только двоичные файлы, но и документация):

# make install

Для выполнения последнего шага понадобятся права суперпользователя (root), которые можно получить, выполнив команду su или sudo:

$ sudo make install

В дистрибутиве Kubuntu, чтобы пользователь мог выполнить команду sudo, он должен входить в группу admin. Первый созданный при установке пользователь заносится в нее автоматически. Для удаления установленной таким образом программы следует использовать команду make uninstall, хотя часто разработчики не используют в сценариях эту возможность.

Портежи Gentoo

Параллельно Linux развивается несколько BSD-систем – FreeBSD, OpenBSD и NetBSD, особенностью которых является система портов, позволяющая установить любую программу одной командой. При этом закачка, наложение патчей, компиляция, установка и удаление происходят автоматически. Долгое время эта система была предметом зависти линуксоидов, пока не появились дистрибутивы, использующие аналогичный подход. Самым известным из них является Gentoo (http://www.gentoo.org/), в котором применена аналогичная система портежей (portage).

Примечание

Дистрибутив Gentoo (произносится как «дженту») был назван в честь пингвина Pygoscelis papua, которому принадлежит рекорд скорости плавания (27 километров в час), что выражает основные свойства дистрибутива.

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

$ wget –c http://adelie.polymtl.ca/snapshots/portagelatest.tar.bz2

$ tar -xvjf portage-latest.tar.bz2 -C /usr

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

# emerge –sync

Пользоваться портежами просто. Например, чтобы найти пакет, в котором содержится слово pdf, выполняется такая команда:

$ emerge –search pdf

Выбираете по описанию то, что нужно, и устанавливаете, используя имя пакета:

# emerge gnumeric

Для загрузки только исходного кода без установки пакета выполняется:

# emerge –fetchonly gnumeric

Удаляется пакет также просто:

# emerge –unmerge gnumeric

Настройка оптимизации Gentoo производится в переменных (CHOST, CFLAGS, CXXFLAGS и USE) в файле /etc/make.conf. Для более детальной настройки необходимо посмотреть некоторые значения в файлах /etc/make.globals, /etc/make.profile/make.defaults и переопределить их в /etc/make.conf.

В первую очередь это переменная USE. Смысл ее заключается во включении и выключении различных параметров, которые обычно используются при конфигурировании командой ./configure при обычной компиляции программы из исходных текстов, то есть –enable/disable или –with/without. Например, закомментированная переменная USE такого содержания

USE="X gtk gnome -alsa"

соответствует

./configure –with-x –with-gtk –with-gnome –without-alsa.

Строка CHOST='i686-pc-linux-gnu' указывает на используемую архитектуру. Все современные процессоры соответствуют данному описанию; если у вас более ранняя модель вроде Pentium Pro, измените ее на меньшую (i586, i486 или i386). С помощью CFLAGS компилятору сообщается, какой процессор используется и какой требуется уровень оптимизации, после чего компилятор в соответствии с установленной моделью собирает пакеты под указанную модель процессора:

CFLAGS="-march=pentium4 -O3 -pipe "

Примечание

Для получения информации о процессоре введите cat /proc/cpuinfo.

Можно использовать флаг -mcpu=, который оптимизирует программу под указанный процессор без потери совместимости с другими процессорами. Флаг -march= требует более осторожного обращения, так как оптимизированная с ним программа будет работать только на указаном процессоре без совместимости с более старыми типами, однако при этом будет достигнута максимальная производительность.

Более подробно о параметрах make.conf можно почитать в документации Gentoo (http://www.gentoo.org/doc/en/handbook/handbook-x86.xml, русский перевод – http://www.gentoo.org/doc/ru/handbook/).

В Gentoo есть и прекомпилированные пакеты – пакаджи (англ. package – «пакет»), которые пользователь может собрать самостоятельно, используя ключи –buildpkg или –buildpkgonly при выполнении команды emerge. После этого собранный пакет устанавливается командой:

# emerge –usepkg –getbinpkg gnumeric

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

Gentoo – это не единственная подобная система. Система портов используется в дистрибутивах CRUX, Archlinux, Sorcerer и SourceMage, в которых она сосуществует с развитыми средствами пакетного менеджмента.

Пакетные системы

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

• менеджеры пакетов, предназначенные непосредственно для управления прекомпилированными программами;

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

Менеджеры пакетов, в первую очередь, отличаются форматами пакетов. Ранее в Linux существовало три основных формата пакетов:

• rpm – формат, изначально принятый в дистрибутиве RedHat, сегодня применяется в его многочисленных потомках и других дистрибутивах (Fedora, Mandriva, ALTLinux и других);

• deb – формат пакетов, появившийся в дистрибутиве Debian и производных, самым известным из которых является Ubuntu;

• tar.gz – формат пакетов, появившийся в дистрибутиве Slackware.

Сегодня этот список значительно шире. Первые два типа содержат информацию, в которой указаны зависимости этого пакета. Пакеты tar.gz (по сути, это обычные архивы) таких данных не содержат, поэтому пользователи Slackware вынуждены самостоятельно заботиться о зависимостях. Хотя отсутствие информации о зависимостях абсолютно не препятствует контролю над ними. Это можно возложить на внешние программы, а управление такими пакетами часто оказывается даже более гибким, чем теми, в которых такая информация имеется.

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

Установка пакетов

Для установки rpm-пакетов используется одноименная консольная утилита. Сам пакет имеет такой формат: – smplayer-0.5.29-alt1.i586.rpm, где:

• smplayer – название программы;

• 0.5.29 – версия программы;

• alt1 – необязательное поле, показывающее дистрибутив, для которого собран этот пакет (это очень важный параметр, так как пакет, собранный для другого дистрибутива или другого релиза одного и того же дистрибутива, может не работать в вашем; в данном примере это AltLinux, для Fedora 7 здесь будет указано fc7, для Mandriva 2008.0 – mdv2008.0; если этого поля нет, возможно, пакет универсален и подходит для всех дистрибутивов, использующих RPM);

• i586 – показывает, под какой тип процессора собран этот пакет: для 64-битных систем будет указано x86_64, а если в пакете находятся исходные тексты, которые затем нужно будет компилировать, то src.

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

Синтаксис использования rpm при работе из командной строки следующий:

rpm [параметры] название_пакета(ов)

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

# rpm -i package_name

Примечание

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

В случае если пакетов в каталоге много, проще воспользоваться маской. Например, набрав rpm -i perl*, вы установите все программы, чье название начинается с perl. Флаг -i не дает отображения информации о ходе установки. Флаги -v и -h служат для индикатора процесса выполнения. Теперь команда для установки выглядит так:

rpm -ivh package_name

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

# rpm -Uvh package_name

Примечание

Для получения информации обо всех параметрах любой консольной команды Linux используйте ключ –help.

Бывают ситуации, когда пакет не устанавливается. Причины могут быть разные; если при переинсталляции пакета система не хочет устанавливать его заново или не хватает библиотек, воспользуйтесь параметром –force. Правда, его использование может привести к тому, что данная программа не будет работать или могут повредиться важные файлы, поэтому рекомендуется сначала разобраться, а потом устанавливать пакет таким способом. Для удаления пакета воспользуйтесь командой rpm -e package_name (при этом достаточно указать только имя (например, xmms), и он будет удален). Как и при установке, параметр -v (а лучше -vv) покажет процесс удаления пакета, а если есть необходимость в безоговорочной деинсталляции, то есть несмотря на наличие в системе пакетов, зависящих от данного, воспользуйтесь дополнительно параметром -nodeps. Для получения информации обо всех установленных в системе пакетах наберите rpm -qa, а об отдельном пакете – rpm -q package_name. Наиболее полную информацию вы сможете получить, набрав rpm -qpi, а список файлов, которые установит пакет, можно посмотреть при помощи команды rpm –qpl.

Примечание

Многие операции можно проделать с помощью файлового менеджера Midnight Commander: установив курсор на файл и нажав F3 (просмотр), вы увидите информацию о пакете; зайдя в пакет, нажав клавишу Enter и выбрав файл INSTALL, можно установить выбранный пакет.

Последний рассматриваемый режим работы программы rpm – проверка целостности пакета. Для этого нужно ввести rpm -V package_name, а для проверки всех пакетов в системе – добавить -a.

Для установки пакета не обязательно работать в командной строке: в сегодняшних дистрибутивах система установки интегрирована в графические среды, и, чтобы установить скачанный пакет, достаточно выбрать в контекстном меню пункт вроде Открыть в Software Installer (так он называется в Mandriva Linux).

Все программы управления пакетами Slackware находятся в пакете pkgtools. Для его установки выполняется такая команда:

# installpkg package_name.tgz

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

Для модернизации и удаления пакетов применяется соответственно upgradepkg или removepkg. При вводе pkgtool вы получите графический интерфейс к этим утилитам (рис. 1.2).

Рис. 1.2. Утилита для работы с пакетами в Slackware pkgtool

В последних версиях канадского дистрибутива Vector Linux (веб-сайт http://www.vectorlinux.com/), основой для которого послужил Slackware, формат пакетов tar.gz заменен на tlz. Последний почти ничем не отличается от традиционного, только в нем вместо программы-архиватора GZIP использован упаковщик LZMA. Хотя пакеты для Slackware Vector Linux также поддерживает. Для установки в контекстном меню в Vector Linux следует выполнить команду Actions → VectorLinux Package → Install (Действия → Пакет VectorLinux → Установить).

Для работы с deb-пакетами используется утилита dpkg, основные параметры которой практически совпадают с rpm. Например, для установки deb-пакета следует выполнить команду dpkg –i package_name.deb, для удаления пакета dpkg вызывается с ключом –r (или –remove), получить список установленных пакетов поможет ключ –l (–list), ключи –force и –ignore-depends помогут проигнорировать проблемы, возникшие при установке или удалении пакета. В дистрибутиве Kubuntu такой пакет можно установить из контекстного меню файлового менеджера Konqueror, выполнив команду Kubuntu Package Menu → Install Package (Меню пакета Kubuntu → Установить пакет) (рис. 1.3).

Рис. 1.3. Установка пакета в Linux Kubuntu

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

Системы управления пакетами

В последнее время наибольшее распространение получили системы управления пакетами, которые обеспечивают пользователя единым интерфейсом для поиска, установки, обновления и удаления. Наиболее известным является APT. Появившийся сначала в дистрибутиве Debian и изначально рассчитанный на работу с пакетами в формате deb, он быстро стал универсальным средством управления программами, в том числе и с пакетами в других форматах rpm (в дистрибутивах ALTLinux и Connectiva). Порт APT для работы с tgz-пакетами Slackware называется slapt-get и сегодня имеет несколько графических надстроек вроде Gslapt (рис. 1.4), хотя есть и другие варианты – swaret или slackpkg.

Рис. 1.4. Gslapt – графический интерфейс к slapt-get

Менее распространены другие системы управления пакетами – urpmi (Mandriva) и yum (Red Hat/Fedora и ASPlinux). Они ориентированы на работу с rpm-пакетами и широкого распространения не получили. Подробно рассматриваться эти системы не будут, тем более что после установки дистрибутива они, как правило, готовы к работе, а пользователю предоставлен понятный графический интерфейс. Например, программа установки приложений в дистрибутиве Mandriva выглядит так (рис. 1.5).

Рис. 1.5. Установка приложений в Mandriva

Так же просто устанавливаются приложения и в дистрибутивах RedHat/Fedora/ASPLinux (рис. 1.6).

Рис. 1.6. Менеджер пакетов в дистрибутиве Fedora

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

Работа с apt-get в Ubuntu

Все, что будет описано в данном разделе, практически полностью действительно и для других систем, использующих APT, – Debian, MEPIS, Linspire/Freespire, ALTLinux и клонов APT вроде slapt-get.

Описание репозитариев. Пакеты в репозитарии структурированы по назначению, платформе и прочим характеристикам. Список известных дистрибутиву репозитариев приведен в файле /etc/apt/sources.list. Заглянем внутрь (рис. 1.7).

Рис. 1.7. Список репозитариев, выведенный утилитой Synaptic

$ cat /etc/apt/sources.list

#deb cdrom:[Kubuntu 7.04 _Feisty Fawn_ – Beta i386 (20070322.1)]/ feisty main restricted

deb http://ua.archive.ubuntu.com/ubuntu/ feisty main restricted

deb-src http://ua.archive.ubuntu.com/ubuntu/ feisty main restricted

deb http://ua.archive.ubuntu.com/ubuntu/ feisty-updates main restricted

deb http://ua.archive.ubuntu.com/ubuntu/ feisty universe multiverse

deb http://ua.archive.ubuntu.com/ubuntu/ feisty-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu feisty-security main restricted

Рассмотрим, что получилось. Первая строка указывает на CD-ROM, точнее, на конкретный диск с указанной меткой. Для добавления любого другого диска с пакетами (он должен иметь специальную структуру, о чем будет рассказано далее) достаточно вставить его в привод и набрать в консоли команду sudo apt-cdrom add – программа попросит вставить диск, после чего нужно нажать Enter. Далее в файле описываются репозитарии, находящиеся на различных узлах в Интернете. В первой строке указан тип пакета (deb указывает, что будут загружаться пакеты с уже скомпилированными программами; а deb-src означает, что будут использоваться пакеты с исходными текстами). Периодически необходимо обновлять список пакетов, имеющихся в репозитариях. Это делается командой sudo apt-get update.

При большом количестве записей суммарный объем скачанных файлов может превышать 10 Мбайт, поэтому, если не планируется самостоятельная сборка/пересборка пакетов, строки, содержащие deb-src, можно закомментировать, поставив в начале знак #. Таким образом можно уменьшить нагрузку на канал и время обновления списка.

Следующая запись означает зеркало, с которого будут загружаться обновления. Официальный репозитарий Ubuntu располагается по адресу http://archive.ubuntu.com/ubuntu/. При установке дистрибутива в зависимости от региона автоматически выбирается одно из многочисленных зеркал репозитария. Например, украинское зеркало имеет адрес http://ua.archive.ubuntu.com/ubuntu/, российское вместо ua использует ru, поэтому, читая зарубежные материалы, следует переносить их на местные реалии. Например, если в статье говорится, что для установки нужно добавить в список сервер http://gb.archive.ubuntu.com/ubuntu/, это не значит, что нужно выполнять такой совет. У вас уже использовано локальное зеркало. Хотя здесь все не так просто, как кажется.

Во-первых, зеркала обновляются не мгновенно, а через некоторый период времени. Хотя это нестрашно. Интересней скорость доступа к зеркалу. Так, команда traceroute показывает 14 промежуточных узлов в случае с вариатом ua, при этом сам сервер находится в Лондоне, IP-адрес совпадает с официальным archive.ubuntu.com, а пакет проходит чуть менее шести тысяч километров, то есть фактически украинское зеркало совпадает с официальным репозитарием. Причем скорость закачки днем в случае автора равна приблизительно 128 Кбайт/сек, а ночью – в два раза ниже. При установке пакетов с итальянского сервера с префиксом gb пакет пройдет 12 узлов и на тысячу километров меньше. Польский (pl) сервер «находится» от автора в 6126 километрах, через 14 промежуточных узлов, но отклик отличный. Полный список репозитариев можно найти по адресу https://wiki.ubuntu.com/Mirrors?action=show&redirect=Archive.

Следующей строкой идет название версии дистрибутива: для 7.04 это feisty, 6.10 – edgy, 6.06 – dapper. Такая строка показывает, что будут использованы основные и тщательно протестированные пакеты, собираемые самими разработчиками. К названию дистрибутива может быть добавлено одно из четырех окончаний:

• backports – не протестированные, но часто очень полезные пакеты;

• proposed – предлагаемые, но пока не протестированные обновления;

• security – обновления безопасности;

• updates – обновления, прошедшие стадию proposed.

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

Последняя позиция, представлена еще четырьмя характеристиками, которые можно поместить в одной строке:

• main – пакеты со свободной лицензией, поддерживаемые разработчиками Ubuntu;

• universe – пакеты со свободной лицензией, поддерживаемые сторонними разработчиками;

• multiverse – пакеты с несвободной лицензией, поддерживаемые сторонними разработчиками;

• restricted – пакеты с несвободной лицензией, которые не могут быть изменены, например двоичные драйверы.

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

Рис. 1.8. Репозитарий Ubuntu

Продвигаясь далее, можно найти еще каталоги, соответствующие архитектуре и локализации, но добавлять тип архитектуры и локализацию в описание репозитария не нужно – эти данные будут получены автоматически по текущим настройкам системы. Возникает вопрос, что делать, если была установлена версия системы под i386, а на компьютере установлен процессор AMD64. Загружать пакеты под свой тип процессора просто. Нужно открыть в любом текстовом редакторе файл /etc/apt/apt.conf.d/01ubuntu и в секции APT добавить следующую строку:

Architecture «amd64»

Либо в любом месте добавить

APT::Architecture «amd64»

Затем необходимо сохранить изменения, обновить список пакетов и попробовать получить небольшой файл; если пакет имеет в названии amd64, все сделано верно. Теперь можно обновить всю систему, для чего следует выполнить всего одну команду:

$ sudo apt-get dist-upgrade

Примеры всех параметров этого файла можно найти в каталоге /usr/share/doc/apt/examples. Сами пакеты находятся на сайте в другом подкаталоге (pool) и рассортированы по несколько иному принципу, но, так как менеджер пакетов скрывает эту структуру, не будем вдаваться в подробности.

Утилита APT проста в использовании. Например, чтобы найти программу, проигрывающую MP3-файлы, достаточно выполнить команду sudo apt-cache search mp3. В результате будет выведен список всех пакетов. Для установки любого пакета достаточно ввести sudo apt-get install имя_пакета; если пакет необходимо обновить, вместо install используется update. При наличии соединения с Интернетом все остальное утилита сделает сама. При желании самостоятельно скомпилировать пакет, который имеется в репозитарии, чтобы не разбираться с зависимостями, вначале выполните следующую команду:

$ sudo apt-get build-dep имя_пакета

Затем скомпилируйте новую версию программы (./configure; make), но вместо команды для установки make install используйте команду apt-get install checkinstall, которая создаст новый пакет и затем установит его.

Добавление репозитариев. Добавить новый репозитарий можно несколькими способами. Самый простой – открыть в любом текстовом редакторе (через sudo) файл /etc/apt/sources.list и вписать нужную строку. Причем следует помнить, что чем ближе запись к началу файла, тем большим преимуществом будет обладать этот репозитарий.

В составе дистрибутива Kubuntu имеется понятный графический интерфейс к apt-get – Adept (рис. 1.9). В его окне достаточно выбрать нужное приложение, и оно будет автоматически установлено.

Рис. 1.9. Adept – программа для установки приложений в Kubuntu

Для того чтобы добавить репозитарий с его помощью, выполните команду Вид → Управление репозитариями, перейдите на вкладку Third-party Software (Компонент третьей стороны), нажмите кнопку Add (Добавить) и вставьте нужную строку. Здесь же на других вкладках включается автоматическое обновление списка пакетов, выбираются категории пакетов основного репозитария и используемое зеркало. Страница Authentication (Аутентификация) предназначена для загрузки GPG-ключей, необходимых для проверки подписи пакетов. Последнее делать необязательно, пакеты будут устанавливаться и без этого, но так вы будете уверены, что их собрал именно тот человек, с чьего ресурса они получены, да и менеджер пакетов не будет задавать лишних вопросов. Месторасположение файлов ключей обычно указывается на главной странице ресурса. Его можно добавить и в командной строке. Например:

$ wget http://seveas.imbrandon.com/1135D466.gpg -O– | sudo aptkey add -

В более распространенном графическом фронт-энде к apt-get Synaptic (рис. 1.10) репозитарий добавляется через команду Settings → Repositories (Настройки → Репозитарии) (см. рис. 1.7).

Рис. 1.10. Программа для установки приложений Synaptic

После того как репозитарии добавлены, следует обновить список пакетов. В консоли это делается командой:

$ sudo apt-get update

В Synaptic достаточно нажать кнопку Reload (Перезагрузить), в Adept – Получить обновления.

Информация о репозитариях и пакетах собирается в каталоге /var/lib/apt/lists в виде файлов, имена которых соответствуют названию архива.

$ ls /var/lib/apt/lists ua.archive.ubuntu.com_ubuntu_dists_feisty-backports_main_binaryi386_Packages

Заглянув в этот каталог, можно получить информацию о любом пакете. Впрочем, смотреть необязательно – это сделают утилиты. Например, введя sudo apt-cache showpkg gcc-4.1, можно узнать все о пакете gcc.

Создание локального репозитария. Создать локальную копию репозитария можно одной командой (требуется пакет debmirror):

$ /usr/bin/debmirror –nosource -m –passive

–host=archive.ubuntulinux.org –root=ubuntu –method=ftp

–progress –dist=feisty,feisty-security,

feisty-updates,feisty-backports –ignore-release-gpg

–section=main,restricted,multiverse,universe

–arch=i386,amd64

Большая часть параметров понятна из объяснений выше, трафик составит не один гигабайт и потребует много свободного места на диске. Чаще возникает необходимость создать свой репозитарий из уже скачанных файлов и пользоваться им как обычно, с помощью apt-get. Для создания списка пакетов понадобится утилита dpkg-scanpackages, входящая в состав dpkg-dev. Установите:

$ sudo apt-get install dpkg-dev

Теперь создайте каталог, в который скопируйте все пакеты.

$ mkdir archives

Перейдите в образованный каталог.

$ cd archives

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

$ dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

По окончании работы утилиты будет выдан список пакетов и их количество; чтобы добавить новый репозитарий в файл sources.list, нужно прописать путь к созданному каталогу, например:

deb file:/home/grinder/archives ./

Сохраните изменения и введите sudo apt-get update; если в /var/lib/apt/lists добавился новый каталог, все было сделано верно. Теперь можно копировать этот каталог на другие системы. При добавлении в него пакетов процедуру придется повторить. В Интернете можно найти достаточно описаний того, как перенести свой репозитарий на CD/DVD. Существует вариант проще – использовать утилиту APTonCD (aptoncd.sourceforge.net) (рис. 1.11). Сначала установите ее следующей командой:

$ sudo apt-get install aptoncd

Рис. 1.11. Окно программы APTonCD

Теперь можно вызвать ее через меню Система. Пользоваться программой просто. На вкладке Create (Создать) нужно нажать кнопку Create APTonCD (Создать APTonCD) – будет просканирован каталог /var/cache/apt/archives, и все файлы будут добавлены в проект. Далее нажмите кнопку Add Package (Добавить пакет) и укажите пакеты, находящиеся отдельно. Нажмите кнопку Options (Параметры) и в списке Medium Type (Тип носителя) выберите тип образа – CD или DVD, а в поле Destination Folder (Папка назначения) укажите каталог, куда будет помещен готовый ISO-образ.

Нажмите OK – программа создаст образ и появится диалоговое окно, предлагающее сразу записать его на носитель. На вкладке Restore (Восстановить) можно скопировать (то есть восстановить) все файлы и добавить CD-ROM.

Конвертеры пакетов

Отдельно хотелось бы отметить наличие утилит, позволяющих конвертировать пакеты из одного формата в другой. Их возможности применения ограничены, так как из пакета одного типа получить полноценный другой тип пакета невозможно. Кроме того, приложения, входящие в состав пакета, могут не работать в другом дистрибутиве из-за различий версий библиотек, неудовлетворенных зависимостей и отличий в организации файловой системы. По этой причине их нельзя использовать для установки важных системных файлов. Однако в некоторых случаях (в первую очередь при установке недвоичных пакетов, например документации, словарей и прочего) их применение оправданно. Это утилиты rpm2cpio, rpm2tgz (http://www.rpm2tgz.com) или почти универсальная alien (http://kitenet.net/programs/alien/).

Утилита rpm2tgz по умолчанию входит в состав дистрибутива Slackware и клонов и позволяет конвертировать rpm-пакеты в tgz, которые затем можно установить с помощью installpkg.

$ rpm2tgz package.rpm

В результате в текущем каталоге появится пакет с таким же именем, но расширением tgz; установите его.

# installpkg package.tgz

Программа alien позволяет конвертирование между Redhat (rpm), Debian (deb), Slackware (tgz) и другими форматами. В Ubuntu она устанавливается командой:

$ sudo apt-get install alien

Теперь, чтобы конвертировать rpm-пакет в deb, выполните такую команду:

$ alien –to-deb package.rpm

Для конвертирования deb в rpm – следующую:

$ alien –to-rpm package.deb

Глава 2
Офисные пакеты

• Пакет OpenOffice.org

• Офисный пакет KОffice

• Компоненты GNOME Office

• Текстовые редакторы

Один из главных вопросов, который заинтересует любого пользователя в новой системе, – какое приложение можно использовать для набора текста? Сегодня популярны так называемые офисные пакеты типа Microsoft Office, включающие несколько приложений, имеющих различную функциональность и связанных между собой. На кого они рассчитаны, сказать трудно. Среднестатистический пользователь не нуждается и в десятой доле возможностей, заложенных разработчиками в офисные пакеты, да и нужны далеко не все компоненты. Соответственно, деньги на полный пакет потрачены зря. Долгое время в Linux фактически не было полноценного офисного пакета. Это не связано с недоработками, хотя Linux довольно долго оставался операционной системой, предназначенной для выполнения специфических задач. Просто здесь всегда были свои традиции и стандарты, существующие до сих пор.

Пакет OpenOffice.org

Офисный пакет OpenOffice.org – это первый качественный продукт Linux, позволяющий работать с текстовыми документами, электронными таблицами, изображениями, базами данных и создавать презентации. За его основу был взят пакет StarOffice, разработанный немецкой фирмой StarDivision в середине 90-х годов. Осенью 1999 года корпорация Sun выкупила StarDivision и уже в июне следующего года вышла новая версия StarOffice под торговой маркой Sun.

Примечание

Название OpenOffice является зарегистрированной торговой маркой, поэтому пакет следует называть именно OpenOffice.org.

13 октября 2000 года считается днем рождения OpenOffice.org, так как именно в этот день были открыты исходные тексты StarOffice (за исключением некоторых модулей). Сегодня над кодом OpenOffice.org работают как добровольцы со всего мира, так и программисты корпорации Sun Microsystems Inc., которая в основном и финансирует деятельность проекта OpenOffice.org. StarOffice распространяется под коммерческой лицензией и включен в некоторые коммерческие дистрибутивы Linux, а OpenOffice.org доступен под свободной лицензией, не требующей оплаты за его использование, и с исходным кодом. Учитывая такие условия распространения программы, этот пакет вполне можно считать полноценным конкурентом дорогостоящего, хотя и более популярного офисного пакета Microsoft Office. Тем более что OpenOffice.org совместим со всеми распространенными форматами документов, электронных таблиц, презентаций и изображений, в том числе и Microsoft Office. Документы выводятся качественно и практически без потерь в структуре. При сложном форматировании возможны искажения, но стоит вспомнить, что документы, созданные в различных версиях Microsoft Office, также не всегда отображаются корректно.

Еще одним отличием OpenOffice.org от Microsoft Office является кроссплатформенность. Существуют версии Linux, как для Windows и Solaris. В первых версиях пакета OpenOffice.org были недоработки, но сегодня доступна более совершенная вторая версия. Официальный сайт проекта находится по адресу http://www.openoffice.org/, русскоязычную сборку можно скачать с http://ru.openoffice.org/. Существуют и альтернативные сборки, например http://www.i-rs.ru/. Последние две предпочтительнее, так как в их комплект входят дополнительные словари для проверки орфографии, которые в других придется устанавливать отдельно. Проблем при установке обычно не возникает, хотя в большинстве дистрибутивов Linux OpenOffice.org уже есть.

Примечание

При первом запуске любого приложения из состава OpenOffice.org будет предложено зарегистрироваться, указав сведения о себе. Этот шаг можно пропускать, отказавшись от регистрации или отметив, что вы уже являетесь зарегистрированным пользователем.

В пакет OpenOffice.org входит несколько программ:

• OpenOffice.org Writer – для работы с текстовыми документами и по совместительству редактор веб-документов, этикеток и визитных карточек, аналог Microsoft Word (рис. 2.1);

• OpenOffice.org Calc – для работы с электронными таблицами, аналог Microsoft Excel;

• OpenOffice.org Draw – для создания и редактирования изображений;

• OpenOffice.org Impress – для создания презентаций, аналог Microsoft PowerPoint;

• OpenOffice.org Base – для создания баз данных, поддерживающая не только Microsoft Access, но еще и девять различных баз данных; к сожалению, формат Base не будет понят Microsoft Access, несмотря на простой с виду интерфейс; очень удобная программа с большим количеством функций;

• OpenOffice.org Math – вспомогательная программа для работы с математическими формулами, аналог Microsoft Equation, его можно вызвать как из меню другого приложения, так и в качестве самостоятельной утилиты.

Рис. 2.1. OpenOffice.org Writer

Кроме этого, в состав пакета входит и небольшая утилита quickstarter. С ее помощью можно быстро запустить приложения OpenOffice из панели задач. Из репозитария пакетов Kubuntu командой sudo apt-get install oooqs2-kde можно установить апплет аналогичного назначения oooqs2-kde.

Примечание

В составе дистрибутива Kubuntu все компоненты OpenOffice.org (за исключением Math и Draw) есть и устанавливаются по умолчанию вместе с системой, интерфейс не локализован, но, чтобы вместо английских меню выводились русские названия и переведенная справочная документация, следует установить пакеты openoffice.org-l10n-ru, openoffice.org-help-ru.

Любая программа, входящая в пакет, весьма функциональна и удобна в использовании. Интерфейс очень похож на Microsoft Word, кнопки на панели инструментов расположены аналогично, заголовки идентичны, и при некоторых темах оформления KDE определить, что именно запущено – Calc (рис. 2.2) или Excel, – непросто. Различаются только значки, и в некоторых дистрибутивах вроде SUSE для оформления использована собственная тема. Пользователи со стажем быстро найдут отличия в содержании пунктов меню, но практика показывает, что к изменениям можно быстро привыкнуть и даже считать, что OpenOffice.org удобнее, чем Word.

Рис. 2.2. Окно OpenOffice.org Calc

Первое, что обращает на себя внимание при знакомстве с панелью инструментов, – это наличие кнопки экспорта файла в формат PDF. Это полезная и весьма востребованная функция, так как она избавляет от необходимости дополнительно использовать программу-конвертер. Функции для форматирования документов и работы со шрифтами аналогичны продукту от Microsoft. Кстати, возможность предварительного просмотра шрифтов в раскрывающемся списке на панели инструментов сначала появилась во Writer.

Дать оценку остальной функциональности сложнее, так как пользователи выполняют разные задачи, у всех свои привычки и требования, поэтому в обзорах можно встретить иногда диаметрально противоположные мнения о продуктах, входящих в состав OpenOffice.org. Однако среднестатистический пользователь вряд ли найдет большое количество недостатков, а учитывая цену OpenOffice.org, можно закрыть глаза на некоторые из них (например, то, что Writer проверяет правописание отдельных слов (при наличии словарей, которые входят в пакет myspell-ru), а несогласованные предложения – нет).

Может также не понравиться отсутствие возможности нарисовать таблицу. Ее можно создавать только по стандарту, выбрав нужное количество строк и столбцов. Некоторые пользователи решают эту проблему путем импорта таблицы из Calc или выполнением команды Таблица → Разбить ячейки. Другие возможности в работе с таблицами сделаны даже лучше, чем в Word. Например, таблица в таблице, рисунок с помощью встроенных средств и другие объекты создаются просто и без потери форматирования. Аналогично упрощена процедура добавления различных объектов вроде рисунков, звука и прочего в документ, хотя объектов в галерее (команда Сервис → Галерея) меньше, чем в Word.

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

Совет

По умолчанию каждый компонент OpenOffice.org сохраняет документы в своем формате, поэтому при переносе на другой компьютер следует убедиться, что данный файл будет прочитан. Выполнив команду Сервис → Параметры → Загрузка/Сохранение → Общие и в списке Тип документа выбрав пункт Всегда сохранять как, можно указать, в каком из форматов всегда сохранять выбранный тип документов.

Диаграмм несколько меньше, но зато внешний вид легко поддается настройке.

Построение презентаций в Impress несложно (рис. 2.3), при создании новой презентации появляется мастер, который поможет создать ее основу.

Рис. 2.3. Окно OpenOffice.org Impress

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

Рис. 2.4. Общее окно OpenOffice.org

Примечание

В некоторых приложениях OpenOffice.org разработчики оставили скрытые функции, так называемые «пасхальные яйца». Например, если во Writer в новом документе набрать StarWriterTeam и нажать клавишу F3, можно увидеть команду разработчиков. В Calc при записи в любую ячейку «=Game(„StarWars“)» и нажатии Enter открывается игра, в которой нужно спасти планету от нашествия инопланетян. В Calc можно поиграть в крестики-нолики, введя в любой ячейке внутри диапазона A1:C3 «=Game(A1:C3;»TicTacToe")" (см. рис. 2.2) (компьютер автоматически сделает следующий ход).

Несмотря на все усилия разработчиков, пакет несколько тяжеловат, особенно это почувствуют те, чей компьютер имеет объем оперативной памяти меньше 256 Мбайт, поэтому познакомьтесь с популярными альтернативами.

Офисный пакет KОffice

KDE Оffice, или просто KOffice, – это также бесплатный и доступный в исходных кодах офисный пакет. Он распространяется по лицензии GNU GPL и состоит из большого количества приложений, каждое из которых отвечает за определенный участок работы и при необходимости взаимодействуюет с другими. Например, при редактировании формулы в текстовом редакторе вызывается редактор формул – KFormula. Учитывая, что KOffice построен на библиотеках настольной среды KDE, он хорошо в нее интегрируется и рекомендуется к использованию в первую очередь в KDE. Хотелось бы сразу пояснить. Словосочетание GNOME Office или KDE Оffice означает совсем не то, что ошибочно предполагает большинство пользователей, а именно – работу только с определенным оконным менеджером. Наоборот, большинство приложений (за редким исключением) прекрасно работают в среде других оконных менеджеров. Одним из путей разработки любого программного обеспечения является унификация кода; как правило, это делается с помощью библиотек. Приставка GNOME или KDE означает, что данное приложение использует библиотеки, специфические для данной среды (библиотека Qt используется в KDE, а Gtk – в GNOME), и для их работы необходимо наличие как минимум установленной соответствующей среды (библиотек), которой можно даже не пользоваться. Для тех, кто не понял или не поверил, – проведите следующий эксперимент. Запустите в какой-нибудь отличной от KDE и GNOME среде текстовые редакторы nedit (при его установке в большинстве случаев используется статическая компиляция, поэтому библиотек вообще не требуется), kate (варианты KEdit, KWrite), gedit (последние два редактора принадлежат средам KDE и GNOME соответственно). Теперь откройте окно терминала, наберите команду top и проследите с ее помощью, какие еще программы используются системой до и после запуска соответствующего приложения.

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

Рис. 2.5. Рабочий стол KOffice

Из основных достоинств всех компонентов этого пакета следует отметить легкость по сравнению с OpenOffice.org. Официальный сайт проекта расположен по адресу http://www.koffice.org/. Рассмотрим состав приложений по порядку.

Примечание

В Kubuntu пакет KOffice по умолчанию не устанавливается. Чтобы инсталлировать его и локализовать интерфейс, выполните команду apt-get install koffice kofficei18n-ru; koffice – это метапакет, в котором указан список остальных пакетов, входящих в состав KOffice; если в установке всех пакетов нет необходимости, можно устанавливать каждый компонент по отдельности.

Полноценный тестовый процессор KWord (рис. 2.6) распознает не только свой собственный формат ODT (разработан в соответствии со стандартом OpenDocument ISO 26300), но и документы форматов HTML, RTF, обычный текстовый формат и документы Microsoft Word.

Рис. 2.6. Окно текстового редактора KWord

Поддержка последнего пока далека от идеала, в первую очередь из-за того, что KWord путает версии файлов Word. Набранные в нем документы можно сохранить в форматах HTML 4.01 (с использованием таблиц стилей или без них), XHTML 1.0, TeX, SGML и RTF. За поддержку HTML при сохранении документа KWord можно определенно оценить положительно, так как создаваемый им код практически не содержит лишних тегов. По этой причине его часто используют для преобразования различных документов в веб-страницы и в качестве простой издательской системы. Однако сохранять документы в формате DOC, принятом в Microsoft Word, он не умеет, обратный обмен возможен только через формат RTF. Панель инструментов (это касается и всего пакета) при правильной локализации системы русифицируется, пункты меню понятны, так что проблем с изучением и использованием возникнуть не должно. KWord, как и положено любому текстовому процессору, кроме работы по форматированию самого текста позволяет вставлять в текст специальные символы, рисунки, формулы, таблицы и различные объекты (презентации, диаграммы, рисунки и схемы), для редактирования которых вызывается соответствующая программа.

Примечание

В комплекте KWord немного рисунков, но при необходимости их можно взять с сайта Open Clip Art Library http://www.openclipart.org/, который содержит 6900 рисунков. В некоторых дистрибутивах рисунки доступны в пакетах, так в Kubuntu; чтобы получить список пакетов, введите sudo apt-cache search openclipart.

Имеется возможность вставки рисунка напрямую со сканера. В программу встроен собственный менеджер стилей. Изначально имеется только один стиль, но есть возможность создавать свои, а также создавать шаблоны на основе текущего документа. По адресу http://www.koffice.org/addons/templates.tar.gz расположены дополнительные шаблоны, для установки которых достаточно распаковать архив в каталог ~/.kde/share/apps/kword/templates. Другие шаблоны можно найти на сайте http://kde-files.org/. В KWord реализована проверка русской орфографии с помощью программы aspell. В общем, если вам необходим простой текстовый редактор с достаточными возможностями, KWord – это то, что нужно.

В качестве редактора электронных таблиц в пакете KOffice выступает KSpread (рис. 2.7). В нем поддерживается импорт из Microsoft Excel, таблиц Quattro Pro, GNUmeric, текстовых файлов, Applix Spreadsheets и других. Запись возможна как в свой формат, так и в текстовый, HTML и GNUmeric.

Рис. 2.7. Окно KSpread

При работе в KSpread с таблицей можно проделать практически все, что и с помощью Excel, по крайней мере, это касается потребностей домашнего пользователя и небольшого офиса. Поддерживается вставка диаграмм календаря, различных объектов и комментариев. Как и положено электронной таблице, KSpread имеет в арсенале большое количество формул (около 100), которые можно вставить в ячейки, причем справка по формулам русифицирована и понятна. Реализовано автозаполнение таблицы (набираете в двух разных ячейках шаблон для заполнения, например: в первой – 1, во второй – 2, а затем нажимаете славишу Ctrl и тянете за правый край ячейки вниз; когда вы отпустите кнопку мыши, ячейки заполнятся в порядке возрастания или убывания). Можно указать формат данных, содержащихся в ячейке (процентный, денежный или задать точность), а также раскрасить столбцы и ячейки, добавить описание и комментарии. Многочисленные диаграммы помогут представить информацию визуально.

Редактор векторной графики Karbon14 (рис. 2.8) заменил в пакете устаревший Kontour. Используя пункты панели инструментов, в нем можно создавать прямоугольники, квадраты, круги и другие геометрические фигуры. С объектами возможны некоторые трансформации, зеркальное отражение, вращение, вставка рисунков, диаграмм и объектов, созданных другими программами, входящими в KOffice, а также предусмотрены работа со слоями и вставка изображения напрямую со сканера.

Рис. 2.8. Окно редактора векторной графики Karbon14

Созданные изображения могут быть сохранены как в собственном формате с расширением .karbon, так и в некоторых других форматах – SVG, PNG, TIFF, JPEG, документов Krita, Adobe Illustrator и других. Список импорта на порядок больше. Он включает все вышеперечисленные плюс форматы, используемые в приложениях, входящих в состав KOffice, и некоторые другие.

Растровый редактор Krita (рис. 2.9) появился в составе KOffice не сразу. Начало разработок относится к 1999 году, а в состав пакета он включен начиная с версии 1.4. Поддерживает различные системы цветности – RGB, CMYK и некоторые другие с 8, 16 и в некоторых случаях 32 бит на канал. Реализован импорт необработанных изображений RAW, сохранение результата в форматах TIFF, PNG, JPEG плюс собственный KRA. Поддержка остальных форматов возможна с использованием дополнительного плагина к GraphicsMagick. Имеются все привычные инструменты, позволяющие нарисовать любое изображение, поддерживается работа со слоями, как и в случае с Karbon, любой документ KOffice может быть вставлен как слой Krita, в наличии большое количество самых разнообразных фильтров. При необходимости обработать группу изображений есть возможность запуска сценариев, написанных на языках Python или Ruby.

Рис. 2.9. Окно программы Krita

Модульность Krita позволяет нарастить его функциональность. Например, по ссылке на странице http://www.koffice.org/krita/ вы найдете дополнительные плагины к Krita, с помощью которых можно устранить эффект красных глаз на фотографиях, и набор дополнительных фильтров.

Для создания презентаций в состав KOffice включен Kpresenter (рис. 2.10), который имеет в своем распоряжении все необходимые инструменты для создания и показа презентаций.

Рис. 2.10. KPresenter – программа для создания презентаций

Здесь доступны большое количество шаблонов для оформления (можно создавать и свою их коллекцию) и встроенные средства рисования. Есть возможность вставки различных диаграмм, рисунков и объектов, то есть все необходимое для создания презентации. Для вывода и исчезновения кадров презентации в распоряжении пользователя большое количество различных эффектов (раскрытие, исчезновение в разные стороны и с разной скоростью). Предусмотрен импорт презентаций подготовленных в Microsoft PowerPoint, правда, некоторые элементы могут оказаться неработоспособными, что потребует редактирования перед дальнейшим использованием. Сохранение созданных презентаций возможно как в собственном формате, так и в формате документа KWord, но при этом теряются некоторые элементы форматирования.

Для создания различных видов диаграмм в состав KOffice включен KСhart (рис. 2.11). В программе имеется возможность отображения выводимых данных из семи различных видов диаграмм (линейная, биржевая, столбчатая, секторная и так далее), которые, в свою очередь, делятся на три подтипа, что вполне удовлетворит большинство пользователей.

Рис. 2.11. Окно программы KChart

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

Редактор формул KFormula позволяет создавать и редактировать формулы любой степени сложности и затем вставлять их в любое приложение KOffice. Реализованы экспорт из приложений LaTeX и импорт в MathML, многоуровневая отмена операций и подсветка синтаксиса.

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

Рис. 2.12. Окно программы Kivio

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

KPlato – программа управления проектами и планирования, входящая в состав KOffice, также появилась в его составе относительно недавно. Она позволяет строить диаграммы Ганта со списком задач и распределением ресурса, прогресс выполнения задачи, связи задач, отчеты с показом запланированной стоимости, этапы задач и содержит некоторые другие инструменты.

Kexi (http://www.kexi-project.org/, рис. 2.13) – это программа для создания баз данных, аналог Microsoft Access. По умолчанию она включена в состав Kubuntu вместо OpenOffice.org Base. Это мощный инструмент, который считается серьезным конкурентом Microsoft Access и других подобных решений, использующий открытые стандарты и работающий с различными базами данных, установленными на компьютерах под управлением самых разных операционных систем. С его помощью можно создавать базы данных, запросы для обработки данных и формы для обеспечения удобного интерфейса для доступа к информации.

Рис. 2.13. Окно программы Kexi

Последняя программа, входящая в состав Koffice, называется Kugar. Она отвечает за создание отчетов, которые могут быть просмотрены с помощью KPart или распечатаны. При этом KPart легко интегрируется в среду KDE, поэтому отчеты можно просматривать в любом приложении, которое на это способно, например в файловом менеджере Konqueror. Реализованы прямой доступ к данным, использование шаблонов в формате XML, дизайнер отчетов; можно производить различные манипуляции со шрифтами, цветом, текстом и прочими атрибутами. Возможен некоторый анализ данных – среднее число, среднеквадратическое отклонение, сумма и прочее.

Компоненты GNOME Office

В отличие от Microsoft Office, компоненты данного продукта выпускаются различными организациями и командами программистов, которые часто не связаны друг с другом (как это и бывает в OpenSource), а метапроект, названый так, объединяет и координирует работу в рамках одного офисного пакета, предназначенного для среды GNOME Desktop. Компоненты, входящие в состав GNOME Office, интегрированы между собой на порядок меньше, чем в KOffice, поэтому пользователи часто работают только с некоторыми приложениями. Все программы, входящие в его состав, также распространяются свободно. В основе GNOME Office лежат библиотеки, а также набор базовых технологий, объединяющий приложения.

Состав программ, входящих в проект GNOME Office, не фиксирован и постоянно меняется, с информацией по этому вопросу можно ознакомиться по адресу http://www.gnome.org/gnome-office/index.shtml. По сведениям данного сайта, в настоящее время сюда относятся всего три проекта:

• AbiWord – популярный мультиплатформенный текстовый процессор;

• Gnumeric – электронные таблицы;

• GNOME-DB – утилита для работы с базами данных.

На ранних этапах этот список состоял из 14 приложений. Однако при установке метапакета gnome-office (и language-pack-gnome-ru для локализации интерфейса) в систему будет добавлено еще несколько приложений:

• GIMP – для работы с растровой графикой;

• Inkscape – для работы с векторной графикой;

• Eye of GNOME – для просмотра изображений;

• Dia – для создания диаграмм;

• Planer – для управления проектами.

Как и в случае с KOffice, каждое из этих приложений можно установить отдельно, указав нужный пакет. О GIMP, Inkscape и Eye of GNOME будет рассказано в главе 5 данной книги, а сейчас остановимся на остальных.

AbiWord – это текстовый процессор с большими функциональными возможностями, простой в использовании и не требующий большого количества системных ресурсов (рис. 2.14). Домашний сайт проекта расположен по адресу http://www.abisource.com/. Одно из неоспоримых его достоинств – возможность импорта и экспорта в формат Microsoft Word, что часто является определяющим при выборе редактора для работы.

Рис. 2.14. Окно AbiWord

Поддерживается импорт из таких форматов: DocBook (.dbk), архивированный с помощью zip формат AbiWord (.zabw), RTF (включая работу с ранними приложениями), XHTML и HTML, текстовые файлы (в том числе и с указанием кодировки). Сохранить созданный документ возможно в этих же форматах, а также в PDF. Еще один немаловажный факт: программа поддерживает шрифты TrueType; интерфейс, как и у других приложений GNOME Office, локализован. Есть возможность проверки орфографии c помощью pspell, при условии, что установлены соответствующие словари. Программа поддерживает стили (есть также возможность создавать свои), вставку изображений в документ (в форматах PNG, BMP, SVG и других), многоуровневую отмену действий и различное форматирование текста и абзацев. Аналогично OpenOffice.org Writer таблицу можно нарисовать, только выбрав шаблон. Тем, кто работал с какой-либо другой офисной программой, освоить данную не составит большого труда.

Электронные таблицы Gnumeric (http://www.gnome.org/projects/gnumeric/) предназначены для замены подобных коммерческих приложений (рис. 2.15). Разработчиками отмечается, что при создании приложения основной задачей была реализация максимальной совместимости с Microsoft Excel, что неплохо получилось.

Рис. 2.15. Окно программы Gnumeric

Поддерживается 100 % встроенных функций Excel и 100 % инженерных функций, форматы данных также совместимы с Excel – числовой, денежный, учетный, даты, времени, процентный, дробный, научный, текстовый и прочие. Поддерживаются импорт и экспорт в Excel и OpenOffice.org Calc и множество других форматов. По сравнению с KSpread программа Gnumeric предоставляет больше возможностей для работы с документами, особенно содержащими сложные расчетные таблицы. В ячейках таблиц Gnumeric размещается информация тех же типов данных, что и в KSpread, – числа, формулы и текст. Реализованы расчеты внутритабличных зависимостей, массивов и массивов функций, определенных пользователем диапазонов. В таблицы можно добавить разнообразные объекты – линии, овалы, квадраты, кнопки и прочее. В Gnumeric можно изменять масштаб отображаемой таблицы, поддерживаются стили.

В случае если вам не нужна интеграция с другими приложениями, а просто средство для работы с электронными таблицами, можно остановить свой выбор на Gnumeric, тем более, если вы уже знакомы с Excel, научиться работать с данным приложением будет просто.

Проект GNOME-DB (http://www.gnome-db.org/) имеет целью предоставить унифицированную архитектуру свободного доступа к данным в рамках проекта GNOME. Основной упор делается на GNOME, однако большое внимание было уделено четкому разделению механизмов доступа к данным и пользовательского интерфейса. Поэтому GNOME-DB состоит из трех разных подпроектов. Первый включает в себя библиотеку libgda и представляет собой дополнительный слой абстракции, скрывающий особенности работы с разными типами баз данных. Эта библиотека полностью независима от оболочки GNOME и поэтому позволяет разрабатывать на ее базе приложения не только для GNOME. Поддерживаются различные СУБД, в их числе Postgresql, Mysql, Oracle, ODBC, Sybase, с возможностью экспорта/импорта между различными БД. Второй проект – libgnomedb – можно назвать программным интерфейсом к libgda для среды GNOME, с помощью которого можно получать и изменять данные.

Наконец, графический интерфейс к libgnomedb и libgda, с которым непосредственно работает пользователь, называется Mergeant (рис. 2.16).

Рис. 2.16. Окно программы Mergeant

Примечание

Пакет Mergeant в Kubuntu по умолчанию при установке GNOME Office не устанавливается, это необходимо сделать самостоятельно, выполнив команду sudo apt-get install mergeant.

Программа Dia (http://www.gnome.org/projects/dia/), как и Kivio, является аналогом программы коммерческой программы Visio для Windows (рис. 2.17). С ее помощью можно строить различные графики и диаграммы. Реализована поддержка статических структурных диаграмм для UML, баз данных, объектов схем, блок-схем, сетевых диаграмм и некоторых других, причем шаблонов в Dia на порядок больше, чем в Kivio. При необходимости можно добавить собственную коллекцию объектов, для чего нужно создать XML-файл, взяв за шаблон уже имеющийся, и добавить свой рисунок.

Рис. 2.17. Окно программы Dia

Среди возможностей программы – экспорт в формат Postscript, загрузка и сохранение диаграмм в формате XML, EPS, SVG, XFIG, WMF и PNG. В контексте Dia также необходимо отметить наличие утилиты Dia2code, которую можно свободно скачать с сайта проекта http://dia2code.sourceforge.net/. С ее помощью можно преобразовать изображение Dia в код Ada, C, C++, Java, PHP, PHP5, Python, Ruby, SQL и C#. У приложения есть один недостаток – здесь не поддерживается импорт/экспорт из формата VSD (Visio), но это не по вине разработчиков Dia, а скорее потому, что данный формат нигде не документирован.

Planer (http://live.gnome.org/Planner) – это приложение, отвечающее в GNOME Office за управление проектами. Этот проект еще находится в начале развития, поэтому в нем реализована только часть возможностей. С его помощью можно создавать проектные планы и следить за продвижением проекта. Реализован календарь, позволяющий контролировать рабочие и нерабочие дни, и некоторые другие функции.

Текстовые редакторы

Полноценные офисные пакеты появились в Linux относительно недавно, а вот текстовых редакторов различного назначения в этой системе предостаточно. Иногда даже возникают конфликты между сторонниками популярных редакторов – например, Emacs и vi. По мощности ни с одним из них не сравнится Блокнот, входящий в стандартную поставку Microsoft Windows. Однако обычный пользователь вряд ли поймет, что хорошего в этих редакторах. Несмотря на аскетизм их интерфейса, а фактически, его отсутствие, это очень мощные системы для набора и редактирования текста, в которых пишутся целые книги. Программисты не равнодушны к редактору jed.

Вывод команды sudo apt-cache search text editor займет несколько экранов и покажет большое количество приложений, попадающих под это описание. Здесь есть Emacs, vi и jed с их многочисленными клонами, в том числе имеющими и графический интерфейс – nvi, vim, xemacs, elvis, xjed; есть и простой редактор nano, который часто используют для редактирования конфигурационных файлов, и многие другие. Остановимся только на средствах редактирования текста, обладающих привычным современному пользователю интерфейсом.

Редактор Kate

Kate (Advanced Text Editor, http://www.kate-editor.org/) – это текстовый редактор, входящий в состав среды рабочего стола KDE. В большинстве современных дистрибутивов он устанавливается по умолчанию. Именно этот редактор запускается при открытии текстового файла (рис. 2.18) в Konqueror. Распространяется, как и все приложения, согласно лицензии GNU GPL.

Рис. 2.18. Окно программы Кate

Начиная с KDE версии 2.2 (от 15 августа 2002 года) редактор Kate является частью пакета kdebase. Благодаря использованию технологии KParts, Kate можно встраивать в любое другое приложение KDE в качестве компонента редактирования. Так, например, Kate встроен в интегрированную среду разработки KDevelop и среду веб-разработки Quanta Plus. В Kate реализованы подсветка синтаксиса и разметки, сворачивание блоков кода для C++, C, Perl, PHP и многих других языков программирования; в наличии также есть средства ведения проектов, поэтому его часто используют в качестве инструмента для разработки программ. Следует отметить возможность поиска и замены текста с использованием механизма регулярных выражений. Kate поддерживает модули расширения, поэтому его функциональность легко нарастить. В Kubuntu расширения устанавливаются с помощью пакета kate-plugins. Рекомендуется сразу выполнить команду sudo apt-get install kate-plugins, так как без этого Kate не имеет ряда полезных возможностей, например перенаправления результата в консоль, по причине чего будут выполнены все команды, набранные в файле, сравнение файла с CSV-версией и другие. Изначально файлы создаются в универсальной кодировке Unicode, но при необходимости можно указать любую другую кодировку, как и формат конца строки (UNIX, Windows, Macintosh), и перевести слово в верхний/нижний регистр. Новый документ открывается на вкладке, поэтому удобно одновременно работать с большим количеством файлов. Реализован экспорт в HTML. Прямо в Kate можно открыть окно терминала, в котором затем набирать команды. Для перемещения по дереву каталогов имеется окно Проводника, а каталоги, к которым пользователь обращается чаще всего, можно поместить в закладки.

Вместе с Kate в системе обычно присутствует еще один текстовый редактор для среды рабочего стола KDE – Kwrite (рис. 2.19).

Рис. 2.19. Окно редактора KWrite

Можно сказать, что практически все рассмотренное выше для Kate, за исключением наличия закладок и Проводника, относится и к этому редактору. Одновременно можно работать только с одним документом – при открытии второго будет запущена еще одна копия редактора. Реализованы также экспорт в HTML, подсветка синтаксиса, работа с закладками и выбор режима конца строки. KWrite является частью пакета kdebase, и недавно он был объединен с Kate.

Редактор Gedit

В рабочей среде GNOME в качестве текстового редактора по умолчанию выступает Gedit, сайт проекта которого находится по адресу http://www.gnome.org/projects/gedit/. Это простой и не требующий большого количества системных ресурсов текстовый редактор с простым и понятным интерфейсом (рис. 2.20). Поддерживает подсветку синтаксиса многих языков программирования, языков разметки страниц и сценариев, среди которых – C++, C#, Java, Pascal, HTML, LaTeX, PHP, Perl, Python, Ruby и многие другие.

Рис. 2.20. Окно редактора текстов Gedit

При наведении курсора автоматически подсвечиваются открывающие и закрывающие скобки. Интерфейс переведен на несколько десятков языков, в числе которых есть русский. Поддерживаются различные кодировки документов, при сохранении файла можно указать требуемую. Новый документ открывается на вкладке, поэтому удобно одновременно работать с большим количеством файлов. Реализованы проверка орфографии, автоматическая нумерация строк, функции поиска и замены текста, создание резервной копии перед сохранением, настраиваются шрифты и цвета, используемые редактором. Как и в Kate, функциональность Gedit может быть увеличена за счет модулей расширения, на странице http://www.gnome.org/projects/gedit/plugins.html приведена информация о модулях, включенных в состав Gedit. Как и в случае с Kate, для их установки потребуется инсталлировать отдельный пакет – gedit-plugins. После этого будут доступны другие функции, например просмотр статистики документа.

Редактор TEA

На постсоветском пространстве большой популярностью пользуется текстовый редактор TEA. Он разрабатывается киевлянином Петром Семилетовым, поэтому здесь учтены некоторые национальные особенности. В частности, интерфейс локализован (рис. 2.21), программа поддерживает и автоматически определяет все кодировки, которые могут встретиться нашему пользователю: Windows CP1251, DOS 866, KOI8-R, Unicode, Mac, ISO 8859-5, понимает и транслит. Редактор TEA умеет подсвечивать синтаксис на многих языках програмирования и разметки (HTML, C, C++, Object Pascal, JavaScript, Perl, SQL и других), имеет все необходимое для удобного редактирования файлов с субтитрами формата SRT. Есть функции верстки и преобразования документов одного формата в другой.

Рис. 2.21. Окно редактора TEA

Функции работы с текстом включают автозамену, изменение регистра букв, форматирование, позиционирование блоков с помощью курсорных клавиш, реверс, удаление или выборочную чистку HTML-тегов и лишних пробелов и многое другое. В текстовый редактор интегрированы календарь, редактор заметок, названный не иначе как Фигня, анализатор текстов UNITAZ, файловый менеджер kwas, есть функции вызова некоторых приложений (в основном веб-браузеров, что удобно при веб-разработке) прямо из окна TEA. Поддерживаются чтение файлов в форматах OpenOffice.org SWX, OpenDocument, KWord KWD, AbiWord и RTF, запуск сценариев, написанных на языках Python, Perl, Ruby и shell (встроенный в командную оболочку язык програмирования). Для текстовых и графических файлов поддерживается функция drag&drop (перетащить и оставить), есть возможность просмотра графических файлов в форматах PNG, JPEG, GIF, WBMP, BMP и SVG. Текст можно перекодировать даже в код Морзе.

Официальный сайт проекта расположен по адресу http://tea-editor.sourceforge.net/, в дистрибутиве Kubuntu TEA можно установить командой sudo apt-get install tea tea-data.

Глава 3
Программы мультимедиа

• Программы для просмотра видео

• Музыкальные проигрыватели

• Домашние медиацентры

• Захват и редактирование видео

• Программы для перекодирования видео

• Программы DVD-мастеринга

• Программы для работы с DVD

• Конвертирование DVD

• Программы для копирования Audio CD

• Аудиоредакторы

• Редакторы субтитров

• Программы для записи дисков

• Редактирование ID3-тегов

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

Программы для просмотра видео

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

Поддержка MP3 и видео в Kubuntu

Вначале пару слов о поддержке закрытых форматов в дистрибутиве, который прилагается к данной книге. Разработчики Kubuntu (как и Fedora) во избежание недоразумений по умолчанию не включают в дистрибутив программное обеспечение и кодеки для работы с закрытыми форматами или требующие лицензирования. Законодательство некоторых стран строго следит за подобными нарушениями, поэтому наличие такого программного обеспечения может вызвать проблемы не столько у разработчиков, сколько у самих пользователей. По этой причине попытка прослушать или просмотреть файл в форматах MP3, WMA, WMV, MOV (Quicktime), Flash или воспроизвести защищенный DVD приведет к появлению сообщения о том, что такого кодека нет в системе. Это не означает, что такие файлы невозможно проиграть. Все остальное доступно из репозитария, система APT позволяет быстро установить все самое необходимое. Трудно сказать, какие именно пакеты необходимы, так как в различных версиях и релизах дистрибутива используются разные приложения. Например, в Kubuntu за просмотр видео отвечает Kaffeine, а музыку слушают с помощью Amarok, а в Ubuntu это Totem и Rhythmbox, поэтому устанавливаемые пакеты для них будут разными. Например, чтобы включить поддержку большинства форматов в Kaffeine (и слушать музыку с его помощью), достаточно установить следующие пакеты:

$ sudo apt-get –f install libXine-extracodecs libakode2-mpeg libarts1-Xine libarts1-mpeglib w32codecs

В этом случае будет также возможен предварительный просмотр видео и аудио в файловом менеджере Konqueror, включить который можно, выполнив команду Вид → Предварительный просмотр → Видеофайлы и Звуковые файлы (рис. 3.1).

Рис. 3.1. Активация предварительного просмотра в Konqueror

Поддержка MP3 в программе для записи дисков K3b реализуется также с использованием пакета libk3b2-mp3, а в проигрывателе JuK – libakode2-mpeg и libarts1-mpeglib. При установке видеопроигрывателей MPlayer и VLC нужные кодеки появятся в системе автоматически.

Во многих коммерческих DVD для шифрования использован алгоритм CSS (Content Scrambling System – система шифрования контента); чтобы иметь возможность просматривать в Kubuntu такие диски, требуются пакеты libdvdcss2 и libdvdread3. Поддержка Flash реализована в пакете flashplugin-nonfree. Для того чтобы новый плагин увидел Konqueror, необходимо выполнить команду Настройка → Настройка Konqueror, затем выбрать страницу Модули, где нажать кнопку Искать новые модули.

Ubuntu все-таки не зря переводится как «гуманность к людям». Для упрощения поиска кодеков пользователями этого дистрибутива сторонними разработчиками были созданы две утилиты. Это EasyUbuntu (рис. 3.2), сайт проекта которой находится по адресу http://easyubuntu.freecontrib.org/. Эта утилита позволяет установить самые популярные сегодня несвободные кодеки и плагины, включающие поддержку DVD, Windows Media, Quicktime, Midi, Java, Flash, Skype, архивов RAR, 7-zip, Ace, закрытых драйверов для карт ATI и NVIDIA, и добавить в систему некоторое количество шрифтов.

Рис. 3.2. Интерфейс EasyUbuntu

EasyUbuntu есть в репозитарии, поэтому устанавливаете одноименный пакет, находите ярлык в меню К или вводите в консоли easyubuntu. После ввода пароля появится окно утилиты. Необходимо просто отметить необходимые пункты, соединиться с Интернетом и нажать ОК. Все остальное EasyUbuntu сделает сама.

Вторая утилита называется Automatix, сайт проекта http://www.getautomatix.com/, назначение аналогично, только выбор приложений на порядок больше (в зависимости от платформы и версии Ubuntu их 30–54). Automatix также имеет графический интерфейс, поэтому работать с ней просто.

Следует отметить появление проекта Medibuntu (сокращение от Multimedia, Entertainment & Distractions In Ubuntu – мультимедиа, развлечения и отвлечения в Ubuntu), расположеного по адресу http://www.medibuntu.org/. Этот проект предоставляет репозитарий, в котором можно найти все кодеки и приложения, не включенные в репозитарий Ubuntu по юридическим причинам. Для того чтобы менеджер пакетов Ubuntu узнал о нем, необходимо выполнить следующие команды:

$ sudo wget http://www.medibuntu.org/sources.list.d/feisty.list

–O /etc/apt/sources.list.d/medibuntu.list

$ wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O– |

sudo apt-key add – && sudo apt-get update

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

Информация о том, какие пакеты необходимо установить для поддержки несвободных форматов в той или иной версии дистрибутива, дана на https://wiki.ubuntu.com/RestrictedFormats.

Видеопроигрыватель MPlayer

Это одно из самых известных решений по причине его мощной функциональности. Его разработку начал в 2000 году венгр Арпад Герефи (Arpad Gereöffy), некоторое время это был проект одного человека, но постепенно к нему присоединялись другие разработчики изо всех стран мира. Сайт проекта размещен по адресу http://www.mplayerhq.hu/. Изначально MPlayer был ориентирован на поддержку максимального количества аудио– и видеоформатов, и сегодня их список впечатляет. Это CD, DVD, Video CD, файлы AVI, ASF/WMV/WMA, QT/MOV/MP4, RealMedia, Ogg Vorbis, Matroska и другие, записанные с видеокодеками DivX, MPEG-1, MPEG-2, MPEG-4, WMV, RealVideo, x264 и аудиокодеками MP3, Vorbis, RealAudio, AC3/A52 (Dolby Digital), AAC, QuickTime, WMA, а также многими другими. Поддерживается потоковое воспроизведение через HTTP/FTP, RTP/RTSP, MMS/MMST, MPST и SDP. Отдельная утилита MEncoder обеспечивает захват и запись телевизионного сигнала и кодирование файлов в различные форматы. Большинство аудио– и видеоформатов поддерживаются свободной библиотекой libavcodec, выпускающейся для MPlayer. Этой библиотеки, использующей код другого проекта FFmpeg, и ее возможностей вполне достаточно для воспроизведения DVD и файлов в различных форматах. Поддержка закрытых форматов реализована за счет подключения внешних DLL. Для добавления нового формата необходимо скопировать нужный кодек с расширением DLL в каталог /usr/lib/codecs и перезапустить проигрыватель. Поддерживаются вывод внешних субтитров в 12 форматах (MicroDVD, SubRip, OGM, SubViewer, Sami, VPlayer, RT, SSA (а также ASS), AQTitle, JACOsub, PJS и свой собственный MPsub) и субтитры DVD (потоки SPU, VOBsub и Closed Captions), представленные в различных кодировках, в том числе и кириллической.

Первое время MPlayer был доступен исключительно в виде исходных кодов, и пользователи были вынуждены компилировать его самостоятельно. Сегодня одноименный пакет можно найти в репозитарии любого дистрибутива. Работает он не только в Linux, но и в большинстве современных операционных систем, в частности MPlayer можно запустить в Linux, FreeBSD, NetBSD, OpenBSD, Darwin, Mac OS X, BeOS, QNX, Solaris, Irix, HP-UX, AIX и других разновидностях UNIX, а также есть версии для Microsoft Windows и порты для AmigaOS, AROS и MorphOS. Для вывода изображения MPlayer может использовать самые разнообразные устройства – X11, Quartz Compositor, DirectX, VESA, SDL, VIDIX, DGA, Framebuffer, GGI, включая такое своеобразное устройство вывода, как ASCII-Art и Color ASCII-Art, то есть имеется возможность смотреть видео в чистой консоли или вообще в текстовом режиме. Стандартная консольная версия не имеет графического интерфейса – все управление осуществляется с помощью клавиатуры или пульта дистанционного управления (если настроен пакет LIRC (Linux Infrared Remote Control – дистанционное инфракрасное управление), http://www.lirc.org/). В этом режиме на экране отображается только окно с воспроизводимым видео. Для воспроизведения фильма в таком варианте достаточно ввести в консоли mplayer имя_файла. Дополнительно в консоль будет выводиться информация о загруженном файле, используемых кодеках, количестве пропущенных кадров и прочее.

Возможность просмотра видео в консоли при помощи MPlayer не осталась незамеченной. Существуют специальные дистрибутивы вроде GeeXboX (http://www.geexbox.org/en/index.html), MoviX (http://movix.sourceforge.net/) и другие. В этих дистрибутивах удалено все лишнее, начиная от авторизации пользователя до запуска ненужных сервисов, и оставлено только то, с помощью чего можно посмотреть фильм и послушать музыку. Поддерживаются все популярные форматы, в том числе и трансляции потокового видео и аудио. Принцип их работы следующий. Вначале создается загрузочный диск, содержащий операционную систему, туда же помещаются выбранные фильм и музыка. После этого компьютер загружается с этого диска, и пользователь может смотреть видео и слушать музыку.

Графические оболочки к MPlayer

В MPlayer есть и графические оболочки. После установки в Kubuntu пакетов mplayer и mplayer-skins в меню, появляющемся после выполнения команды K → Мультимедиа, появится пункт MPlayer Media Player, выбор которого приведет к запуску MPlayer с графической оболочкой (рис. 3.3).

Рис. 3.3. Графическая оболочка GMPlayer

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

Есть также решения сторонних разработчиков, улучшающие внешний вид и функциональность MPlayer. Например, это проигрыватель KMPlayer (Konqueror Media Player), разрабатываемый проектом KDE (http://kmplayer.kde.org/), появившийся как модуль к файловому менеджеру Konqueror, а затем превратившийся в самостоятельное решение (рис. 3.4).

Рис. 3.4. Интерфейс KMPlayer

Вероятно, поэтому он хорошо интегрируется в эту среду. В отличие от GMPlayer, интерфейс KMPlayer локализуется вместе с рабочей средой, его внешний вид соответствует используемой теме оформления, меню стандартно для приложений KDE, и многие настройки (например, прокси-сервера) берутся прямо из Konqueror. Выполнив команду Настройка → Настроить KMPlayer, можно обнаружить, что за простотой оформления скрываются большие возможности. Так, кроме MPlayer, он может выводить видео, используя библиотеки других проигрывателей (Xine и Gstreamer), захватывать видео с ТВ-тюнеров, используя MEncoder, FFMpeg, Xine и MPLayer, автоматически воспроизводить Video CD или DVD, выводить видео и аудио, используя различные драйверы, и многое другое. Для часто посещаемых ресурсов прямо из кода можно составлять закладки. Здесь можно найти все стандартные функции, присущие проигрывателям, – изменение размера экрана, поддержку плейлистов в различных форматах, в том числе и транслируемых через RSS, и прочее. Для установки KMPlayer в Kubuntu достаточно ввести sudo apt-get install kmplayer.

Kaffeine (http://kaffeine.sourceforge.net/) – это видеопроигрыватель, который используется в Kubuntu по умолчанию (рис. 3.5). Он, как и KMPlayer, хорошо интегрируется в среду KDE, при желании его значок можно встроить в панель и управлять им оттуда. В настройках по умолчанию для вывода используется библиотека xine-lib, но при необходимости это может быть и MPlayer, а с версией 0.7 разработчики добавили поддержку и GStreamer.

Рис. 3.5. Окно Kaffeine

Следовательно, Kaffeine теперь поддерживает три наиболее популярных движка для вывода видео и по возможностям не уступает KMPlayer. Выбрать нужный движок можно выполнением команды Настройка → Движок вывода; если установлена нужная программа или библиотека, появится соответствующий пункт. Поддержка такого количества движков приводит к тому, что с воспроизведением файлов в различных форматах и кодеков у Kaffeine нет проблем. Это может быть звуковой или видеофайл, потоковое вещание, DVD, Video CD, Аудио CD, DVB (Digital Video Broadcasting – цифровое видеовещание) и другие. При работе с DVB-картами это самое удобное приложение.

При помощи Kaffeine можно также захватить аудиодиск, DVB и потоковое вещание, сохранив информацию в файл на жестком диске. Файл или поток, воспроизводимый при помощи Kaffeine, можно транслировать в локальную сеть. Для этого необходимо выполнить команду Файл → Сетевое вещание → Транслировать поток и указать номер порта, на который будет отсылаться информация. Поддерживается работа с плейлистами, их экспорт и импорт. При установленном флажке Autodownload covers (Автозагрузка обложек) Kaffeine будет самостоятельно скачивать обложки проигрываемых альбомов. Параметры пункта Опции выхода в меню Файл позволяют автоматически выключать компьютер или закрывать проигрыватель по окончании воспроизведения. При запуске проигрывателя не щелчком на файле, а из меню К появится окно, в котором можно выбрать действие (см. рис. 3.5).

Видеопроигрыватель Totem (рис. 3.6) (http://www.gnome.org/projects/totem/), в отличие от предыдущих, построен специально для среды GNOME (хотя его можно запускать и, например, в KDE) и, начиная с версии 2.10, официально входит в ее состав. Хорошо интегрируется в GNOME и файловый менеджер Nautilus. Для вывода видео используются библиотеки GStreamer, но вместо них можно подключить Xine. С его помощью можно просмотреть видеофайлы во многих стандартах, DVD, VCD, CD и потоковое вещание. Поддерживаются плейлисты, вывод видео на несколько мониторов, ТВ-выход видеокарты, субтитры, мультиканальный звук, дистанционное управление при помощи LIRC, различные эффекты при воспроизведении аудиофайлов, предосмотр видеофайлов и многое другое. Есть плагин для веб-браузера Mozilla.

Рис. 3.6. Окно видеопроигрывателя Totem

По умолчанию Totem используется в качестве проигрывателя в дистрибутиве Ubuntu. Чтобы увидеть его в Kubuntu, следует выполнить команду sudo apt-get install totem.

Видеопроигрыватель Xine

Хine – это видеопроигрыватель, основная функциональность которого заключается в разделяемой библиотеке хine-lib, которая поддерживает многочисленные фронт-энды. Разработчики предагают только один из них – хine-ui (рис. 3.7). При этом номера хine-lib и хine-ui часто не совпадают, но это не должно пугать. Другими словами, проигрыватель имеет модульную конструкцию, его графическая оболочка отделена от программы воспроизведения, что позволяет использовать альтернативную. Любой новый кодек можно добавить на лету, при каждом запуске приложение обновляет их список.

Рис. 3.7. Cкин по умолчанию в xine-ui

В Kubuntu для установки используйте пакет хine-lib и один из понравившихся фронт-эндов, найти которые можно, введя sudo apt-cache search хine. Это могут быть пакеты хine-ui, gхine, oхine (целый медиацентр на его базе) или любой проигрыватель, о котором говорилось ранее. Как вы уже видели, библиотеку хine-lib используют во многих подобных проектах. Хотя Xine при воспроизведении некоторых форматов также требует сторонние библиотеки, как, например, liba52, libmpeg2, FFmpeg, libmad, FAAD2, и для доступа к зашифрованным Video DVD – libdvdcss. Как и в MPLayer, поддержка остальных форматов может быть реализована путем подключения двоичных кодеков. Стоит также отметить, что Xine отлично работает с потоками MPEG2-TS, которые используются при кодировании сигналов спутникового ТВ, получаемого с DVB-карт (тот же MPlayer приходится перезапускать каждый раз при переключении каналов).

Официальный сайт проекта расположен по адресу http://xinehq.de/. Проект возник в 2000 году, когда его основатель Гюнтер Бартш посетил LinuxTag (ежегодная выставка, посвященная свободным продуктам, проходящая в Германии), где познакомился с процессом воспроизведения DVD в Linux. В то время это был настоящий кошмар для пользователя данной системы. До версии 0.5 проигрыватель работал нестабильно, но после его стали рекомендовать пользователям. Одним из несомненных достоинств этого проигрывателя является возможность вручную замедлять (клавиша N) и ускорять (M) аудиопоток по отношению к видеопотоку.

После установки, особенно если она производилась из исходных текстов, чтобы не настраивать все параметры вручную, желательно запустить утилиту хine_check, которая поможет автоматически сделать все настройки, необходимые для нормальной работы программы (сервер звука, видеодрайвер и так далее). После этого можно запускать программу. Внешний вид интерфейса, идущего в комплекте, можно изменить с помощью скинов. Сделать их доступными для программы можно, распаковав полученный архив в $prefix/share/xine/skins (установив права 755) или лучше – в $HOME/.xine/skins. Проигрыватель работает со всеми возможными форматами файлов, а также с различными видео– и аудиокодеками. Возможен также запуск с различными драйверами аудио (OSS, ALSA, aRts и другие) и видео (Xvideo, XShm, OpenGL, SDL, ASCII Art library, Syncfb, framebuffer), имеющимися в Linux. При запуске в командной строке программе можно передать некоторые параметры и просмотреть результат ее работы, включая возможные ошибки и количество выпавших кадров. Например, параметр -A позволяет задать используемый аудиодрайвер, и иногда после запуска, если перед этим его неправильно установили в параметрах, Xine заканчивает работу. В случае если вы не знаете вообще, какой драйвер может использоваться, можно набрать -A null и затем установить его при помощи настроек. Аналогично этому для видео есть параметр -V. Все значения затем автоматически записываются в конфигурационный файл ~/.Xine/config. Параметр -f позволяет запустить воспроизведение сразу в полноэкранном режиме, -g – спрятать графическую оболочку после старта, -B выводит окно без рамки вокруг, -p запускает воспроизведение сразу после активации, а параметр -G WxH[+X+Y] позволяет задать размер и положение окна просмотра. Например, хine -G 800x600 установит размер окна 800 x 600 пикселов, а если запустить проигрыватель с параметром -n, появляется интересная возможность управлять Xine через сеть. Для реализации этого необходимо создать файл ~/.Xine/passwd и в нем добавить строки, разрешающие пользователям подключаться, иначе вы получите сообщение вроде «ERROR: there is no password file for network access.!». В самом общем случае там может быть прописана строка ALL:ALLOW, разрешающая управление всем пользователям. Теперь в файл /etc/services добавьте следующую строку:

Xinectl 6789/tcp # Xine control

Для подключения к Xine по сети следует использовать программу telnet.

$ telnet localhost 6789

Теперь для получения списка доступных команд введите help, а об используемых далее командах можно узнать, набрав help название команды или syntax название команды.

Есть еще один интересный параметр – MRL (media resource locator – локатор медиаресурсов). Запустив с ним Xine, можно передать в него видеофайл, набрав путь к нему в строке web-браузера: file://<путь>, fifo://<путь>, stdin://mpeg2, tcp://<узел>:<порт>, http://<узел>, vcd://<номер дорожки>. Это удобная возможность смотреть видео через Интернет.

Xine можно управлять с помощью комбинаций клавиш. Перезакрепить их можно в файле ~/.xine/keymap, который имеет вполне понятную структуру. Необходимо учитывать, что клавиша расширения соответствует Alt на клавиатуре. Кроме вышеперечисленных конфигурационных файлов, чтобы не задавать каждый раз аргументы в командной строке, можно использовать дополнительно файл ~/.xine/xinerc, например:

–geometry 800x600+0+0

–network

–hide-gui

–p

Теперь при запуске Xine программа запустится в окне размером 800 х 600, включится сервер удаленного управления и автоматически – воспроизведение видеофайла без графической оболочки.

Музыкальные проигрыватели

Большая часть программ, о которых говорилось выше, без проблем воспроизводят музыкальные файлы и диски, однако удобнее использовать специальные приложения и утилиты для этих целей. Здесь, как и в случае с видео, выбор очень широк. Поиск в репозитарии по запросу sudo apt-cache search sound выдаст большое количество приложений. Так, на слабых компьютерах (начиная от процессора i486) для воспроизведения MP3 можно использовать консольную утилиту mpg123 (http://www.mpg123.org/) или ее аналог mpg 321 (http://mpg321.depooter.org/project/). Достаточно перейти в каталог, в котором находятся такие файлы, и выполнить команду mpg123 ./*.mp3. Все файлы, находящиеся в нем, будут воспроизведены. Несмотря на кажущуюся простоту, это мощные утилиты. Кстати, многие проигрыватели, в том числе и Winamp, используют mpg123 для воспроизведения MP3-файлов. Для файлов Ogg Vorbis есть аналогичная утилита – ogg123. Существуют консольные утилиты, имеющие псевдографический интерфейс. Например, mp3blaster (http://mp3blaster.sourceforge.net/), диалоговая программа с простым интерфейсом (рис. 3.8), умеющая воспроизводить аудиофайлы не только формата MP3, но и Ogg Vorbis, WAV и SID.

Рис. 3.8. Окно mp3blaster

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

В качестве альтернативы mp3blaster могут выступать playmp3list (сайт http://rucus.ru.ac.za/~urban/projects/playmp3list/) или MOC (Music On Console, http://moc.daper.net/), являющиеся неплохими консольными фронтэндами для mpg123. Проигрывателю PyTone (http://www.luga.de/pytone/

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.