Polo 1.0 для MATE: вышел композитор Wayland на замену Marco в Linux

2026-11-13 54 комментарии
Независимый разработчик Керем Сёке выпустил Polo 1.0 – композитор Wayland для рабочего окружения MATE на базе libweston 16. Программа воспроизводит поведение оконного менеджера Marco и заменяет собой mate-session-manager. Исходный код на C и Vala открыт на GitHub; сеанс можно собрать в Ubuntu 26.04, Debian 14 и Fedora 44

12 ноября 2026 года независимый разработчик Керем Сёке (Kerem Söke) опубликовал на форуме Ubuntu Discourse анонс композитора Polo 1.0.0 для рабочего окружения MATE. Проект переносит логику классического оконного менеджера Marco на протокол Wayland и объединяет управление окнами, отрисовку и ведение сеанса в одном процессе. В отличие от экспериментального сеанса на базе Wayfire, Polo проектировали специально под архитектуру и интерфейсы MATE. Исходный код и инструкции по сборке для Fedora, Debian и Ubuntu открыты в репозитории на GitHub под лицензией GPL-3.0-or-later.

comss img 2026 11 13 100242
Polo 1.0 для рабочего окружения MATE

Чем Polo отличается от сеанса MATE с Wayfire

В рабочем окружении MATE уже есть экспериментальный сеанс Wayland, который работает поверх стороннего композитора Wayfire. Поскольку Wayfire создавали как универсальный модульный композитор, для его связки с MATE приходилось использовать плагины, обходные сценарии запуска и отдельные файлы конфигурации.

Керем Сёке выбрал другой подход, близкий к тому, как развивается собственный композитор xfwl4 в проекте Xfce. Polo написан на языках C и Vala поверх библиотеки libweston 16 и напрямую воспроизводит поведение штатного оконного менеджера Marco (форка Metacity из GNOME 2). В таблице ниже приведено распределение ролей между компонентами в классическом сеансе X11, связке с Wayfire и новой схеме с Polo по документации проекта.

Задача в системеСеанс MATE на X11Сеанс MATE с WayfireСеанс MATE с Polo 1.0
Отрисовка и управление окнамиXorg и оконный менеджер MarcoWayfire с плагинами и отдельной конфигурациейPolo на базе libweston 16 с правилами и темами Marco
Управление сеансомmate-session-managerСценарий запуска и обвязка совместимостиВстроенный менеджер сеанса в Polo (API mate-session 1.28)
Хранение настроек оконGSettings и dconf (схемы Marco)Отдельные конфигурационные файлы WayfireСуществующие ключи Marco в GSettings/dconf и ветка org.mate.polo
Служба параметров рабочего столаmate-settings-daemon на X11Частичная совместимость через прослойкиmate-settings-daemon через XWayland с отключением X11-плагинов

Такое устройство избавляет от дублирования настроек. Панель, файловый менеджер Caja и остальные программы обращаются к привычным интерфейсам D-Bus и читают прежние ключи в GSettings и dconf.

Какие функции управления окнами и экранами работают в Polo 1.0

В первом выпуске реализованы правила размещения окон, темы оформления Metacity/Marco, виртуальные рабочие столы, традиционные оконные меню и переключение задач по Alt+Tab. Пользователи могут прикреплять окна к краям экрана с помощью мыши или комбинаций клавиш, а приложения для X11 запускаются через встроенный оконный менеджер XWayland. Поддерживается общий буфер обмена и интеграция с менеджером истории обмена Clipman.

Протокол layer-shell (wlr-layer-shell) – расширение Wayland для размещения системных панелей, доков, обоев и всплывающих уведомлений в отдельных экранных слоях. С его помощью оболочка закрепляет панель mate-panel у края экрана так, чтобы обычные окна её не перекрывали.

Для конфигураций с несколькими мониторами доступны горячее подключение дисплеев, сохранение раскладок экранов, масштабирование вывода, экранная лупа и настройка гаммы. Создание снимков и трансляция экрана работают через системные службы xdg-desktop-portal (пакеты xdg-desktop-portal-gtk и xdg-desktop-portal-wlr) с утилитами grim, slurp и wl-clipboard. Дополнительно разработчик включил классические визуальные эффекты в духе эпохи GNOME 2 и Compiz: трёхмерный куб рабочих столов, режим обзора Expo, колебание окон (wobbly windows), анимацию сворачивания «волшебная лампа», затухание и масштабирование. Собственные параметры эффектов и композитора собраны в схеме GSettings org.mate.polo.

Управление сеансом и текущие ограничения в дистрибутивах

В режиме сеанса Polo полностью заменяет собой mate-session-manager и реализует его программный интерфейс D-Bus на уровне версии 1.28. С ним напрямую взаимодействуют панель mate-panel, файловый менеджер Caja, mate-power-manager, хранитель экрана mate-screensaver и утилиты mate-session-save и mate-session-inhibit. Внутри композитора работают следующие механизмы:

  • поэтапный автозапуск приложений по фазам MATE (инициализация, оконный менеджер, панель, рабочий стол, прикладные программы) с проверкой условий, задержками и перезапуском;
  • интерфейс org.gnome.SessionManager для учёта клиентских программ, блокировок выхода (inhibitors) и статуса присутствия пользователя;
  • штатные диалоги выхода, перезагрузки и выключения с обратным отсчётом и предупреждением о несохранённых данных в открытых приложениях;
  • управление питанием через системную службу logind, включая ждущий и спящий режимы, смену пользователя и блокировку экрана перед сном;
  • сохранение состояния сеанса в каталог ~/.config/mate-session/saved-session и поддержка старого протокола XSMP через библиотеку libSM для унаследованных программ X11.

Переход окружения на Wayland ещё не завершён. Фоновая служба mate-settings-daemon пока не имеет нативной поддержки Wayland и запускается через XWayland; при старте сеанса Polo автоматически отключает в ней шесть несовместимых модулей (xrandr, keyboard, mouse, media keys, accessibility keyboard и background), так как эти задачи берёт на себя сам композитор. Автор предупреждает, что для полноценной работы требуется собрать актуальные компоненты MATE с включённой поддержкой Wayland: например, во многих репозиториях часть пакетов (включая mate-panel в Fedora) по умолчанию собирается только с поддержкой X11.

Как собрать и протестировать Polo 1.0

Polo развивается как независимая инициатива и пока не входит в официальный состав проекта MATE. Сёке использует композитор как основную рабочую среду и приглашает пользователей дистрибутива Ubuntu MATE, Debian и Fedora протестировать выпуск на конфигурациях с несколькими мониторами. Для сборки из исходного кода требуются компилятор Vala не ниже 0.56, библиотека GLib от 2.80, система сборки Meson от 1.4, набор протоколов wayland-protocols не ниже 1.46 и библиотека libweston 16.

В документации приведены списки пакетов зависимостей для Fedora 44 и 45, Debian 14, а также Ubuntu 26.04 и 26.10. В системах Debian 14 и Ubuntu 26.04/26.10 установка зависимостей выполняется командой:

sudo apt install gcc g++ git meson ninja-build python3 pkg-config valac valadoc libglib2.0-dev libgtk-3-dev libgtk-layer-shell-dev libwayland-dev wayland-protocols libxkbcommon-dev libinput-dev libevdev-dev libseat-dev libsystemd-dev libudev-dev libdrm-dev libgbm-dev libegl-dev libgles-dev libdisplay-info-dev libpixman-1-dev libcairo2-dev libpango1.0-dev liblcms2-dev libpng-dev libxcb1-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-errors-dev libxcb-cursor-dev libxcursor-dev xwayland libdconf-dev libcanberra-dev libpulse-dev libsm-dev libice-dev libmate-desktop-dev python3-xlib python3-yaml libjson-glib-dev xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-wlr grim wl-clipboard slurp

В Fedora 44 и 45 аналогичный набор пакетов устанавливается через пакетный менеджер DNF:

sudo dnf install gcc gcc-c++ git meson ninja-build python3 pkgconf-pkg-config vala valadoc glib2-devel gtk3-devel gtk-layer-shell-devel wayland-devel wayland-protocols-devel libxkbcommon-devel libinput-devel libevdev-devel libseat-devel systemd-devel libdrm-devel mesa-libgbm-devel libglvnd-devel libdisplay-info-devel pixman-devel cairo-devel pango-devel lcms2-devel libpng-devel libxcb-devel xcb-util-wm-devel xcb-util-errors-devel xcb-util-cursor-devel libXcursor-devel xorg-x11-server-Xwayland-devel libcanberra-devel pulseaudio-libs-devel libSM-devel libICE-devel mate-desktop-devel python3-xlib python3-pyyaml json-glib-devel dconf-devel xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-wlr grim wl-clipboard slurp

После клонирования репозитория сборка и запуск полного сеанса из текстовой консоли (TTY) с записью журналов в каталог ~/polo-logs/ выполняются командами:

meson setup build
meson compile -C build
./start-polo.sh

При системной установке в экранном менеджере LightDM появляется отдельный пункт сеанса «MATE (Polo)».

Вывод

Polo 1.0 подойдёт тестировщикам и опытным пользователям MATE, которые хотят проверить работу окружения на Wayland с сохранением привычных настроек и тем Marco. Перед проверкой стоит убедиться, что в системе установлены библиотеки GLib 2.80, Vala 0.56 и wayland-protocols 1.46, а пакеты самого окружения MATE собраны с поддержкой Wayland. Полноценная замена сеанса X11 в дистрибутивах будет зависеть от перевода оставшихся служб MATE на нативный протокол Wayland.

Читаете нас в Google? Добавьте Comss.ru в источникиДобавьте Comss.ru в источники Google
Новые статьи будут чаще в «Главных новостях» Google. Без подписок и уведомлений, отключается в один клик. Нужен вход в аккаунт Google.Наши статьи будут чаще в «Главных новостях». Нужен вход в Google.
Добавить в Google
© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте