Архивы: по дате | по разделам | по авторам

Неимоверно важный гном

Архив
автор : Максим Отставнов   13.12.2000

GNOME (GNU Network Object Model Environment - «Среда GNU, основанная на модели сетевых объектов», но также и «Образцовая среда для сетевых объектов GNU») - один из самых амбициозных и масштабных проектов в программистском сообществе.

Кроме реализации функционально полной графической среды (хотя сегодня уместнее говорить о сенсуальных средах, учитывая то, что звук стал их полноправной частью), «Гном» претендует на то, чтобы полностью реализовать спецификации промышленной платформы сетевого взаимодействия CORBA и полностью абстрагировать слой «менеджера рабочего стола» (или «среды») от низлежащего слоя управления окнами (см. предыдущую статью). Уже сегодня GNOME поддерживает целую пачку оконных менеджеров, среди которых: Enlightenment, который мы бегло обозрели в предыдущей статье, Sawfish (ранее Sawmill), занявший место «штатного» менеджера окон в этой среде, IceWM, WindowMaker, AfterStep и FVWM2, совместимые с GNOME, впрочем, в разной степени.

Членам коллектива разработчиков, кажется, удалось преодолеть соблазн «сделай все сам», и они намерены опираться на разработки гораздо более широкого сообщества, проявляя при этом недюжинную веру в его потенциал. Штатным средством работы с гипертекстом и гипермедиа в «Гноме» назван браузер Mozilla, первый финальный релиз которого ожидается в следующем году, а «офисную» функциональность GNOME намерен заимствовать у OpenOffice, работа над которым, по сути, только началась.

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

GNOME использует один из самых развитых интерфейсных пакетов GTK+, реализованный для разных платформ и являющийся полноценным продуктом с открытым исходным кодом. Над ним надстраивается масса компонентов и библиотек, обеспечивающих сетевую функциональность (брокер сетевых запросов ORBit), интерфейсы к различным языкам программирования, работу со звуком через механизмы ОС и пр. Сам «Гном» стремится оставаться мобильным и доступным во всех открытых системах. Он стабильно работает в Linux, BSD и Solaris (причем на разном «железе»); последнее обстоятельство способствовало поддержке разработки GNOME, ее оказывает Sun Microsystems через созданный в этом году Фонд GNOME, среди учредителей которого также крупнейшие дистрибьюторы Linux.

Излишне говорить, что сам «Гном» - свободный продукт, распространяющийся по лицензии GPL. Центр взаимодействия разработчиков - сайт www.gnome.org, поддержку разработке оказывает уже упоминавшийся Фонд и его учредители, а кроме того, ряд коммерческих фирм занимается «паковкой» дистрибутива GNOME (пользователю лучше всего брать «отполированную» поставку от фирмы Helixcode, Inc.) и наращиванием его функциональности (Easel, Inc. представила в ноябре предварительный релиз нового файлового менеджера Nautilus, который она вносит в «копилку» проекта и который, возможно, войдет в поставку GNOME 1.4 [сегодняшняя версия - 1.2]).

С пользовательской точки зрения GNOME (рис. 1) предстает как набор базовых компонентов интерфейса и апплетов/утилит/приложений. К базовым компонентам относятся менеджер файлов и поверхности стола GMC, панели управления и меню GNOME Panel и центр управления Gnome Control Center.

Менеджер файлов

«Менеджер файлов» GMC (GNOME Midnight Commander) основан на популярном файловом менеджере Midnight Commander (MC) и заявлен как его развитие. Однако того, кто ждет от GMC богатой функциональности, свойственной MC, как и прочим представителям славного семейства «ортодоксальных файловых менеджеров», ведущих свой род от Norton Commander’а, - возможности работы на двух независимых панелях, непротиворечивой интеграции командной строки в оконное окружение и т. д. и т. п., - будет жестоко разочарован.

В отношении работы с файлами GMC представляет собой скорее «браузер локальных ресурсов», наподобие менеджера файлов CDE или даже Microsoft Windows Explorer: «пролистывать» файлы и каталоги и выполнять элементарные операции с ними еще можно, а любой более серьезный «менеджмент» потребует запуска того же MC в терминале или стороннего графического файлового менеджера.

Это разочарование - единственное. Все прочие возложенные на него задачи GMC выполняет вполне успешно.

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

Поддерживается широкий спектр операций переноса мышью (drag’n’drop), причем «перетаскиванию» подвержены не только объекты (файлы, пункты меню и т. п.), но и некоторые их свойства: так, в окне выбора цвета можно «взять цвет» и перенести на панель, которая воспримет его. Есть даже операции, позволяющие назначить один объект свойством другого: например, если на панель «перетащить» не цвет, а файл с картинкой, последняя станет фоном панели.

А «таскать» файлы между окнами GMC, в окна приложений, на рабочий стол и панели можно практически без ограничений.

Панель и ее обитатели

Уже упомянутые панели являются, наряду с GMC, важнейшей составной частью интерфейса GNOME. На экране, представленном на рис. 1, видны две панели, но их может быть неограниченное количество. Панель может относиться к одному из пяти типов, но на самом деле их два: панель-меню (menu panel, рис. 2) и объектная панель (рис. 3). Первая из них содержит пункты меню и может содержать пиктограммы, а вторая - только пиктограммы. Последняя может быть краевой (edge), выровненной (aligned), скользящей (sliding) или плавающей (floating), но это скорее свойство панели (которое можно менять «на ходу»), определяющее особенности ее поведения, чем тип.

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

Объекты, присутствующие на панели, подразделяются на пять типов.

  • Пускатель (launcher) ассоциирован с приложением или командой, которые исполняются по щелчку на его пиктограмме в панели.

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

  • Апплет (applet, «приложеньице») - интересный тип панельного объекта, демонстрирующий то, что он не обязан быть представлен статической картинкой. Это графическое приложение, места в панели которому достаточно, чтобы отображать какую-нибудь полезную (или забавную) информацию или даже принимать клавиатурный и/или координатный ввод. С GNOME поставляется масса апплетов, отображающих всякую полезную информацию (состояние ресурсов и статус сети, например) или позволяющих выполнить нетривиальные действия (мое любимое - mini commander, позволяющее набрать команду, не запуская терминала). Важными «приложеньицами» являются «путеводитель по столу» (Desktop Guide) и «список задач» (Task List), позволяющие переключаться между виртуальными экранами и активизировать окна запущенных приложений, соответственно.

  • Специальные объекты - это те же апплеты, но выполняющие функции, которые другими средствами «достать» почему-то нельзя (запереть экран, выйти из GNOME или запустить программу «вручную»). В качестве «специального объекта функционируют и приложения, которые не были написаны специально для GNOME, но могут, тем не менее, выполняться в панели, - «поглощенные приложения» (swallowed applications, привет от NeXT).

  • Наконец, объект-меню, как можно догадаться, раскрывает меню.

Меню

У «Гнома» нет единой иерархии меню: кроме главного (main, рис. 4), вызывающегося объектом-меню с гномьей лапой (когда оно же вызывается щелчком правой кнопки на фоне или нажатием клавиши, оно почему-то называется глобальным [global]), пользователь может создавать «обычные» (normal) меню, связанные с объектами-меню на панелях.

Меню настраиваются примерно так же, как и панели: пользователь может добавлять, менять и удалять пункты, создавать подменю и т. п. При этом создаваемые «обычные» меню изначально пусты, а главное/глобальное «набивается» при установке всем, что «Гном» найдет в системе, и пользователю остается только убрать лишнее и переставить пункты в соответствии со своими предпочтениями.

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

Утилиты, приложения, апплеты и «капплеты»

Для настройки различных аспектов функционирования системы предназначен центр управления (GNOME Control Center, рис. 5), представляющий собой набор «управляющих апплетов» (capplets), связанных с разными компонентами или приложениями.

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

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

Еще более открыт набор утилит, приложений и апплетов, поставляемых с GNOME; вместе с приложениями, входящими в большинство дистрибутивов Linux, о которых «Гном» «в курсе», их число достигает сотни. Ссылки на значительное количество специфических для GNOME приложений можно найти на www.gnome.org, даже если они не входят в «модельную» поставку от Helixcode.

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

GNOME снабжен встроенной системой помощи; кроме того, его разработчиками совместно с Red Hat, Inc. подготовлено пространное руководство, доступное в разных форматах на www.labs.redhat.com/gug. В его поставку входит система разработки графических приложений под GTK+, которая называется Glade и включает в себя специфические для Gnome элементы (рис. 7).

«Гном» и большинство его утилит, приложений и апплетов соответствуют соглашениям об интернационализации, а значит, поддерживают работу с кириллицей и допускают локализацию и перевод интерфейса. Проект локализации GNOME расположен на www.gnome.ru, там же можно найти русский перевод документации (правда, изрядно устаревший).

[i37426]

© ООО "Компьютерра-Онлайн", 1997-2021
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.