15 лет назад 18 августа 2009 в 17:43 847

Прошедший 2008 год был интересным для мира OpenSource вообще и Linux в частности. Стивен Фрай, гомосексуалист с преступным прошлым (если верить ему, конечно. Лучше, наверное, все же верить) и официальное национальное достояние Англии в настоящем, рассказывает в камеру о прелестях свободного программного обеспечения (будем надеяться, что на том MacBook Air стоял gNewSense, который рекомендовал г-н Фрай). Происходит бум нетбуков, Android и WebOS от Palm, Google Chrome и Firefox продолжают завоевывать сердца домохозяек, Jabber спасает нас во времена одиночества, и т. д. Nokia покупает Trolltech. Все больше новых программ появляется в версии и для Linux тоже: готовится Google Chrome, а недавно вот вышла знаменитая инди-игрушка World of Goo. Крупнейшие дистрибутивы Linux продолжают расти: Fedora окончательно становится полигоном для всего Linux-сообщества, а описание функций для каждого следующего ее релиза интригует все больше; Ubuntu, пусть и не столь радующий изобилием новшеств, но лоснящийся и жиреющий, оборачивает все самое вкусное, что есть в мире открытого ПО, в красивую обертку для конечного пользователя; openSuSE пытается угнаться за обоими.

Первый релиз новой серии: Пока действительно страшно, но все еще впереди
Первый релиз новой серии: Пока действительно страшно, но все еще впереди

2009 год тоже начался достаточно занятно. Вон Debian недавно вышел новый. Наверно, это хорошая идея – выпустить свежую версию дистрибутива в День святого Валентина – даже на моем любимом Linux.org.ru все комментарии к новости были полны любви и обожания: фанаты Arch Linux пришли с поздравлениями (у них вскоре после этого тоже обновился установочный диск, пусть это и не столь значимое событие даже для них самих), убунтовцы оказали должное уважение своим корням, гентушники и слаководы даже как-то особенно уважительно промолчали. Сообщество вовсю работает над весенними релизами Fedora 11 и Ubuntu 9.04. Как водится, по весне линуксоидов тянет на подвиги – это осенью убунтовцы не рискнули включить в состав диска 3-й OpenOffice.org. А сейчас все рвутся в бой, собираясь опробовать новую версию популярной файловой системы, Ext4.

И только одно не дает всем покоя: какой графический интерфейс захватит умы и сердца линуксоидов в 2009 году? Может, ничего не изменится, и продолжится триумфальное шествие GNOME? Посмотрим на планы разработчиков. Что готовит мартовский релиз 2.26? Наконец-то программописатели попытаются интегрировать PulseAudio и PolicyKit? О, я в восторге. Новая темная визуальная тема? Этого стоило ждать полгода. Более того, лично мне кажется очень показательным, что даже старый релиз, GNOME 2.22, был признан недостаточно стабильным для недавнего Debian 5.0 – в него вошла сборная солянка из пакетов 2.22 и 2.20. И это после того, как для этой ветки появилось три официальных обновления с исправлениями ошибок? Но, вероятно, раз я так иронизирую, я знаю о какой-то альтернативе? В общем-то да. Читатель, который начал свое знакомство с Linux хотя бы пять лет назад, возможно, помнит, что далеко не всегда GNOME был так популярен, не всегда он предлагался в качестве стандартного выбора в большинстве дистрибутивов и не всегда считалось, что вот оно – наше «все», стабильный десктоп, в который осталось лишь напихать то, что называется «eye candy». Когда-то лидером был KDE. А что сейчас?

Избавившись от болячек предыдущей версии, эта была почти пригодна...
Избавившись от болячек предыдущей версии, эта была почти пригодна…

Думаю, сейчас я, скорее всего, услышу: «Да, в GNOME мало новшеств. Но лучше так, чем как четвертые «кеды». За прошедший год многие успели потерять последние остатки веры в дело проекта KDE. Даже Линус Торвальдс, некогда самый известный поклонник этого интерфейса, клеймивший GNOME в излишней упрощенности (мол, рассчитываете на пользователей-идиотов – их и получите. Да и сами вы, ребята, дураки, и шутки у вас дурацкие), ныне посылает потоки нечистот в сторону своей былой любви. И пересел, что особенно забавно, на GNOME. И успел со свойственной ему категоричностью заявить об этом. Почему так произошло? Интересно было бы приступить непосредственно к обзору свежевышедшего KDE 4.2, но сначала я считаю необходимым проанализировать предысторию вопроса и, возможно, попытаться развеять некоторые предубеждения и мифы.

Давайте вернемся назад во времени. В 2002 году выходит KDE3; мы видим начало новой серии, расцвет проекта. Появляются лучшие приложения – музыкальный плеер Amarok, равных которому до сих пор почти нет (и даже новый Amarok 2, по мнению многих, не всегда может достичь того же уровня), прожигатель дисков K3B (а вот его до сих пор не может переплюнуть никто). В конце концов, для своего браузера кадээшники создают собственный движок, Khtml, из которого родится Webkit для этих ваших Safari и Chrome. А что за браузер они сделали! Konqueror, звезда в мире файловых менеджеров и интернет-обозревателей (именно так, в одном лице), мог все и вся, и даже больше. Но в ноябре 2005 года вышло последнее крупное обновление среды – KDE 3.5, и вот тут начался спад. Разработчики поняли, что порой тянут за собой решения и код чуть ли не из самого 1998 года (года первого публичного выпуска) и что если и дальше пытаться латать устаревающую базу, то все равно в итоге не получится то, что требуется, – современный, красивый и функциональный рабочий стол, актуальный на фоне выхода Windows Vista и успеха в связи с этим Mac OS X. И было принято решение: все к чертям, пишем заново – масштабно и безоглядно. И вот на этом пути было совершено множество ошибок, из-за которых проект и отдал значительную часть своих поклонников GNOME и другим графическим (и не очень) средам. Но так начался KDE4.

Отсель грозить мы будем шведу
Разработчики часто использовали именно этот термин – «KDE4». Это не какая-то конкретная версия, скорее стадия развития, путь к нирване, что ли. Мол, вот когда сделаем что-то адекватное, то и скажем: «Вот он, KDE4», а все, что до того, – лишь долгая дорога к этому самому KDE4. Вот тут-то и произошло первое непонимание.
В январе 2008 года вышел KDE 4.0. Разработчики четко дали понять: стоп, ребята, это еще не KDE4, то есть «не готово». Создатели дистрибутивов все поняли и остались на старой, 3-й ветке. Только вот дело близилось к весне, потому в стане Fedora ребятам опять захотелось погорячее. И мало того, что в 9-ю версию попал KDE 4.0, так еще и проверенный временем KDE 3.5 выбросили. Вслед за ним Ubuntu 8.04 был выпущен в двух вариантах – с KDE 4.0 и с KDE 3.5. Пользователи оказались в недоумении: версия у KDE вроде взрослая, без «альф», долгих дробей и прочих оговорок, в дистрибутивы вроде попала – почему бы не попробовать? Попробовали. Поняли, что дело – дрянь: ошибок много, с видеокартами не дружит, половины приложений и функций нет. Ждали openSuSE 11.0. Ребята честно сказали: «KDE 4.0 дадим, но только если хотите многих приключений». Все сказали: «Да, хотим». Обозреватели дружно отрапортовали: «Лучший KDE – в openSuSE 11! Все туда!» Все ломанулись посмотреть: традиционно зюзеводы долго и тщательно вылизывают KDE, потому на них очень надеялись. Вышла опять гадость. Ну а раз даже зюзеводы подвели, значит, все потеряно.

Как молоды мы были: KDE 3.5 в дистрибутиве SLAX
Как молоды мы были: KDE 3.5 в дистрибутиве SLAX

А на самом деле разработчики KDE просто не объяснили одну вещь: KDE 4.0 – это proof-of-concept, первый взгляд на то, что есть нового и интересного в новой серии, но переходить на него с KDE 3.5 и ждать хотя бы того же уровня по меньшей мере глупо. Может, они и не хотели этого говорить – типа пускай тестируют. Сложно сказать. Кто-то понял: KDE 4.0 – это не KDE4, ждем следующий релиз. И он приходит, в конце июля, 4.1, – следующая ошибка. Обещали исправления багов – ошибки исправили, не вопрос. Вот только для того, чтобы заменить KDE3, этого было недостаточно. Во-первых, ошибки поправили явно не все. Во-вторых, не было многих важных программ: не вышел Amarok 2, K3B 1.1, digiKam 0.10, Koffice 2. Не было нормальной поддержки NetworkManager. В итоге оказывается, что среда-то новая, а все равно приходится тянуть кучу пакетов из KDE3. Ну а поскольку программы для новой среды не адаптированы, то все новшества, обещанные разработчиками, не видны.

В общем, скучно. Кроме того, мешанина из двух сред приводила к полному бардаку, визуальному, эргономическому и функциональному. И хотя разработчики опять сказали, что и это не KDE4, началось веселье. Дистрибутивы начали переходить на KDE 4.1 окончательно, отбрасывая в большинстве случаев KDE 3.5 полностью. В итоге пользователи KDE были поставлены перед выбором: либо продолжать сидеть на старых версиях дистрибутивов, либо переходить на другие среды – что многие и сделали. Так, небезызвестный дедушка Линус, будучи приверженцем Fedora, мог использовать либо KDE 4.1 в 10-й версии дистрибутива, либо же KDE 3.5.10 в уже неподдерживаемой к тому времени «восьмерке». В итоге дедушке пришлось перейти на GNOME и учиться ворчать на новый лад. В целом же благодаря всему этому к мнению пользователей о том, что KDE4 не может быть стабильным, прибавилось новое негативное впечатление: KDE4 не может быть функциональным.

И вот в конце января уже нового года вышел KDE 4.2. Разработчики повесили многозначительный баннер «Breathe», это таки KDE4. То есть программисты объявили, что в этой ветке они, во-первых, добились стабильной базы для последующих разработок, и во-вторых, реализовали определенный набор интересных функций и довели новые приложения до должного уровня. То есть в понимании разработчиков пользователи KDE 3.5 должны были переходить не на 4.0, не на 4.1, а именно на этот релиз – в итоге, конечно, получается несколько иначе. На KDE 3.5 остались настоящие консерваторы, и они скорее сделают форк третьей ветки, чем пересядут на KDE4. Те, кому все это могло бы быть интересно, перешли на другие среды.

Наши дни
Давайте же посмотрим, ради чего разработчики пошли на такой риск? В чем заключается суть KDE4? Какие новые приложения представили нам в новых релизах, что сделали со старыми? Начнем с новых технологий: попробуем перечислить все то, что было так важно реализовать должным образом. Во-первых, конечно, Qt, точнее, переход на Qt4 – сердце KDE с самого начала проекта. Как правило, Qt преподносится как графическая библиотека, на основе которой можно создать интерфейс программы. Именно она определяет вид и поведение всех этих кнопочек, списков и других элементов. Более того, от нее зависит и то, как приложение будет выглядеть в чуждом окружении, – например, как Qt-программа будет подстраиваться под среду GNOME. Все это верно, но этим роль Qt не заканчивается: в состав Qt также входит куча различных библиотек, реализующих всевозможные функции, начиная от взаимодействия с базами данных и заканчивая OpenGL. Среди этих библиотек, например, имеется QtWebKit – модуль, открывающий Qt-приложениям доступ к этому движку. Qt – библиотека, используемая и создателями проприетарных программ: так, например, она применяется в официальных клиентах Last.FM, Skype, Google Earth. Не так давно компания-разработчик Qt, норвежская Trolltech, была куплена мобильным гигантом Nokia с явным намеком продвигать продукт с помощью своих моделей.

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

Важный компонент Qt – Phonon. Этот модуль позволяет Qt-программам быть независимыми от конкретной мультимедийной платформы, например xine, GStreamer, QuickTime, DirectShow. Благодаря ему программа может легко переключать движки, а разработчик может писать приложение, не задумываясь о том, как реализуется воспроизведение на конкретной платформе. Solid – разработанная для KDE4 платформа управления устройствами. Подобно Phonon, она не занимается взаимодействием с самими девайсами, но выступает в роли прослойки между приложением и существующими решениями для управления железом, будь то HAL, NetworkManager или BlueZ. Solid осуществляет, например, управление сменными носителями в KDE, а также позволяет Phonon работать с мультимедийными устройствами. В будущем Solid должна научиться взаимодействовать и с подсистемами Windows.

Amarok 1.4.10 – последний стабильный релиз предыдущего поколения
Amarok 1.4.10 – последний стабильный релиз предыдущего поколения

Plasma – новый инструментарий, используемый сейчас для большинства элементов рабочего стола KDE: панелей, меню, иконок. Помимо того, с помощью Plasma можно создавать маленькие приложения – апплеты (или плазмоиды) – и помещать их на рабочий стол. В этом смысле Plasma заменяет SuperKaramba и ряд других компонентов KDE, однако ее роль существенно больше. Помимо собственных апплетов, которые можно написать на самых разных языках сценариев (благодаря платформе Kross), имеется возможность работы с апплетами SuperKaramba, планируется поддержка виджетов Opera, Google Gadgets, а также апплетов для Dashboard в Mac OS X.
Nepomuk. На самом деле Nepomuk – это спецификация технологии так называемого семантического рабочего стола, разработанная при поддержке Евросоюза. И одна из главных реализаций этой системы представлена именно в KDE. Именно она позволяет создавать вокруг различных объектов метаданные, доступные различным приложениям, например теги, рейтинги и комментарии к файлам. Также благодаря Strigi, инструменту индексации данных, возможен поиск файлов не только по привычным параметрам, но и по всем этим новым видам атрибутов.

Amarok 2.0.1 – вторая молодость одного из лучших аудиоплееров для Linux
Amarok 2.0.1 – вторая молодость одного из лучших аудиоплееров для Linux

Oxygen. Первоначальной задачей проекта было просто создание новых иконок, но впоследствии это переросло в нечто куда более масштабное. Во-первых, был совершен переход от мультяшных иллюстраций 3-й серии к фотореалистичным вариантам. Во-вторых, в рамках проекта родились не только серия иконок, но и полноценная тема оформления и руководство по стилевому оформлению. Akonadi – платформа для хранения личной информации. В сущности это общее хранилище данных для всех приложений: адресных книг, почтовых клиентов, планировщиков. Единый формат данных и система работы с ними – все это позволит PIM-программам в KDE тесно интегрироваться друг с другом.

Есть еще множество технологий той или иной степени значимости, о которых можно было бы рассказать: Flake, Sonnet, Decibel, KHTML+KJS, KSVG, но мне кажется, что наиболее важные вещи я уже осветил. Что, впрочем, нисколько не умаляет важность остальных компонентов KDE4. Зачем все это нужно? Дело в том, что традиционно у KDE имеются две основные сильные стороны: настраиваемость и полная интегрированность приложений. И именно ради второй (а также для удобства разработчиков) создавались все эти технологии. Сложно объяснить словами, что такое рабочее окружение, представляющее собой единое целое, а не набор разрозненных утилит, – это когда пароли, которые нужны программам (почтовому клиенту, браузеру, менеджеру беспроводных сетей), хранятся в одном брелке; когда браузер для скачивания файлов использует специальное приложение, а не пытается вдобавок к своей основной работе реализовать необходимый для этого функционал; RSS-потоки со страниц автоматически скармливаются агрегатору, а адреса передаются почтовику. И для всего этого не нужно искать и устанавливать какие-то плагины, расширения. В конце концов, это когда даже визуально программы составляют стилистическое единство.

Давайте сразу оговорим один момент: есть приложения, которые просто используют Qt как графический инструмент, а есть KDE-приложения, то есть адаптированные для работы именно в этом окружении. Существуют Jabber-клиент Psi, видеоплеер VLC, браузер Arora – функциональность этих продуктов не изменится в зависимости от того, в какой среде они используются. А вот KDE-программы – особенно те, что входят в состав самого KDE, – наиболее эффективны именно в своей среде. И лично я бы предпочел KDE-приложение аналогичной GNOME-сборке или хотя бы просто Qt-решению: визуального единства в такой смешанной среде можно добиться, а вот функционального – нет.

Почем опиум для народа?
Как посмотреть все это счастье в действии? Пакеты KDE 4.2 потихоньку добираются до дистрибутивов. В Fedora 10 они уже прошли в обновлениях, в Kubuntu 8.10 они доступны в экспериментальном разделе, точно так же и в Debian. В Arch Linux (и производном от него проекте Chakra) пакеты KDE 4.2 появились даже раньше официального анонса. Но суть в том, что пока прошло слишком мало времени, чтобы какую-либо из существующих сборок можно было признать достаточно качественной, чтобы по ней судить о состоянии проекта. В этом отношении стоит ждать Fedora 11, Kubuntu 9.04, Mandriva 2009.1 – все они появятся ориентировочно в апреле. Дистрибутив openSuSE 11.2 еще вроде не определился с датой, но он, скорее всего, выйдет после KDE 4.3, то есть ближе к осени, так как расписание релизов у этого дистрибутива плавающее. Пользователям Debian придется ждать: пакеты уже есть в разделе Experimental, вот-вот перейдут в Unstable, а затем и в Testing. Осталось только решить, как осуществить переход KDE3 > KDE4, – общая проблема в общем-то. Пользователи Arch Linux получили новую версию сразу после релиза, в тестовый раздел пакеты попали на несколько дней раньше благодаря особо продвинутой «машине времени».

Если вы предпочитаете подождать, пока не выйдет свежая версия вашего дистрибутива с новыми пакетами, то для вас – вторая часть статьи, в которой я проведу обзор некоторых новшеств релиза. В качестве тестовой платформы я поставлю сразу два дистрибутива, Fedora 10 и Kubuntu 8.10 с подключенными репозиториями для пакетов KDE4 (можно было бы установить альфа-версию 9.04, но тогда к проблемам KDE добавились бы еще проблемы самой «Убунты»), чтобы исключить ситуации, когда ошибки конкретной сборки валят на разработчиков самой программы. Можно было бы, конечно, поставить openSuSE, что обычно и делается для тестирования, но я лично почему-то психологически несовместим с этим дистрибутивом. Кроме того, то, что я увидел бы в нем, возможно, не было бы верно для остальных дистрибутивов, так как разработчики openSuSE обычно капитально переделывают оригинальные программы.

Также стоит сразу оговорить цели тестирования. Хочется посмотреть все описанные новшества в действии, взглянуть на новые программы, а также оценить готовность среды к повседневному употреблению. Мы постараемся зацепить как можно более широкий круг вопросов, однако не будем касаться чисто профессиональных, таких как предоставленный разработчикам инструментарий и тому подобное. Речь пойдет о том, что нужно обычному пользователю. Ему необходим рабочий стол, с помощью которого можно посмотреть кино, послушать музыку, полазить по интернету и воспользоваться его благами. Заодно такому юзеру не помешало бы красивое оформление, удобный и понятный функционал, да и вообще фичи, позволяющие почувствовать себя человеком… Вот и поговорим в следующий раз, насколько способен удовлетворить эти потребности последний релиз KDE.

Продолжение следует…

Никто не прокомментировал материал. Есть мысли?