GNOME

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
GNOME
Gnomelogo-footprint.svg
Gnome3.png
среда рабочего стола GNOME 3.0
Тип

среда рабочего стола

Разработчики

GNOME Foundation и Проект GNOME

Написана на

Си, C++, Python и Vala

Интерфейс

GTK+

Операционная система

GNU/Linux и др. UNIX-подобные

Последняя версия

3.14 (24 сентября 2014)[1]

Состояние

активное

Лицензия

GNU GPL и GNU Lesser General Public License

Сайт

gnome.org

GNOME на Викискладе

GNOME (ɡəˈnoʊm) — свободная среда рабочего стола для Unix-подобных операционных систем. GNOME является частью проекта GNU.

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

GNOME — акроним от англ. GNU Network Object Model Environment («сетевая среда объектной модели GNU»). Под GNU в данном случае подразумевается не проект, а операционная система, официальной средой рабочего стола которой он является.

Цели[править | править вики-текст]

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

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

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

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

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

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

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

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

Статистика[8] для GNOME 2.32:

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

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

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

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

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

Организация[править | править вики-текст]

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

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

Платформы[править | править вики-текст]

Несмотря на то, что 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 — библиотека специальных возможностей для пользователей c физическими ограничениями;
  • Pango — библиотека для вывода текста в широком спектре письменностей.

GTK+ написан на Си, однако в последнее время[когда?] всё больше GNOME-приложений разрабатываются на языках более высокого уровня. Это стало возможным благодаря тому, что в GTK+ изначально предусмотрена возможность относительно простого построения интерфейсов для других языков. Существуют надстройки для таких языков программирования, как C++ (gtkmm), Python (PyGTK), Perl (gtk2-perl), Java (java-gnome), Ruby (ruby-gnome2), C# (Gtk#), Tcl (Gnocl) и многих других. Только в программах, являющихся частью официального релиза GNOME, используются C, C++, C#, Python и Vala.[10]

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

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

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

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

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

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

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

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

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

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

Начиная с GNOME 3.0, для хранения системных настроек используется фреймворк GSettings, основанный на формате файлов dconf. GSettings используется для хранения настроек среды и приложений и отслеживания их изменений. Для пользователя и приложений они представляются в виде единого «дерева» опций, подобно реестру Windows. Кроме того, GSettings позволяет системным администраторам ограничить изменение тех или иных настроек, сделав их обязательными для пользователей. Настройки можно изменять через Центр управления или через редактор dconf-editor. Приложения, использующие GSettings, могут предоставлять описания для отдельных опций, которые затем могут быть переведены на другие языки в рамках общего процесса локализации среды. В предыдущих версиях GNOME вместо GSettings использовался GConf.

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

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

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

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

В качестве оболочки по умолчанию, начиная с GNOME 3.0, используется GNOME Shell, основанная на оконном менеджере Mutter. Также до релиза GNOME 3.8 был доступен классический режим (fallback). Начиная с релиза GNOME 3.8, классический режим был заменен особым набором дополнений GNOME Shell, реализующим сходную функциональность.

Базовые приложения[править | править вики-текст]

В окне gedit отображается фрагмент из романа Л. Н. Толстого «Война и мир»
  • gedit — текстовый редактор с поддержкой Юникода. Поддерживает использование вкладок для представления нескольких документов в одном окне, подсветку синтаксиса для ряда компьютерных языков, и другие возможности. Функциональность gedit может быть расширена с помощью плагинов.
  • Приложение Yelp предназначено для просмотра разного рода документации, установленной в системе. Yelp позволяет просматривать как справку по приложениям GNOME, так и стандартные справочные материалы man и texinfo. Yelp использует движок Gecko для отображения страниц документации.

Интернет[править | править вики-текст]

Epiphany 3.0

Web (ранее — Epiphany) — стандартный веб-браузер среды GNOME начиная с версии 2.4.[22] Использует движок WebKit (используется также в Safari и Google Chrome). До версии 2.28 использовался движок Gecko (применяется в Mozilla Firefox). Epiphany поддерживает просмотр нескольких страниц в одном окне с помощью вкладок, систему категоризуемых закладок, «умные закладки», а также систему расширений, с помощью которых в Epiphany были добавлены популярные функции из других браузеров.

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

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

Empathy — приложение мгновенного обмена сообщениями, поддерживающее множество протоколов текстовых сообщений, а также видео- и голосовое общение. Включен в GNOME в версии 2.24.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Версия Дата Заметки
1.0 Март 1999 Первая стабильная версия.
1.0.53[27] Октябрь 1999 «October»
1.2[28] Май 2000 «Bongo»
1.4[29] Апрель 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, новые игры, а также улучшена поддержка восточных языков с вертикальным стилем письма.
2.20 19 сентября 2007 Улучшена поддержка языков с письмом справа налево (например иврит и арабский), интегрирован поиск в диалоговое окно выбора файлов, новые функции Evolution, улучшен просмотр коллекций изображений, упрощены настройки, более эффективное управление питанием.
2.22 12 марта 2008 Добавлены приложения Cheese и Всемирные часы, Evolution продолжает улучшаться. В этом выпуске была добавлена поддержка Google Calendars и возможность назначать собственные метки (теги) электронным письмам.
2.24 24 сентября 2008 Добавлен интернет-мессенджер Empathy, VoIP клиент Ekiga 3.0, добавлена поддержка вкладок в Nautilus, улучшена поддержка работы с цифровым телевидением.
2.26 18 марта 2009 Официальное включение Brasero, расширены возможности миграции с Microsoft Outlook в Evolution, в Epiphany реализована подсказка посещённых сайтов в адресной строке, упрощённое расшаривание файлов, контроль громкости осуществляется через PulseAudio, новые функции Empathy, Totem[30]
2.28 23 сентября 2009 Добавлена официальная поддержка Bluetooth, удалён totem-xine, официальный порт Epiphany на WebKit[31][32]
2.30 30 марта 2010 Обновления файлового менеджера Nautilus для работы с несколькими папками одновременно, приложения обмена мгновенными сообщениями Empathy, записок Tomboy, другие обновления безопасности и стабильности[33]
2.32 30 сентября 2010 Обновление многих программ: Nautilus, Empathy и т. п.
3.0 6 апреля 2011 Переход на GTK+ 3. Использование оболочки GNOME Shell и оконного менеджера Mutter по умолчанию. Интеграция мгновенного обмена сообщениями в оболочку. Однооконный интерфейс Центра управления. Новая тема Adwaita по умолчанию. Новый внешний вид системных диалогов и уведомлений. Переход на систему настроек GSettings. Крупные обновления многих стандартных приложений, в том числе Nautilus, Gedit, Evince, Yelp и Cheese.
3.2 28 сентября 2011 [34]
3.4 март 2012 [35]
3.6 сентябрь 2012 [36]
3.8 март 2013 [37]
3.10 Сентябрь 2013 [38]
3.12 Март 2014 [39]

Критика[править | править вики-текст]

Линус Торвальдс критически оценил третью версию GNOME[40], отметил ряд недостатков и предложил сделать ответвление GNOME 2, одним из которых стал проект Mate. Торвальдс сообщил, что отныне будет пользоваться Xfce. В 2005 году он тоже критически оценивал GNOME, назвав его «окружением для идиотов»[41].

После выхода GNOME 3 стали развиваться альтернативные проекты: Cinnamon — форк GNOME Shell, стилизованный под классический интерфейс GNOME 2[42], MATE — форк GNOME 2, Consort — проект, продолжающий развитие классического режима GNOME 3.4 (fallback), код поддержки которого не вошёл в релиз GNOME 3.8 в стиле Gnome 2, и Flashback — проект, продолжающий развитие классического режима Gnome 3.6 (fallback), код поддержки которого не вошёл в Gnome 3.8, в стиле Gnome -classic. В Ubuntu 12.10 не был включен Nautilus 3.6 по причине урезания функционала.

Иллюстрации[править | править вики-текст]

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

Примечания[править | править вики-текст]

  1. GNOME 3.14 Released
  2. The GNOME Usability Project (англ.). Проверено 14 августа 2009. Архивировано из первоисточника 23 августа 2011.
  3. The GNOME Accessibility Project (англ.)(недоступная ссылка — история). Проверено 22 января 2007. Архивировано из первоисточника 5 декабря 2001.
  4. 1 2 The GNOME Translation Project (англ.)(недоступная ссылка — история). Проверено 22 января 2007. Архивировано из первоисточника 15 августа 2000.
  5. GNOME Languages (англ.). Проверено 16 марта 2007. Архивировано из первоисточника 23 августа 2011.
  6. Хэвок Пеннингтон. Free software UI (англ.) (апрель 2002 года). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  7. GNOME Human Interface Guidelines 2.0 (англ.)(недоступная ссылка — история). Проверено 17 марта 2007. Архивировано из первоисточника 28 ноября 2001.
  8. GNOME 2.32 Release (англ.). Проверено 10 февраля 2011. Архивировано из первоисточника 23 августа 2011.
  9. Trolltech offers a choice in licensing with the addition of GPL licensing for the upcoming release of Qt (англ.)(недоступная ссылка — история). Trolltech (5 сентября 2000). Проверено 22 января 2007. Архивировано из первоисточника 15 августа 2006.
  10. Newren, Elijah Mono bindings a blessed dependency? [Was: Tomboy in 2.16]. Список рассылки desktop-devel (20 апреля 2006). Проверено 20 сентября 2007.
  11. Мигель де Икаса. The Story of the GNOME Project (англ.). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  12. Шон МакКэнс. Overview of the GNOME Platform (англ.)(недоступная ссылка — история) (2005 год). Проверено 17 марта 2007. Архивировано из первоисточника 8 апреля 2006.
  13. GNOME 2.17.x Developer Platform (англ.). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  14. Маттиас Класен. GTK+ 2.8.0 released (англ.) (13 августа 2005 года). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  15. Totem (англ.). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  16. Sound Juicer (англ.). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  17. Poppler (англ.). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  18. Supported Document Formats (англ.). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  19. Подготовка к эпохе украшений. GNOME (6 сентября 2006 года). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  20. GNOME 2.6 Release notes (англ.). GNOME. Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  21. GNOME 2.30 Release notes (англ.). GNOME. Проверено 31 марта 2010. Архивировано из первоисточника 23 августа 2011.
  22. GNOME 2.4 Release Notes - Applications (англ.). GNOME. Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  23. What’s New In GNOME 2.8 (англ.). GNOME. Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  24. GNOME System Tools (англ.). Проверено 20 марта 2007. Архивировано из первоисточника 23 августа 2011.
  25. GNOME 2.18 (простая красота). GNOME (14 марта 2007 года). Проверено 17 марта 2007. Архивировано из первоисточника 23 августа 2011.
  26. Заметки к выпускам (рус.). Библиотека документации GNOME. The GNOME Project. Проверено 23 января 2009. Архивировано из первоисточника 23 августа 2011.
  27. «October GNOME» release now available
  28. GNOME 1.0 «Bongo GNOME» Now Available
  29. GNOME 1.4 «Tranquility» is released
  30. GNOME 2.26 Release Notes
  31. GNOME 2.28 Release Notes
  32. OpenNews: Анонсирован выход релиза GNOME 2.28. Обзор новшеств
  33. GNOME 2.30 Release Notes
  34. GNOME 3.2 Release Notes
  35. GNOME 3.4 Release Notes
  36. GNOME 3.6 Release Notes
  37. GNOME 3.8 released
  38. GNOME 3.10 Release Notes
  39. GNOME 3.12 Release Notes
  40. OpenNews Линус Торвальдс перешёл с GNOME 3 на Xfce и призвал продолжить развитие GNOME
  41. Printing dialog and GNOME
  42. Linux Mint приступил к развитию Cinnamon, форка GNOME Shell, реализованного в стиле GNOME 2

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