отличия Cinnamon от Gnome

Я использую у себя Linux Mint, соответственно DE у меня Cinnamon. Решил чутка изучить чем сабж отличается от Gnome. (Cinnamon — форк от Gnome).
Заодно прогнал ряд команд на своей системе, чтобы посмотреть на живые данные.

Немного истории

Cinnamon появился в 2011 году, когда GNOME Shell перешёл на новую парадигму интерфейса (Activities Overview вместо привычной панели с меню). Часть команды Linux Mint не приняла эти изменения и форкнула GNOME Shell, сохранив классическую модель рабочего стола.

Что общего

Технологический стек: GTK, GLib, dconf/gsettings для хранения настроек
Системные сервисы: systemd, NetworkManager, PulseAudio/PipeWire, PolicyKit одинаковые для обеих сред
Композитор: у Cinnamon это Muffin, а это форк Mutter (композитора GNOME), поэтому базовая логика рендеринга и анимаций общая
Совместимость с GNOME-приложениями и (частично) с GTK-темами

Ключевые отличия

Cinnamon | GNOME

Интерфейс: Классическая панель + меню Пуск VS Activities Overview, полноэкранный обзор
Файловый менеджер: Nemo (форк Nautilus, 2012) VS Nautilus
Композитор: Muffin (форк Mutter) VS Mutter
GTK: Остаётся на GTK3 VS Мигрирует на GTK4 + Libadwaita
Расширяемость: Апплеты/десклеты/расширения встроены в систему VS Extensions через extensions.gnome.org
Настройки: cinnamon-settings (много тонких настроек из коробки) VS gnome-control-center (минимализм)

Самое заметное для пользователя: GNOME двигается в сторону упрощения и мобильно-подобного UX, тогда как Cinnamon сознательно держится за традиционную десктопную модель с максимумом настроек без сторонних утилит.

Как я проверял всё это на своей системе

1. Какой композитор реально используется

wmctrl -m

Вывод: Name: Mutter (Muffin)  подтверждает, что Muffin работает и идентифицирует себя как совместимый с Mutter.

2. Что за процесс отвечает за композитинг

ps aux | grep -i cinnamon

Показывает, что shell и композитор объединены в один процесс `cinnamon —replace` — отдельного демона `muffin` не существует, это разделяемая библиотека.

3. Подтверждение через линковку библиотек

ldd $(which cinnamon) | grep -i muffin

Видно `libmuffin.so.0` и форкнутые `libmuffin-clutter`/`libmuffin-cogl`  свой собственный графический стек, отдельный от системного Clutter/Cogl.

4. Какая версия GTK используется

dpkg -l | grep libgtk-3
ldd $(which cinnamon) | grep -i gtk

Подтвердил: Cinnamon линкует именно **GTK3** (`libgtk-3.so.0`), а не GTK4.

5. Есть ли в системе GTK4 параллельно

dpkg -l | grep libgtk-4

GTK4 в системе есть — его подтягивают отдельные приложения (gnome-calendar, baobab, simple-scan и другие), но не сам Cinnamon.

6. Кто именно зависит от GTK4

apt-mark showmanual | xargs -I{} sh -c ‘dpkg -s {} 2>/dev/null | grep -q «Depends:.*libgtk-4» && echo {}’ 2>/dev/null

Список показал GNOME-утилиты из состава Ubuntu base плюс `libadwaita-1-0`  надстройку над GTK4, которая заметно ограничивает кастомизацию тем по сравнению с GTK3.

7. Параметры композитинга (для тех, кого волнует тиринг)

gsettings list-recursively org.cinnamon.muffin
sudo grep -i «glamor\|GLX\|EGL» /var/log/Xorg.0.log
nvidia-settings -q all | grep -i sync

На моей системе рендер идёт через проприетарный NVIDIA GLX (не glamor/EGL), `SyncToVBlank` включён на уровне драйвера  конфигурация настроена в пользу минимального тиринга.

8. Ещё одна фишка дополнительно. Как поглядеть какие приложения используют QT, а не GTK

apt-mark showmanual | xargs -I{} sh -c ‘dpkg -s {} 2>/dev/null | grep -q «Depends:.*libqt5» && echo {}’ 2>/dev/null

sudo lsof 2>/dev/null | grep -i «libqt» | awk ‘{print $1, $2}’ | sort -u

Итог

Cinnamon и GNOME разошлись на уровне интерфейса и части графического стека, но под капотом у них общие корни: тот же Mutter/Muffin, GTK, dconf.
Главное практическое следствие: большинство системных гайдов «для GNOME» (network, systemd, dbus) применимо и к Cinnamon один в один, а вот всё, что касается темизации, эффектов и композитинга, нужно смотреть отдельно, с поправкой на Muffin вместо Mutter.

Оставьте комментарий