GNOME

Материал из свободной русской энциклопедии «Традиция»
Перейти к: навигация, поиск
Логотип GNOME
GNOME
Снимок рабочего стола GNOME.


Операционная система:
UNIX-подобные



Разработчик:
Проект GNOME



Текущая версия:
2.18.1
Дата выхода текущей версии:
11 апреля 2007



Лицензия:
GNU GPL, GNU LGPL

GNOMEсвободная среда рабочего стола для UNIX-подобных операционных систем. GNOME является частью и официальной рабочей средой проекта GNU.

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

GNOME — акроним от англ. GNU Network Object Model Environment («сетевая объектная среда GNU»).

Цели[править]

Согласно заявлению на сайте GNOME:

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

Цели проекта:

Практичность и простота интерфейса[править]

Начиная с GNOME версии 2.0 большую важность в развитии проекта принимают соображения практичности, простоты и удобства использования среды, в том числе для неопытных или физически ограниченных пользователей. Эта тенденция нашла своё выражение в статье Хэвока Пеннингтона «Пользовательский интерфейс свободных программ» (англ. «Free Software UI»)[5]. Ключевым моментом в этой статье стала идея, что каждая функциональная нагрузка и каждая опция настройки в программе имеет свою цену: зачастую лучше выбрать один, наиболее оптимальный вариант поведения программы, чем реализовывать множество вариантов и заставлять пользователя выбирать один из них.

Результатом стала разработка «Руководства по созданию человеческого интерфейса GNOME» (англ. GNOME Human Interface Guidelines, сокращённо HIG). HIG — руководство, призванное помочь разработчикам в создании высококачественных, непротиворечивых и удобных графических интерфейсов[6]. Как одно из последствий применения HIG, многие настройки, ранее доступные в GNOME, были признаны разработчиками проекта ненужными или малозначительными для большинства пользователей, и были удалены из основных диалоговых окон настройки.

Локализация[править]

За локализацию среды GNOME отвечает проект перевода GNOME[3] (англ. GNOME Translation Project). Перевод пользовательского интерфейса и документации производится с помощью инструментария gettext.

Статистика[7] для GNOME 2.18:

  • на 30 языков переведено более 90 % строк пользовательского интерфейса;
  • ещё на 32 языка переведено от 50 % до 90 % строк;
  • на русский язык переведено 99 % строк пользовательского интерфейса и 27 % строк документации.

Происхождение[править]

Проект GNOME был основан в августе 1997 г. Мигелем де Иказа и Федерико Мена как попытка создать полностью свободную рабочую среду для операционной системы GNU/Linux.

В то время единственной альтернативой для неискушённого пользователя являлась среда KDE. Но KDE основана на инструментарии Qt фирмы Trolltech, который в то время был собственническим продуктом. Чтобы не допустить ухудшения ситуации, была инициирована разработка GNOME — новой свободной рабочей среды на основе инструментария GTK+, созданного ранее для графического редактора The GIMP и распространяемого на условиях GNU LGPL.

В 2000 г. версия Qt 2.2 была выпущена на условиях GNU GPL[8], в результате чего лицензионные проблемы KDE были ликвидированы. Однако проект GNOME, к тому времени уже достаточно развитый, продолжил своё существование.

Организация[править]

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

О разнице в работе команды GNOME и Canonical (Unity):

«Мы работаем как сообщество и делаем всё в открытую, что разительно отличается от того, как работает Canonical. У этого есть свои плюс и минусы. Те, кто рано подключается к разработке, может участвовать в обсуждении планов. Но это значит и то, что люди вместо этого могут слишком рано начать жаловаться. Всё зависит от того, что вы из себя представляете как человек. Возможность видеть процесс изнутри со всеми предварительными набросками и экспериментами вдруг оборачивается статьями, вокруг которых возникают флеймы из серии „О, господи, да что же они делают?!“. Если бы мы работали как Canonical, мы бы выпускали наружу только готовое, сразу с пресс-релизом» .[9]

Платформы[править]

Несмотря на то, что GNOME изначально была средой для GNU/Linux, сейчас она может быть запущена на большинстве UNIX-подобных систем: AIX, IRIX, разновидностях BSD, HP-UX; а также частично была адаптирована фирмой Sun Microsystems для ОС Solaris вместо устаревшего CDE. Sun Microsystems также выпустила Java Desktop System — рабочую среду на базе GNOME. Существует порт GNOME для Cygwin, способный работать под управлением Microsoft Windows.

Архитектура[править]

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

В основном GNOME написана на языке Си, однако для библиотек GNOME существуют механизмы (так называемые привязки, англ. bindings), позволяющие использовать их из других языков. Поэтому многие приложения для GNOME пишутся на языках C++, Python, C# и других.

GTK+[править]

Центральную роль в GNOME играет инструментарий GTK+, который предоставляет средства для создания графических интерфейсов. В состав GTK+ также входят вспомогательные библиотеки:

  • GLib — библиотека удобных функций для программирования на Си;
  • GObject — объектно-ориентированный каркас для программирования на Си;
  • ATK — библиотека специальных возможностей для физически ограниченных пользователей;
  • Pango — библиотека для вывода текста в широком спектре письменностей.

GTK+ написан на Си, однако в последнее время всё больше GNOME-приложений разрабатываются на языках более высокого уровня. Это стало возможным благодаря тому, что в GTK+ изначально предусмотрена возможность относительно простого построения интерфейсов для других языков. Официальными надстройками над GTK+ являются gtkmm, PyGTK, gtk2-perl и java-gnome.

Взаимодействие между приложениями[править]

Когда Мигель де Иказа создавал проект GNOME, он находился под впечатлением от компонентных технологий компании Майкрософт (COM и ActiveX). Планировалось сделать аналогичные технологии (на основе CORBA) важной частью GNOME[10]. Технология CORBA реализована в GNOME в виде брокера ORBit. Средства для создания графических компонентов, поддержки составных документов предоставляются библиотекой Bonobo.

Однако сегодня основным средством взаимодействия между приложениями[11] является D-Bus — облегчённый механизм межпроцессного взаимодействия, специально разработанный для настольного применения. От использования CORBA и Bonobo планируется со временем отказаться[12].

Графика и мультимедиа[править]

В качестве графических и мультимедиа-инструментов в GNOME используются некоторые проекты freedesktop.org.

Библиотека Cairo обеспечивает вывод двумерной графики. Она используется в GTK+ для отрисовки элементов интерфейса[13].

Технология GStreamer обеспечивает «прозрачную» работу с аудио и видео различных форматов — ввод, обработку и вывод. Её используют, в частности, мультимедиа-проигрыватель Totem[14] и программа извлечения аудио с компакт-дисков Sound Juicer[15].

Poppler — библиотека отображения PDF-документов, основанная на xpdf[16]. Она используется приложением просмотра документов Evince[17].

Tango Desktop Project — это попытка создать единый визуальный стиль для свободного программного обеспечения, в первую очередь в области значков. Официальная тема значков GNOME следует рекомендациям проекта Tango по внешнему виду значков, а также соответствует спецификациям наименования значков freedesktop.org[18].

Настройка среды[править]

Система GConf используется для хранения настроек среды и приложений и отслеживания их изменений[11]. Сами данные настроек хранятся, как правило, в XML-файлах. Для пользователя и приложений они представляются в виде единого «дерева» опций, подобно реестру Windows. Приложения, использующие GConf, могут предоставлять описания для отдельный опций, которые затем могут быть переведены на другие языки в рамках общего процесса локализации среды.

При изменении какого-либо настроечного значения система GConf автоматически оповещает об этом все «заинтересованные» приложения, что обеспечивает мгновенное применение новых настроек. Кроме того, GConf позволяет системным администраторам ограничить изменение тех или иных настроек, сделав их обязательными для пользователей.

Другие технологии[править]

Пользовательские приложения[править]

Файловый менеджер и панели[править]

Nautilus в пространственном режиме.

Файловый менеджер Nautilus обеспечивает отрисовку рабочего стола со значками на нём, а также работу с файлами и папками. Nautilus может работать в двух режимах: пространственном (англ. spatial) и режиме браузера. В первом режиме (по умолчанию начиная с версии GNOME 2.6[19]) каждая папка открывается в своём собственном окне, причём положение окон запоминается. Во втором режиме, подобно Проводнику Windows, перемещение по папкам производится в рамках одного окна, оснащённого панелями инструментов, деревом каталогов и другими элементами.

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

Основные приложения[править]

В окне gedit отображается фрагмент из романа Л. Н. Толстого «Война и мир».

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

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

Приложение Yelp предназначено для просмотра разного рода документации, установленной в системе. Yelp позволяет просматривать как справку по приложениям GNOME, так и стандартные справочные материалы man и texinfo. Yelp использует движок Gecko для отображения страниц документации.

Интернет[править]

Epiphany отображает страницу русской Википедии.

Epiphany — стандартный веб-браузер среды GNOME начиная с версии 2.4[20]. Он основан на движке Gecko, который используется также в браузерах Firefox и SeaMonkey. Epiphany поддерживает просмотр нескольких страниц в одном окне с помощью вкладок, систему категоризуемых закладок, «умные закладки», а также систему расширений, с помощью которых в Epiphany были добавлены популярные функции из других браузеров.

Evolution — приложение для управления электронной почтой, расписанием и адресной книгой. Изначально разработанное компанией Ximian, которая затем стала частью Novell, это приложение вошло в состав GNOME в версии 2.8[21]. Evolution поддерживает все основные почтовые протоколы, серверы Microsoft Exchange и GroupWise, включает в себя спам-фильтр и предоставляет ряд других возможностей.

Ekiga — приложение IP-телефонии и проведения видеоконференций, которое ранее называлось GnomeMeeting. Ekiga поддерживает протоколы SIP и H.323 и способна взаимодействовать с другими SIP-совместимыми клиентами, а также с Microsoft NetMeeting.

Графика и мультимедиа[править]

Sound Juicer в процессе извлечения аудиоданных.

Приложения Eye of GNOME и Evince обеспечивают просмотр соответственно изображений и документов в широком спектре форматов, включая PNG, JPEG, GIF, SVG, TIFF (и многие другие) для изображений и PDF, DjVu, Postscript, TIFF и DVI для документов.

Totemмультимедиа-проигрыватель среды GNOME. В качестве основы он может использовать Xine либо GStreamer, и позволяет воспроизводить видео и аудио в различных форматах. Totem позволяет формировать плейлисты, поддерживает субтитры, интегрируется с файловым менеджером Nautilus и веб-браузером Epiphany.

Sound Juicer — приложение для извлечения звуковых дорожек с компакт-дисков. Оно основано на библиотеках GStreamer, и позволяет кодировать получающиеся звуковые файлы в любом из форматов, поддерживаемых GStreamer. Sound Juicer может автоматически получать метаданные о диске из базы данных MusicBrainz, а также поддерживает воспроизведение дорожек диска непосредственно в окне извлечения.

Графические утилиты администрирования[править]

GNOME System Tools — это комплект графических средств для администрирования UNIX-систем[22]. GNOME System Tools абстрагируют отличия в отдельных разновидностях UNIX и дают возможность изменить основные настройки системы, не прибегая к правке конфигурационных файлов — традиционного средства настройки UNIX. В настоящее время в состав GNOME System Tools входят инструменты для настройки учётных записей пользователей системы, сетевых подключений, даты и времени, системных служб и общих сетевых ресурсов.

Средства разработки[править]

Начиная с GNOME 2.18[23] в состав GNOME входят также средства разработки приложений. На данный момент это Glade — визуальное средство построения графических интерфейсов на основе GTK+; и Devhelp — программа просмотра справочной документации по различным технологиям GNOME.

Другие официальные приложения[править]

Ниже перечислены некоторые другие официальные приложения GNOME, входящие в состав проекта и выпускаемые вместе с остальными частями среды.

Сторонние приложения[править]

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

Версии[править]

Новые версии GNOME выходят два раза в год — в марте и в сентябре. Стабильные выпуски имеют чётные младшие номера версии (2.0, 2.2, 2.4 и т. д.), а версии в разработке — нечётные. Ниже перечислены стабильные версии GNOME.

Версия Дата Информация
1.0 Март 1999 Первая стабильная версия.
1.0.53 Октябрь 1999 «October».
1.2 Май 2000 «Bongo».
1.4 Апрель 2001 «Tranquility».
2.0 Июнь 2002 Большое усовершенствование — переход на GTK+ версии 2.0.
2.2 Февраль 2003 Улучшения в работе с файлами и мультимедиа. Переход на менеджер окон Metacity.
2.4 Сентябрь 2003 Включение Epiphany в качестве стандартного веб-браузера.
2.6 Март 2004 Изменения в Nautilus, добавлен новый файловый диалог GTK+.
2.8 Сентябрь 2004 Улучшена поддержка переносных устройств, добавлено приложение Evolution.
2.10 Март 2005 Понижение требований к памяти и улучшение производительности. Добавлены новые апплеты панели (модем, монтирование дисков и корзина), приложения Totem и Sound Juicer.
2.12 Сентябрь 2005 Добавлены вертикальные (повёрнутые) панели и меню, темы курсоров мыши, профили ICC, редактор меню, управление службами, просмотр системных журналов. Переход на библиотеку Cairo для отрисовки графики.
2.14 15 марта 2006 Повышена скорость работы, добавлены средства для ограничения доступа к различным возможностям среды, новые поисковые системы в Nautilus и Yelp и др.
2.16 6 сентября 2006 Продвинутые трёхмерные эффекты, прозрачность. Улучшенная тема значков в стиле Tango. Новая служба управления питанием. Добавлены приложение Tomboy для создания заметок, новый редактор меню Alacarte, программа для управления дисковым пространством Baobab.
2.18 14 марта 2007 Добавлены приложения Seahorse, Glade и Devhelp, новые игры, а также улучшена поддержка восточных языков с вертикальным стилем письма.

См. также[править]

Portal:Свободное программное обеспечение
Русская энциклопедия «Традиция»
Портал «Свободное программное обеспечение»


Примечания[править]

  1. "The GNOME Usability Project". Retrieved 22 января.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  2. "The GNOME Accessibility Project". Retrieved 22 января.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  3. а б "The GNOME Translation Project". Retrieved 22 января.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  4. "Gnome Languages". Retrieved 16 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  5. Хэвок Пеннингтон. "Free software UI". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Unknown parameter |datepublished= ignored (help); Check date values in: |accessdate= (help)
  6. "GNOME Human Interface Guidelines 2.0". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  7. "Gnome 2.18 Release". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  8. "Trolltech offers a choice in licensing with the addition of GPL licensing for the upcoming release of Qt". Trolltech. Archived from the original on 2006-08-15. Retrieved 22 января.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Unknown parameter |datepublished= ignored (help); Check date values in: |accessdate= (help)
  9. Интервью с Уильямом Дж. Маккенном, юзабилистом GNOME ([[Уильям Маккенн])
  10. Мигель де Иказа. "The Story of the GNOME Project". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  11. а б Шон МакКэнс. "Overview of the GNOME Platform". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Unknown parameter |datepublished= ignored (help); Check date values in: |accessdate= (help)
  12. "GNOME 2.17.x Developer Platform". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  13. Маттиас Класен. "GTK+ 2.8.0 released". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Unknown parameter |datepublished= ignored (help); Check date values in: |accessdate= (help)
  14. "Totem". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  15. "Sound Juicer". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  16. "Poppler". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  17. "Supported Document Formats". Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  18. "Подготовка к эпохе украшений". GNOME. Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |datepublished= ignored (help); Check date values in: |accessdate= (help)
  19. "What's New In GNOME 2.6". GNOME. Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  20. "GNOME 2.4 Release Notes - Applications". GNOME. Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  21. "What's New In GNOME 2.8". GNOME. Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  22. "GNOME System Tools". Retrieved 20 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
  23. "GNOME 2.18 (простая красота)". GNOME. Retrieved 17 марта.  Unknown parameter |accessyear= ignored (help); Unknown parameter |datepublished= ignored (help); Check date values in: |accessdate= (help)

Ссылки[править]

Официальные веб-сайты[править]

Другие сайты[править]