Рассказы о среде Cinnamon: введение

Рассказы о среде Cinnamon: введение

В Предисловии было немного рассказано о рабочих средах вообще и о том, почему мы с Манулом выбрали именно Cinnamon, что, собственно, и создало сюжет (этой книжки), Введение к которой ныне предлагается.

Модель разработки

Модель разработки среды Cinnamon сильно отличается от таковой прочих десктопов. Она оказывается противоположно направленной по сравнению с ними. Среды KDE, Xfce, GNOME, а позднее LXDE, LXQt и MATE, создавались командами разработчиков, более или менее независимыми от майнтайнеров отдельных дистрибутивов, и лишь потом начинали использоваться последними в своих сборках.

Среда Cinnamon с первых дней своего существования выглядела «привязанным» к прародительскому Mint’у. Почти так же, как это некогда имело место для Ubuntu и Unity — или, по крайней мере, как это воспринималось для последней пары так называемой общественностью.

На самом деле эта «привязка» была кажущейся, что мы со временем увидим, рассмотрев историю среды Cinnamon. Для чего надо сделать маленькое отступление о дистрибутиве Mint — судьбы этих программных комплексов оказались тесно связанными.

Немного о дистрибутиве Mint

Дистрибутив Mint был создан в 2006 году Клементом Лефевром (Clement Lefebvre), который поставил своей целью создание идеального десктопа «для народа» — домашних пользователей и малого бизнеса. Он представлял собой дериват Ubuntu. То есть Mint в базовой своей части, вплоть до Xorg, был основан на кодовой базе Ubuntu, и все соответствующие пакеты брались из её репозиториев без всяких изменений. Однако изначально он имел и собственный репозиторий, содержащий дистрибутив-специфические компоненты.


Клемент Лефевр

Первоначально релизы дистрибутива Mint выходили довольно часто, но нерегулярно, с интервалом от полутора-двух до пяти-шести месяцев, с тенденцией к полугодовому циклу. Полугодовой релиз-цикл прочно устаканился, начиная с Linux Mint 13 Maya, как раз одновременно с включением в него среды Cinnamon.

В сентябре 2010 года было объявлено о выходе другого дистрибутива проекта Mint — Linux Mint Debian Edition (LMDE). Как можно догадаться по его имени, он был основан на кодовой базе не Ubuntu, а Debian. В качестве таковой выступала ветка testing последнего, и потому релиз-цикла у LMDE нет — его «плавающие» версии маркировались годом и месяцем. Впрочем, в нашем Рассказе речи о LMDE не будет. Так что вернёмся к Linux Mint.

Предыстория нашего Рассказа начинается с 2011 года. До этого момента в качестве рабочего окружения в Mint использовался GNOME текущей версии — той же, что в базовой Ubuntu, в которой GNOME 2 тогда был в главным десктопом. Хотя и не единственным: почти со дня основания дистрибутива существовала и его KDE-редакция (апрель 2005 года), позднее к ней присоединились редакции с рабочими средами Xfce (июнь 2006 года) и LXDE (октябрь 2008 года). На протяжении 2008-2010 годов существовал даже вариант с оконным менеджером Fluxbox.

Однако все эти редакции имели не вполне официальный статус (кроме Kubuntu), и появлялись, как правило, несколько позже сборок «генеральной линии».

И иногда пропадали с горизонта вообще, как случилось с редакцией Fluxbox: она просуществовала в релизах helena, isadora, julia и katya, после чего исчезла без следа. Буквально — образов её не найти на известных зеркалах головного проекта.

Надо сказать, что это оказалась не последняя, и уж точно не самая крупная потеря проекта Linux Mint. В декабре 2017 года было суждено выйти последней KDE-редакции этого дистрибутива, 18.3 Sylvia. Что Клем объяснял сложностью поддержки Qt based системы, идеологически сильно отличной от остальных редакций проекта, основанных на библиотеках Gtk.

Но в 2010–2012 года, с одной стороны, Ubuntu переходит на собственный десктоп Unity. С другой же стороны — появляется релиз GNOME 3 с оболочкой GNOME Shell. Хотя GNOME 3 не стал тогда официальным десктопом Ubuntu — эта роль досталась собственной среде Unity, однако редакция Ubuntu GNOME заняла своё место в ряду перечисленных выше прямых клонов Ubuntu. А поддержка GNOME 2 разработчиками этого десктопа официально прекращается.

По ряду причин и сам Ubuntu GNOME, и GNOME Shell (не говоря уже об среде Unity) оказались для разработчиков Mint неприемлемыми. То есть они остались без собственного привычного десктопа, каковым до сих пор был GNOME 2. Поддержка которого в рамках проекта GNOME была прекращена.

Правда, летом 2011 года некто Perberos, пользователь Atchlinix’а, начал проект MATE, в котором продолжалось развитие идей традиционного рабочего стола «второгонома». И этот проект был поддержан представителями сообщества, которые не выражали восторга от новомодного «третьегнома».

В числе пользователей с образом мыслей, не восторженном в отношении GNOME 3, был и Клемент Лефевр со своими товарищами — создателями Linux Mint. И поэтому нет ничего странного, что в свой дистрибутив они включили среду MATE — одними из первых среди всех дистроителей: проект Ubuntu MATE был образован позже.

А в промежутке времени между созданием Linux Mint MATE Edition и официальным клоном Ubuntu с десктопом MATE наша соотечественница Татьяна Иванова aka Vita замутила проект под именем Matuntu, на базе Ubuntu и десктопа MATE (июнь 2013 года). И с тех пор вот уже более восьми лет поддерживает его чуть ли не в одиночку. Разве что с помощью сочувствующих лиц. Среди которых надо назвать Игоря Мартынова aka ivm и Тенгиза Кучава aka Tengior (увы, 24 марта 2018 года его позвали верхние люди, но мы-то помним).

Повторяю, проект Matuntu начал реально развиваться тогда, когда об официальном Ubuntu MATE (вышедшем, согласно Distrowarch’у, 24 марта 2015 года) дело дальше разговоров ещё не двигалось.

С тех пор проект пережил немало приключений и с доменом, и с хостингом. Однако ныне он размещается здесь. И, будем надеяться, уже навсегда.

Ну а в рамках проекта Linux Mint, кроме MATE Edition, происходила разработка новой оболочки для GNOME 3, которая в декабре 2011 года была анонсирована под именем Cinnamon. Как это было — описано в следующем разделе нашего Рассказа.

История среды Cinnamon

Собственно история среды Cinnamon начинается 20 декабря 2011 года, когда проект новой рабочей среды был анонсирован. А уже 23 декабря составляющие её пакеты стали доступны для скачивания, и сразу в виде релиза 1.1.2 — версии с меньшими номерами предназначались только для служебного пользования, то есть тестирования.

Далее развитие проекта происходило со страшной научно-фантастической силойа: 23 января следующего года появляется релиз 1.3, в середине марта — 1.4, а затем, в сентябре — релиз 1.6. После чего устанавливается полугодовой релиз-цикл — релиз 1.8 выходит в свет 5 мая 2013 года, после серии релизов корректирующих. В октябре того же года появляется релиз 2.0, в апреле 2014 года — релиз 2.2.

Все релизы среды опережали версии Mint, для которых они предназначались, примерно на месяц-полтора. Эта фора отводилась для дополнительного тестирования среды силами энтузиастов и притирки её к целевому дистрибутиву. Что, как показала практика, давало весьма положительный результат. Так, версии Cinnamon 2.2 и 2.4: в релизы Mint 17 и 17.1, соответственно, были включены в существенно доработанном виде по сравнению с первоначально представленными сборками.

Смена версий Cinnamon отражает специфичность его судьбы. Что же происходило при этом? В предыдущем очерке упоминалось, что история этого десктопа началась с появлением GNOME 3. Говорить о кипении страстей, связанных с этим событием, здесь не уместно. Достаточно сказать, что для многих применителей ряда дистрибутивов, включавших GNOME 2 в качестве штатного десктопа, его «осовремененная» версия, в частности, «очень прогрессивная» оболочка GNOME Shell» не вызывала ничего, кроме отвращения

Дистрибутив Mint с момента своего создания был связан с десктопом GNOME нерушимыми, казалось бы, узами. Но эта нерушимость касалась GNOME 2. А вот GNOME 3, особенно в своём первозданном виде, в концепцию развития дистрибутива не вписывался никаким боком. Пытаться сохранить «второгном», а его основа, библиотеки Gtk 2, перестала поддерживаться разработчиками. Ситуация требовала кардинального решения. И их нашлось целых два.

Первое решение носило косметический характер. Это был набор MGSE (Mint GNOME Shell Extensions), объединяющий дополнения к GNOME Shell, которые могли обеспечить не только традиционный интерфейс, но и восполнить недостающий функционал за счёт внешних модулей, таких, как панель Bottompanel, система переключения между окнами Windowlist и меню приложений Menu. Результатом стал выход в ноябре 2011 года релиза Mint 12 Lisa, включавшего в качестве десктопа по умолчанию GNOME 3 с MGSE.

Однако, видимо, майнтайнерам Mint изначально было ясно, что MGSE — не более, чем паллиатив, и потому, с одной стороны, включили в свой дистрибутив альтернативный десктоп — MATE (первыми среди майнтайнеров распространённых дистрибутивов). А с другой стороны, можно догадаться, что где-то за кадром Клемент Лефевр (Clement Lefebvre), основатель и основной майнтайнер дистрибутива, вместе с соратниками уже ковал основу совершенно новой оболочки для GNOME 3. Которая стала доступной буквально через месяц после выхода Mint 12 Lisa и вместе с «третьегномовским базисом» получила имя среды Cinnamon.

Основную часть базиса среды Cinnamon составил оконный менеджер Muffin — форк программы Mutter из GNOME 3 аналогичного назначения. Главное отличие новой оболочки от связки GNOME 3 и MGSE состояло в том, что функционал внешних расширений последнего был включён непосредственно в её состав. Это предоставило средства управления взаимодействием между дополнительными функциями и определения порядка их загрузки. В результате были реализованы добавление пиктограмм в область уведомлений, система уведомлений в стиле GNOME 2, возможность изменения позиции панели и её автоматического скрытия.

После серии основных и корректирующих релизов, стремительным домкратом следующих друг за другим, Cinnamon 1.4 UP1, появившийся 14 мая 2012 года, был включён в качестве штатного десктопа в Mint 13 Maya, анонсированный десять дней спустя. С тех пор выход его версий и стал привязан к релиз-циклу этого дистрибутива.

Всё это время Cinnamon представлял собой просто оболочку к GNOME 3, надстраивающую «форкнутый» менеджер окон и замещающую собой его штатный GNOME Shell. Он включал все базовые приложения GNOME 3 в неизменном виде, такие как терминал, файловый менеджер, текстовый редактор.

Однако во время подготовки релиза GNOME 3.6, в котором предполагалось существенное ограничение функционала и настраиваемости файлового менеджера Nautilus, разработчики Cinnamon начали работы над форком его версии 3.4, назвав её Nemo. Этот самый Nemo и попал в релиз Mint 14 Nadia, хотя сначала в качестве альтернативного. Но уже в версии Cinnamon 1.8.X он был интегрирован с рабочей средой. Кроме того, в этой версии отказались от Центра управления GNOME 3 ввиду его убожества. Он был заменён настроечным комплексом System Setting (по русски — Параметры системы), который позволял выполнить полное конфигурирование среды, не обращаясь к внешним полулевым (а то и откровенно левым) твикам.

Версии Cinnamon 1.8 суждено было стать последним «чистым» форком GNOME 3 — в это же время полным ходом шла подготовка релиза 2.0. Суть этой подготовки заключалась в полной замене базовых компонентов GNOME 3 собственными аналогами. То есть — в создании полностью обособленного окружения, не пересекающегося с GNOME 3 и не связанного с ним внешними зависимостями. В результате чего Cinnamon из оболочки для GNOME, вроде GNOME Shell и Unity, превращался в полноценное рабочее окружение. Итог этой деятельности был вынесен на суд общественности 10 октября 2013 года, в виде релиза 2.0.

Особенности современных версий

Так каковы же особенности нового десктопа, приобретённые им в версии 2.0 и получившие дальнейшее развитие в версиях последующих? Важнейших — три.

Первая — в Cinnamon гармонично сочетаются старые добрые элементы управления, такие, как главное меню в стиле кнопки Пуск (сами знаете откуда), и элементы модерна, столь привлекающие в Unity. Такие, как строка инкрементного поиска, подобная Dash — но без излишеств последнего, то есть без средств поиска в Интернете всякого рода «парнухи».

Вторая особенность — достигнутая в Cinnamon гармония между простотой конфигурирования и богатством его возможностей. Если настройки в KDE, при их изобилии, приобретают всё более необозримый вид, а в GNOME 3, напротив разубоживаются до полного неприличия, в нашем десктопе они почти столь же просты, как в Xfce, и почти столь же изобильны, как в KDE. И, в отличие от Unity, выполняются исключительно штатными средствами, а не бесчисленными сторонними твиками.

Третья особенность — аскетизм Cinnamon в отношении штатных приложений. В существующем виде к таковым можно отнести только файловый менеджер Nemo. Прочие приложения, обычно представленные в сборках Cinnamopn, такие, как терминал, текстовый редактор, программы для просмотра изображений и документов, а также аудио- и видеоприложения, не специфичны для этой среды и обычно заимствуются из проекта GNOME, хотя легко заменяемы. Например, компонентами кросс-десктопного набора X-Apps, также pазвиваемого в рамках проекта Mint

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

Четвёртая особенность среды Cinnamon — весь её традиционализм покоится на весьма современном базисе в виде библиотек Gtk 3, что должно обеспечить спокойное развитие этого десктопа в обозримом будущем. А после релиза в конце 2020 года GTK 4-й ветки начался постепенный, без всякого ажиотажа, переход компонентов среды на этот фреймворк.

При этом сохраняется и совместимость с приложениями не только на основе Gtk 3, но и Gtk 2, до сих пор широко распространёнными и не всегда имеющими адекватные аналоги.

Вообще, плавность и предсказуемость развития среды Cinnamon — это её пятая особенность. И, пожалуй, главнейшая. Её релизы, выходящие два раза в год, весной и осенью, начиная с версии 2.0, не поражают воображение обилием новых функций. Однако в каждом релизе происходит реальная оптимизация функций существующих, при явных косметических усовершенствованиях, которые которые не только повышают комфортность работы, но часто несут и функциональную нагрузку. И при этом на моей памяти (а это уже почти около восьми лет лет) разработчики среды Cinnamon умудрились ни разу ничего в ней не сломать — а ведь редкий десктоп может этим похвастаться…

Распространение и поддержка

Тем не менее, несмотря на многочисленные достоинства, десктоп Cinnamon так и не получил широкого распространения в дистрибутивах Linux. И после знакомства с его историей легко понять, почему: в глазах как пользователей, так и, вероятно, разработчиков, он часто выглядит средой, специально предназначенной для дистрибутива Linux Mint (может быть, ещё и LMDE).

Можно предполагать, что майнтайнеры большинства дистрибутивов отнеслись к Cinnamon настороженно — и пока не изменили своего отношения. В результате на сегоднящний день (05 декабря 2021) Cinnamon используется в 29 активно развиваемых дистрибутивах. Для сравнения: KDE используется в 82 дистрибутивах, GNOME — в 72, MATE — 53, Xfce — в 92. Хотя есть и десктопы, отстающие по использованию, например, Budgie (11 дистрибутивов), и братско-китайский Deepen (вообще 4 дистра).

Ну да ладно, майнтайнеры, игнорирующие Cinnamon — сами себе Злобные Буратины. Хуже то, что в дистрибутивах, вроде бы Cinnamon поддерживающие, поддержка эта не всегда на должной высоте. А под должной высотой поддержки этого десктопа (как, впрочем, и любого другого) следует понимать, во-первых установку его со специального инсталляционного носителя или возможность выбора нужного нам десктопа в процессе инсталляции, а не доустановку его из репозиториев после после завершения оной. А во-вторых, версия этой среды должна соответствовать апстриму из репозитория проекта — для проекта Cinnamon таковой имеет место быть на GitHub’е.

По части поддержки среды Cinnamon первое место уверенно держит Linux Mint (вот неожиданно, верно?). При первичной инсталляции он может быть установлен со штатного ISO-носителя — образ так и называется: Linux Mint Cinnamon Edition (кроме него в рамках проекта доступны образы редакций с десктопами MATE и Xfce).

Эти образы по определению включают в себя последнюю версию среды Cinnamon, которая предназначена для очередного релиза Linux Mint CE, но становится доступной в репозитории примерно за месяц–два до его выхода. Так, в данный исторический момент версия Cinnamon 5.2 появилась в репозитории 18 ноября 2021, а релиз дистра грядущего 20.3 Una предполагается в начале декабря.

Разумеется, с официального образа CE актуальная версия среды устанавливается и работает, как говорится, «искаропки». Однако её можно и обновить с версии предшествующей, о чём будет говориться в следующем Рассказе.

А пока заметим, что в сборках среды Cinnamon почти всех прочих дистрибутивов обязательно чего-то не хватает. Перво-наперво, не хватает номеров версий. Если в Linux Mint CE мы тем или иным способом получаем 5.2 Una, то даже в таких записных rolling-системах, как Arch и его клоны (довольно многочисленные), нашего десктопа выше 5.0.7 вы нигде не увидим. А в таком «крутоскользящем» дистрибутиве, как Voidlinux, среда Cinnamon уже давно застыла на версии 4.8.6 как в установочных образах, так и в репозиториях.

В дистрибутивах, развивающихся по модели fixed release, ситуация с версиями Cinnamon ещё печальные. Так, в официальном репозитории Ubuntu версия среды — 4.8.6 в современных релизах, таких, как hirsute (21.04), impish (21.10) и в грядущем jammy, в прочих же ещё ниже.

Некогда многочисленные PPA-репозитории пакетов для среды Cinnamon, майентайнеры которых (le Bihan, embrosyn, gogo) шли в ногу с прогрессом, забросили это безнадёжное дело давно, на стадиях Bionic, Disco и Focal, соответственно.

Излишне говорить, что ни в официальной сборке из Ubuntu, ни в сборках из PPA задействовать среду Cinnamon на стадии инсталляции как главный десктоп не получится за отсутствием соответствующих установочных образов..

Зато такой установочный образ имеется для ремикса Ubuntu с именем Cinnamon в титулатуре (Ubuntu Cinnamon Remix). Развиваясь с 2019 года, первое время UCR оправдывал свой титул, справно включая последнюю версию среды в очередной релиз. По сети ходили слухи, что UCR станет официальным дериватом Ubuntu, подобно Ubuntu MATE и Ubuntu Budgie.

Однако официального статуса UCR так и не приобрёл, а сборки пакетов для среды Cinnamon (при-?)остановились на версии 4.8.6, уж не знаю, что тут было первично, а что вторично.

Как ни странно, довольно свежие версии нашего десктопа обнаруживаются в openSUSE, как Tumbleweed, так и Leap 15.3 — в обоих случаях это оказывается 5.0.5. Прочие же дистрибутивы, вроде как поддерживающие Cinnamon, с точки зрения качества этой поддержки восхищения не вызывают. А при взгляде на номера версий нашей среды в Debian’е просто прошибала скупая мужская слеза.

Лучом света на этом тёмном фоне выглядит Altlinux P10. Среди его стартовых наборов имеется и образ со средой Cinnamon, первый выпуск которого состоялся 12 сентября 2021 года. В нём, естественно, ни малейшей среды версии 5.2 нет (кстати, и в знаменитом Sysiphu’е она пока тоже отсутствует). Однако StartedKit’ы Altlinux’а выходят ежеквартально. И по опыту прошлых лет можно ожидать, что в грядущем стартовом наборе будет уже актуальный Cinnamon, то есть 5.2.

Так что в настоящий исторический момент гарантированно наслаждаться красотой актуальной версии среды Cinnamon можно только в дистрибутиве Linux Mint, да и то, затратив для этого некоторые усилия. Однако надеюсь, что уже в текущем месяце мы сможем выбирать между двумя дистрибутивами с полноценной поддержкой лучшего десктопа всех времён и народов (по крайней мере таково мнение двух представителей этих самых всех народов, кота Мануала и автора этих строк). И в следующем Рассказе речь пойдёт как раз о первых впечатлениях от этой поддержки.

image_pdfPDF

Добавить комментарий