Я использую у себя 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.
