На пути к Linux-десктопу

20 декабрь, 2006 - 16:44Андрій Кухар

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

Среди преград к настольной адаптации ОС Linux можно выделить следующие:

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

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

Интерфейс в стиле Tango

На пути к Linux-десктопу
На пути к Linux-десктопу
GNOME до применения пиктограмм Tango и после

Оснащение сегодняшней «свободной» системы более или менее стандартно – это офисный пакет OpenOffice.org, Web-браузер Mozilla Firefox, почтовый клиент Evolution, файловый менеджер Konqueror и т. д. При их построении применяются различные библиотеки, реализующие примитивы интерфейса (toolkits), к тому же они запускаются в разных графических средах, что не способствует простоте освоения и удобству использования. Специалисты абстрагируются от всех этих пестрых WIMP (Windows, Icons, Menus and Pointers), концентрируясь преимущественно на решаемой задаче, чего не приходится ожидать от начинающих пользователей. Последние нуждаются в единообразном интерфейсе, и именно для предоставления такового (хотя бы отчасти) в марте 2005 г. Web-дизайнерами Джейкабом Стейнером (Jakub Steiner) из Novell и Стивеном Гэррити (Steven Garrity), представителем группы Mozilla Visual Identity, был запущен проект Tango (tango.project.org). В рамках этой инициативы, в которую сегодня вовлечены инженеры, художники и дизайнеры пользовательских интерфейсов, ведутся работы по созданию стандартных соглашений по стилям пиктограмм (Standard Icon Theme Guidelines), рекомендуемых к применению для разработчиков приложений и настольных сред, базового набора пиктограмм общего назначения (Icon Theme Library), основанного на нормативах по именованию (Standard Icon Name Specification), а также утилит (Icon Naming Utilities), предназначенных для генерации icon-файлов, которые пригодны для использования в графических средах KDE и GNOME. В данный момент разработка каждого из этих направлений находится на начальных этапах. Так, сейчас доступны для загрузки: Icon Naming Utilities версии 0.8.1, Icon Theme Library и Icon Theme Library Extras (включает ряд дополнительных пиктограмм) в релизах 0.7.2 и 0.1.0 соответственно.

Мост через миры

Старт Portland (portland.freedesk top.org) был дан год назад на первом собрании группы Desktop Architects, прошедшем под эгидой консорциума Open Source Development Labs. Он получил свое название от города Портленд (штат Орегон), где и состоялось мероприятие. Проект направлен на создание слоя, который обеспечил бы функциональную совместимость (интероперабельность) распространенных графических сред и упростил разработку универсального настольного ПО для платформы Linux. Его непосредственная цель – предоставить программистам общий набор интерфейсов и средств для переноса и интеграции приложений в среды KDE и GNOME. Ранее не существовало даже общепринятого, универсального способа добавления пиктограмм приложений в системные меню или создания ярлыков для отправки сообщений посредством применяемого по умолчанию почтового клиента либо для открытия файла в предпочитаемом пользователем приложении. Portland позволит независимым разработчикам осуществлять данные операции с помощью стандартного набора средств, которые будут совместимы с обеими средами. В рамках проекта предлагаются два набора интерфейсов: xdg-utils и DAPI, реализующие краткосрочное и долгосрочное решения соответственно.

xdg-utils – это набор несложных shell-скриптов, одна половина которых выполняет задачи, обычно требуемые при установке приложений, другая служит для постинсталляционной интеграции с настольной средой. В состав первых входят утилиты формирования меню, ярлыков на Рабочем столе, управления информацией о типах файлов. Вторые представлены программами, обеспечивающими возможности открывания файла или URL в зарегистрированном приложении, отправки сообщений с помощью почтового клиента по умолчанию и управления заставкой. Пакет распространяется на условиях лицензии MIT, наиболее лояльной среди Open Source соглашений. После выхода версии 1.0 в октябре текущего года он поставляется в составе дистрибутивов Debian, Fedora и OpenSUSE. Данное ПО планируют включить в следующие релизы своих продуктов создатели Red Flag и Xandros. В Trolltech Qt 4.2, основной библиотеке графических примитивов KDE, также используется xdg-utils. В перспективе утилиты планируется ввести в Linux Standard Base, промышленный стандарт интероперабельности между приложениями и платформой Linux.

DAPI представляет собой интерфейс программирования для настольных приложений (Desktop API), обеспечивающий доступ к сервисам графической среды. Он состоит из двух компонентов: программы-демона и библиотеки. Приложения компонуются с реализующей специальный API библиотекой (libdapi.la), которая посредством межпроцессового взаимодействия (IPC) методом сокетов сообщается с демоном. Последний, собственно, и предоставляет программе десктопные функции. Каждой среде отвечает свой демон (dapi_kde, dapi_gnome и т. д.) и, в идеале, должен распространяться вместе с ней. На данный момент DAPI находится на ранних стадиях разработки и считается прототипом.

Подводя черту

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