Добрый день дорогой читатель, данное повествование не является истиной в последней инстанции, это некая инструкция по установке (в основном для собственного пользования) Mate на Artix Linux с пояснениями и все возможными мыслями. Действия будут происходить на KVM/QEMU для наглядности.
Mate это классическая среда рабочего стола, которая является продолжением GNOME 2. Она сочетает в себе традиционный интерфейс, высокую стабильность и умеренное потребление ресурсов, что делает её актуальной для слабых по современным меркам пк.
Особенности Mate
- Традиционный интерфейс: Использует классическую метафору рабочего стола с панелями, меню приложений и списком окон, привычную пользователям Windows и старых версий GNOME.
- Легковесность и скорость: MATE потребляет меньше оперативной памяти и ресурсов процессора, чем современные GNOME или Cinnamon, что позволяет ей плавно работать на старом или слабом оборудовании.
- Высокая кастомизация: С помощью приложения MATE Tweak можно легко менять макеты панелей (например, имитировать интерфейс macOS, Windows или классический GNOME).
- Стабильность: Окружение развивается консервативно, минимизируя резкие изменения в интерфейсе и обеспечивая надежную работу системы.
Если сравнить с другими окружениями, исключив такие как KDE Plasma и Gnome, а одного класса
- Если сравнить c XFCE то Mate предлагает чуть больше функций "из коробки" и визуально более современна, при этом сопоставима по потреблению ресурсов.
- Если сравнить с Cinnamon то Mate значительно легче и быстрее на бюджетных ноутбуках, хотя Cinnamon выглядит более "отполированным" и современным.
Установка MATE на Artix Linux очень похожа на установку Cinnamon, но с
использованием другой группы пакетов.
1. Простой способ: Использование образа системы с Mate
Если хотите избежать ручной настройки, скачайте официальный образ Artix с пометкой Mate.
- Выберите ISO с нужной системой инициализации (OpenRC, runit, s6 или dinit).
- Запустите графический инсталлятор Calamares, который автоматически установит систему и настроит Mate «из коробки».
2. Установка на базовую систему
Если у вас уже установлена базовая система без графической оболочки, и есть
интерес по копаться в недрах конфигов установив и настроив самостоятельно то перейдем к выполнению следующих шагов:
Опционально. Отсортируйте зеркала репозитория предварительно установив свежий пакет зеркал artix-mirrorlist, дабы избежать проблем со скачиванием, метод описан в статье "Artix решение проблем с зеркалами или ведро дёгтя в кружке мёда"
Обновите Artix Linux, выполнив до боле известную команду:
sudo pacman -Syu
Установка пакетов Mate
после успешного обновления Artix Linux приступим к установке Mate
выполнив три основных этапа: установка необходимых пакетов, настройка дисплейного менеджера (входа в систему) и активация сервисов (так как в Artix нет systemd). Но сначала определимся с пакетами какие будем устанавливать
- xorg, xorg-server, xorg-xinit - пакеты Xorg
- mate mate-extra - метапакеты оболочки
- lightdm, lightdm-gtk-greeter, lightdm-gtk-greeter-settings - пакеты дисплейного менеджера
- artix-gtk-presets - пакет содержит настройки оформления специально для Artix.
- networkmanager network-manager-applet - пакеты сетевого менеджера
- pipewire pipewire-pulse pipewire-alsa wireplumber - пакеты звукового сервера
Установим пакеты выполнив команду ниже:
sudo pacman -S xorg xorg-server xorg-xinit mate mate-extra lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings artix-gtk-presets networkmanager network-manager-applet pipewire pipewire-pulse pipewire-alsa wireplumber
Важно. Забегу чуть вперед, обратите внимание на выхлоп pacman'а при установки выше описанных пакетов на Artix Linux с системой инициализации S6, могут быть ошибки с такими демонами как elogind и dbus, их следует проверить на активность перед запуском дисплейного модуля lightdm.
Установка пакетов для запуска сервисов (LightDM, NetworkManager, PipeWire)
для dinit установим следующие пакеты:
sudo pacman -S lightdm-dinit networkmanager-dinit pipewire-dinit pipewire-pulse-dinit wireplumber-dinit dinit-user-spawn
для openrc установим следующие пакеты:
sudo pacman -S lightdm-openrc networkmanager-openrc pipewire-openrc pipewire-pulse-openrc wireplumber-openrc
для runit установим следующие пакеты, пакеты для запуска звукового сервера для данной системы инициализации отсутствуют по этому в дальнейшем запустим средствами Mate:
sudo pacman -S lightdm-runit networkmanager-runit
для s6 установим следующие пакеты, аналогичные обстоятельства c PipeWire что и с runit будем запускать средствами Mate:
sudo pacman -S lightdm-s6 networkmanager-s6
Запуск сервисов (LightDM, NetworkManager, PipeWire)
Прежде чем запускать сервисы, надо убедится в каких группах состоит пользователь
Проверим следующей командой:
groups $USER
или же:
id -Gn $USER
если пользователь не состоит в группах audio и video то следует добавить выполнив команду ниже:
sudo usermod -aG audio,video $USER
groups $USER
для dinit выполним следующие команды. Останавливаем сервис dhcpcd и вместо него запустим NetworkManager что бы сетевые соединения отображались в оболочке.
sudo dinitctl disable dhcpcd
sudo dinitctl stop dhcpcd
sudo dinitctl status dhcpcd
sudo dinitctl enable NetworkManager
sudo dinitctl status NetworkManager
далее запустим dinit-user-spawn для возможности запуска сервисов PipeWire от имени пользователя
sudo dinitctl enable dinit-user-spawn
dinitctl enable pipewire
dinitctl enable pipewire-pulse
dinitctl enable wireplumber
Звуковой сервер запущен, проверим корректность запуска выполнив команду
pactl info
если все корректно как на скрине ниже, то переходим к запуску дисплейного менеджера
sudo dinitctl enable ligthdm
для openrc выполним следующие команды, принцип аналогичен остановим и удалим из автозагрузки dhcpcd, а в место него запустим NetworkManager
sudo rc-service dhcpcd stop
sudo rc-update del dhcpcd default
sudo rc-service dhcpcd status
sudo rc-update add NetworkManager default
sudo rc-service NetworkManager restart
sudo rc-service NetworkManager status
далее от имени пользователя добавим в автозапуск PipeWire и перезапустим звуковой сервер, опционально можно глянуть статусы процессов
rc-update add pipewire default --user
rc-update add pipewire-pulse default --user
rc-update add wireplumber default --user
rc-service pipewire restart --user
rc-service pipewire-pulse restart --user
rc-service wireplumber restart --user
rc-service pipewire status --user
rc-service pipewire-pulse status --user
rc-service wireplumber status --user
после проверим звуковой сервер командой ниже
pactl info
далее переходим к запуску дисплейного менеджера
sudo rc-update add ligthdm default
sudo rc-service ligthdm restart
для runit следует выполнить следующие команды
sudo sv stop /run/runit/service/dhcpcd
sudo sv satus /run/runit/service/dhcpcd
sudo rm /run/runit/service/dhcpcd
sudo ln -s /etc/runit/sv/NetworkManager /run/runit/service/
sudo sv start /run/runit/service/NetworkManager
sudo sv satus /run/runit/service/NetworkManager
sudo ln -s /etc/runit/sv/lightdm /run/runit/service/
Обратите внимание при добавлении в автозапуск пакетов PipeWire укажите задержку старта опытным путем можно подобрать оптимальное значение, я указал в 5 секунд, дабы на верняка. Иначе звуковой апплет не виден на панели, но он есть.
для s6 тут немного придется по возиться, пока все подготовим к запуску Mate но запустим не сразу, сначала выключим dhcpcd и в место него добавим в автозапуск NetworkManager и так же добавим lightdm
sudo rm /etc/s6/adminsv/default/contents.d/dhcpcd
sudo touch /etc/s6/adminsv/default/contents.d/NetworkManager
sudo touch /etc/s6/adminsv/default/contents.d/lightdm
sudo s6-db-reload
но прежде чем перезагружаться или запускать дисплейный менеджер следует проверить запущены ли dbus и elogind иначе можно получить при входе в профиль пользователя "failed to start session" это как раз связано с отсутствием запущенных сервисов управления сессиями или некорректными правами доступа на директорию пользователя.
особо важно проверить статус dbus и elogind если они выключены то их обязательно надо включить иначе в сессию Mate не войти
sudo s6-stat /run/service/dbus-srv
sudo s6-stat /run/service/elogind
sudo touch /etc/s6/adminsv/default/contents.d/dbus-srv
sudo touch /etc/s6/adminsv/default/contents.d/elogind
sudo s6-db-reload
в моем случае они выключены добавим в автозагрузку и обновим базу сервисов
далее пробуем запустить и удостоверимся что они запущены корректно
sudo s6-rc -u change dbus-srv
sudo s6-rc -u change elogind
sudo s6-stat /run/service/dbus-srv
sudo s6-stat /run/service/elogind
Нюанс. иногда dbus копризничает говорит что доступ запрещен s6-log fatal unable to open /var/log/dbus/lock, это бывает из за того что не создана структура директорий лога для процесса, лечится это командами ниже
sudo mkdir -p /var/log/dbus
sudo chown -R s6log:s6log /var/log/dbus
sudo chmod 755 /var/log/dbus
и последней командой запускаем дисплейный менеджер
sudo s6-rc -u change lightdm
Обратите внимание ситуация та же что и в runit, при добавлении в автозапуск пакетов PipeWire укажите задержку старта, я указал в 5 секунд, дабы на верняка. Иначе звуковой апплет не виден на панели, но он есть.
Запуск wayland сессии в Mate
Хотя большинство приложений MATE уже портированы на Wayland,
официальной стабильной сессии (как в GNOME или KDE) пока не
существует. Запуск полноценной Wayland-сессии в MATE на данный момент остается экспериментальной возможностью.
За основу взято ArtixWiki, ArchWiki и темы форумов по данной тематике, а так же собственный опыт и наработки.
За сим откланиваюсь...