GNOME

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 23:32, 5 декабря 2016.
GNOME
Разработчики: GNOME Foundation и Проект GNOME
Выпущена: 3 марта 1999
Предыдущий выпуск: 3.22.1 «Karlsruhe» (12 октября 2016)
Состояние разработки: активное
Написана на: Си, C++, Python, Vala и JavaScript
Операционная система: GNU/Linux и др. UNIX-подобная операционная система
Лицензия: GNU GPL и GNU LGPL
Веб-сайт https://www.gnome.org/

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

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

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

Происхождение

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

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

В 2000 году версия Qt 2.2 была выпущена на условиях GNU GPL, в результате чего лицензионные проблемы 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+ изначально предусмотрена возможность относительно простого построения интерфейсов для других языков. Существуют надстройки для таких языков программирования, как Vala, C++ , Python (PyGTK), Perl (gtk2-perl), Java (java-gnome), Ruby (ruby-gnome2), , Tcl (Gnocl) и многих других. Только в программах, являющихся частью официального релиза GNOME, используются C, C++, Python и Vala.

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

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

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

Графика и мультимедиа

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

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

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

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

Настройка среды

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

Другие технологии

  • gettext — инструментарий, используемый для интернационализации и локализации среды.
  • GVFS (GNOME Virtual File System) — виртуальная файловая система, предоставляющая унифицированный доступ к различным видам файловых хранилищ.
  • Mutter — менеджер окон.
  • GNOME Keyring — система хранения конфиденциальных данных (таких, как пароли).
  • Libxml — библиотека для работы с XML.
  • LibGDA — GNOME Data Access.

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

Файловый менеджер и панели

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

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

Базовые приложения

  • GNOME Terminal — эмулятор терминала, предоставляющий доступ к командной оболочке UNIX для пользователя графической среды. GNOME Terminal поддерживает все типичные функции эмулятора терминала, а также цветной вывод и события от мыши.
  • gedit — текстовый редактор с поддержкой Юникода. Поддерживает использование вкладок для представления нескольких документов в одном окне, подсветку синтаксиса для ряда компьютерных языков, и другие возможности. Функциональность gedit может быть расширена с помощью плагинов.
  • Приложение Yelp предназначено для просмотра разного рода документации, установленной в системе. Yelp позволяет просматривать как справку по приложениям GNOME, так и стандартные справочные материалы man и texinfo. Yelp использует движок Gecko для отображения страниц документации.[2]

Интернет

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

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

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

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

Графика и мультимедиа

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

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

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

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

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

Средства разработки

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

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

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

  • Alacarte — редактор меню.
  • Brasero — программа для записи CD и DVD.
  • Bug Buddy — программа формирования и отправки отчётов об ошибках, возникающих в других приложениях GNOME.
  • GCalctool — калькулятор.
  • GNOME Games — набор игр.
  • GNOME Display Manager — дисплейный менеджер (графическая программа аутентификации пользователей среды).
  • GNOME Keyring Manager — программа управления конфиденциальными данными, хранящимися в зашифрованном виде в GNOME Keyring.
  • GNOME Screensaver — хранитель экрана.
  • GNOME System Monitor — монитор состояния системы.
  • Таблица символов GNOME — таблица символов Юникода.
  • File Roller — менеджер архивов.
  • Orca (итал.) — средство реабилитации (в том числе, экранный диктор).
  • Pessulus — программа для ограничения доступа к определённым функциям среды.
  • Sabayon — программа редактирования профилей пользователей (наборов настроек среды).
  • Seahorse — программа управления ключами шифрования.
  • Tomboy — программа создания заметок.
  • Vinagre[en] — VNC- и RDP-клиент.

Сторонние приложения

  • AbiWord — текстовый процессор;
  • Gnumeric — табличный процессор;
  • GnuCash — программа управления финансами;
  • Inkscape — редактор векторной графики;
  • Pidgin — мессенджер;
  • Rhythmbox — музыкальный проигрыватель.

Установка и демонстрация всех возможностей GNOME в Debian

Установка[3]

Есть четыре варианта установки GNOME в Debian:

  • Полная среда GNOME, включая элементы, которые не являются официальной частью релиза. Предоставляет рекомендуемое окружение среды GNOME для Debian:
$ apt-get install gnome
  • Официальный набор элементов среды GNOME:
$ apt-get install gnome-desktop-environment
  • Минимальная набор элементов, необходимых для работы GNOME:
$ apt-get install gnome-core
  • Набор элементов GNOME с вспомогательными технологиями: Чтение с экрана, лупа…:
$ apt-get install gnome-accessibility
  • Самая минимальная установка среды GNOME:
$ apt-get install gdm3 gnome-panel gnome-terminal

Демонстрация возможностей GNOME

Ссылки

  • Википедия [Электронный ресурс]: GNOME — материал из Википедии — свободной энциклопедии: Версия 68907279, сохранённая в 20:13 UTC 27 февраля 2015 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа:https://ru.wikipedia.org/wiki/GNOME
  • GNOME [Электронный ресурс]: Technologies-GNOME / Дата обращения: 29.11.2016. — Режим доступа:https://www.gnome.org
  • Debian [Электронный ресурс]: Gnome in Debian / Дата обращения: 29.11.2016. — Режим доступа:https://wiki.debian.org/Gnome/

Примечания

  1. Википедия [Электронный ресурс]: GNOME — материал из Википедии — свободной энциклопедии: Версия 68907279, сохранённая в 20:13 UTC 27 февраля 2015 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа:https://ru.wikipedia.org/wiki/GNOME
  2. Uduntu [Электронный ресурс]: GNOME / Дата обращения: 29.11.2016. — Режим доступа:http://help.ubuntu.ru/wiki/gnome.
  3. ruGnome [Электронный ресурс]: Установка GNOME / Дата обращения: 29.11.2016. — Режим доступа:https://wiki.debian.org/ru/Gnome.