GNOME (/ɡˈnoʊm, ˈnoʊm/) — вільне середовище стільниці для UNIX-подібних операційних систем. Спочатку GNOME був акронімом від англ. GNU Network Object Model Environment, але абревіатура була вилучена, оскільки вона більше не відображає бачення проєкту GNOME.
GNOME орієнтується на створення повністю вільного середовища, доступного всім користувачам незалежно від рівня технічних навичок, фізичних обмежень й мови. У межах GNOME розробляються як власні застосунки для кінцевих користувачів, так і набір інструментів для створення нових застосунків, які тісно інтегруються в робоче середовище.
Історія
GNOME 1 GNOME було розпочато 15 серпня 1997 Мігелем де Ікаса та Федеріко Мена як проєкт з відкритим кодом для розробки робочого середовища та застосунків для нього. GNOME був заснований частково тому, що K Desktop Environment, який користувався популярністю, покладався на інструментарій віджета Qt, який використовував пропрієтарну ліцензію до версії 2.0 (червень 1999). Замість Qt було обрано GTK (GNOME Toolkit, в той час називався GIMP Toolkit) як основу для GNOME. GTK використовує GNU Lesser General Public License (LGPL) — вільну ліцензію на програмне забезпечення, яка дозволяє програмному забезпеченню, пов'язаному з ним, використовувати набагато ширший набір ліцензій, включаючи пропрієтарні ліцензії. Сам GNOME ліцензований на умовах LGPL в частині своїх бібліотек, та GNU General Public License (GPL) в частині своїх застосунківGNOME Project: «GNOME Foundation Guidelines on Copyright Assignment». Accessed 26 March 2013. .
GNOME раніше був частиною проєкту GNU. 2021 року GNOME почав видаляти згадки про будь-яке посилання на GNU з їх коду та документації. Назва «GNOME» спочатку була акронімом від GNU Network Object Model Environment, що вказує на початковий намір створити фреймворк розподілених об'єктів, подібний до OLE від Microsoft , але акронім зрештою облишили, оскільки він більше не відображав бачення проєкту GNOME.
Каліфорнійський стартап розробляв файловий менеджер Nautilus з 1999 по 2001 рік. Де Ікаса та Нат Фрідман заснували Helix Code (згодом ) в 1999 році в Массачусетсі; ця компанія розробила інфраструктуру та програми GNOME і була придбана Novell у 2003 році.
Під час переходу до GNOME 2 та незабаром після цього були нетривалі обговорення щодо створення пакету GNOME Office. 15 вересня 2003 був випущений GNOME-Office 1.0, що складався з AbiWord 2.0, GNOME-DB 1.0, та Gnumeric 1.2.0. Хоча в розсилці gnome-office виношували деякі плани щодо випуску GNOME Office 1.2, і Gnumeric 1.4 оголосили в його складі, випуск GNOME Office 1.2 так і не відбувся.
GNOME 2 GNOME 2 був випущений в червні 2002 року та був дуже схожий на звичайний настільний інтерфейс, з простим робочим столом, в якому користувачі могли взаємодіяти з віртуальними об'єктами, такими як вікна, піктограми та файли. GNOME 2 спершу використовував Sawfish як типовий віконний менеджер, але пізніше переключився на Metacity. Робота з вікнами, програмами та файлами у GNOME 2 подібна до інших сучасних настільних операційних систем. За типового налаштування GNOME 2 робочий стіл має меню швидкого доступу до встановлених програм і файлів; відкриті вікна доступні через панель задач, розташовану вздовж нижньої частини екрана, а у верхньому правому куті розміщено область сповіщення для програм у фоновому режимі. Однак ці елементи можна перемістити практично в будь-яку позицію або орієнтацію, яку бажає користувач, замінити іншими функціями або взагалі видалити.
Станом на 2009 рік, GNOME 2 був типовим робочим столом для OpenSolaris. Середовище стільниці MATE є відгалуженням кодової бази GNOME 2 (див. Критика, нижче.)
GNOME 3
У 2008 році зросло невдоволення серед спільноти та розробників через відсутність у проєкту напрямку та технічного розвитку, що призвело до оголошення GNOME 3.0. Спочатку планували вносити тільки поступові зміни й уникати створення незручностей для користувачів. Однак від цього відійшли зі створенням GNOME Shell.
GNOME 3 випустили 2011 року. У той час як інтерфейси GNOME 1 і 2 наслідували традиційну метафору робочого столу, GNOME Shell прийняв більш абстрактну метафору з оптимізованним процесом роботи з керування вікнами (де перемикання між різними завданнями та віртуальними робочими столами відбувалося в окремій області, що називається оглядом), уніфікованою верхньою панеллю (на заміну рядка меню, панелі завдань і панелі інструментів), а також прихованими за замовчуванням кнопками згортання та розгортання.
GNOME 3 привніс численні покращення основного програмного забезпечення. Багато також зазнали редизайну, щоб забезпечити більш цілісний досвід користування. Mutter змінив Metacity як типовий менеджер вікон. Adwaita замінила як типову тему.
Критика Випуск GNOME 3 викликав значні суперечки в спільнотах GNU і Linux. Окремі дизайнерські рішення, направлені на забезпечення простого та незагромадженого досвіду користування, накликали критику, як наприклад видалення кнопок згортання та розгортання, спрощення можливостей для налаштування, а також візуальні підказки, які могли заплутати.
Було ініційовано кілька проєктів з продовження розробки GNOME 2.x або зміни GNOME 3.x для більшої схожості з версіями 2.x. Середовище стільниці MATE було відгалужене від кодової бази GNOME 2 для збереження традиційного інтерфейсу GNOME 2 водночас забезпечуючи сумісність із сучасними технологіями Linux, включаючи GTK 3. Команда Linux Mint вирішувала це питання розробкою «Mint GNOME Shell Extensions», які розширювали GNOME Shell i дозволяли використовувати її з традиційною метафорою робочого столу. Це в кінцевому підсумку призвело до створення інтерфейсу Cinnamon, який був відгалужений з кодової бази GNOME 3.
Згодом критичне сприйняття стало більш позитивним. Лінус Торвальдс критикував ранні випуски GNOME 3 та відмовився користуватися GNOME після випуску GNOME 3.0, а у 2013 році відновив користуватися GNOME, зазначивши, що «тепер у них є розширення, які все ще дуже важко знайти; але за допомогою розширень ви можете змінити свій робочий стіл, щоб він виглядав майже так само добре, як два роки тому». Debian, дистрибутив Linux, який історично використовував GNOME 2, перейшов на Xfce, коли був випущений GNOME 3, але повторно прийняв GNOME 3 перед випуском Debian 8 «Jessie».
Організація Від початку свого виникнення, як і більшість проєктів вільного програмного забезпечення, проєкт GNOME не має чіткої організації. Обговорення розробки GNOME доступне для усіх і проходить у кількох розсилках.
Для чіткої та ефективної координації над проєктом було створено GNOME Foundation — відкриту організацію, що складається з добровольців, професіоналів та компаній. GNOME Foundation є громадською безприбутковою організацією, яка допомагає спільноті GNOME у фінансових, організаційних та правових питаннях, визначає бачення проєкту та його плани.
Цілі За інформацією з сайту GNOME, проєкт GNOME надає дві можливості: інтуїтивний і привабливий робочий стіл для користувачів, та платформу для розробки додатків, які інтегруються в інші частини робочого столу. Проєкт GNOME ставить акцент на простоті, зручності, і розробці програм, які «просто працюють». Іншими цілями проєкту є: Свобода для створення робочого середовища з легкодоступними сирцевими кодами для повторного використання під вільною ліцензією. Доступність робочого столу для будь-якої людини, незалежно від технічних навичок або фізичних обставин. Інтернаціоналізація та локалізація. Зараз GNOME перекладений на 161 мову. Легкість написання програмного забезпечення, яке легко інтегрується з робочим столом, і дає розробникам вільний вибір мови програмування. Дотримання регулярного циклу випуску і обслуговування. Забезпечення підтримки інших установ за межами спільноти GNOME.
Платформи Середовище GNOME працює на багатьох UNIX-подібних операційних системах — GNU/Linux.
Попри те, що спочатку GNOME був середовищем для GNU/Linux, зараз він може бути запущений на більшості UNIX-подібних систем: AIX, IRIX, різновидах BSD, HP-UX; також GNOME було частково адаптовано фірмою Sun Microsystems для ОС Solaris замість застарілого CDE. Sun Microsystems також випустила Java Desktop System — робоче середовище на базі GNOME. Існує порт GNOME для Cygwin, здатний працювати під керуванням Microsoft Windows.
Поширення Робоче середовище GNOME поширюється у складі вільних та комерційних операційних систем, таких як Debian, Fedora, Mandriva, RedHat, OpenSolaris, SLED, Mint, FreeBSD та Ubuntu.
Архітектура GNOME побудований на багатьох відкритих проєктах, як ось GTK+, GConf, LibXML, GNOME VFS та інших. Застосунки до GNOME пишуться на багатьох мовах програмування C++ (gtkmm), C# (Gtk#), Java (Java-GNOME), Python (PyGTK), Vala, Perl (gtk2-perl) тощо, хоча сам GNOME написаний на мові Сі.
Взаємодія між застосунками Мігель де Ікаса створював проєкт GNOME, перебуваючи під враженням від компонентних технологій компанії Microsoft (COM і ActiveX). Планувалося зробити аналогічні технології (на основі CORBA) важливою частиною GNOME. Технологія CORBA реалізована в GNOME у вигляді брокера ORBit. Засоби для створення графічних компонентів, підтримка складних документів надається бібліотекою .
Проте сьогодні основним засобом взаємодії між застосунками є D-Bus — полегшений механізм межпроцессної взаємодії, спеціально розроблений для настільного застосування. Від використання CORBA і Bonobo заплановано з часом відмовитися.
Графіка і мультимедіа Як графічні і мультимедіа-інструменти в GNOME використовуються деякі проєкти freedesktop.org.
Бібліотека Cairo забезпечує виведення векторної графіки. Вона використовується в GTK+ для відображення елементів інтерфейсу.
Технологія GStreamer забезпечує «прозору» роботу з аудіо і відео різних форматів — введення, обробку і виведення. Її використовують, зокрема, мультимедіа-програвач Totem і програма витягання аудіо з компакт-дисків Sound Juicer .
Poppler — бібліотека відображення PDF-документів, заснована на xpdf. Вона використовується застосунком проглядання документів Evince.
Tango Desktop Project — це спроба створити єдиний візуальний стиль для вільного програмного забезпечення, насамперед в області значків. Офіційна тема значків GNOME слідує рекомендаціям проєкту Tango за зовнішнім виглядом значків, а також відповідає специфікаціям найменування значків freedesktop.org.
Налаштування середовища Для зберігання налаштувань середовища і застосунків та відстеження їхніх змін використовується система GConf. Самі дані налаштувань зберігаються, як правило, в XML-ах. Для користувача і застосунків вони представляються у вигляді єдиного «дерева» опцій, подібно до реєстру Windows. Застосунки, що використовують GConf, можуть надавати описи для окремих опцій, які потім можуть бути перекладені іншими мовами в рамках загального процесу локалізації середовища.
При зміні якогось значення налаштування система GConf автоматично сповіщає про це всі «зацікавлені» застосунки, чим забезпечується миттєве застосування нових налаштувань. Крім того, GConf дозволяє системним адміністраторам обмежити зміну тих або інших налаштувань, зробивши їх обов'язковими для користувачів.
Основні підпроєкти GNOME спирається на велику кількість різних проєктів. Bonobo — складовий документ технології (застарілий у поточній версії). GConf — для зберігання налаштувань програми (GSettings в GNOME 3). GVFS — віртуальна файлова система. GNOME Keyring — для зберігання шифрування ключів та інформаційної безпеки. Переклад GNOME Project — для перекладу документів та програм на різні мови. GTK+ — використовується для побудови графічних додатків. Використання GTK+ як базового віджет-інструментарію дає GNOME вигоду від певних функцій, таких як тематизація (можливість зміни зовнішнього вигляду програми) і згладжування графіки. LibXML — бібліотека XML. ORBit — CORBA ORB для програмного забезпечення комплектуючі.