Найти в Дзене

Установка Artix Linux часть 3 (установка графической облолочки Xfce, Звук, Wayland-сессия, Тайлинг)

Добрый день дорогой читатель, данное повествование не является
истиной в последней инстанции, это некая инструкция по установке (в
основном для собственного пользования) XFCE на Artix Linux с пояснениями и все возможными мыслями. Действия будут происходить на KVM/QEMU для наглядности. XFCE - это «старая добрая классика», которая умудряется оставаться
актуальной десятилетиями. Ее часто называют «золотой серединой» между
тяжеловесными средами такие как GNOME, KDE и спартанскими оконными менеджерами. Основные достоинства за которые её любят: Феноменальная стабильность. В отличие от GNOME, где каждое крупное обновление может «сломать» расширения, XFCE меняется крайне консервативно. Вы можете настроить систему один раз и быть уверенным, что через два года она будет выглядеть и работать точно так же. Легкость и скорость. Она потребляет значительно меньше оперативной памяти и ресурсов процессора, чем современные аналоги. На Artix Linux чистая сессия XFCE может занимать всего 400–600 МБ RA
Оглавление

Добрый день дорогой читатель, данное повествование не является
истиной в последней инстанции, это некая инструкция по установке (в
основном для собственного пользования) XFCE на Artix Linux с пояснениями и все возможными мыслями. Действия будут происходить на KVM/QEMU для наглядности.

XFCE - это «старая добрая классика», которая умудряется оставаться
актуальной десятилетиями. Ее часто называют «золотой серединой» между
тяжеловесными средами такие как GNOME, KDE и спартанскими оконными менеджерами.

Основные достоинства за которые её любят:

Феноменальная стабильность. В отличие от GNOME, где каждое крупное обновление может «сломать» расширения, XFCE меняется крайне консервативно. Вы можете настроить систему один раз и быть уверенным, что через два года она будет выглядеть и работать точно так же.

Легкость и скорость. Она потребляет значительно меньше оперативной памяти и ресурсов процессора, чем современные аналоги. На Artix Linux чистая сессия XFCE может занимать всего 400–600 МБ RAM, что делает её идеальной для старых ноутбуков или пк, где важна производительность.

Модульность. XFCE состоит из отдельных компонентов, которые слабо зависят друг от друга.

  • Thunar — один из самых быстрых и понятных файловых менеджеров.
  • Xfce-panel — невероятно гибкая панель, которую можно превратить во что угодно: от дока в стиле macOS до классической панели Windows 95.
  • Если вам не нравится какой-то элемент, его легко заменить на аналог из другой среды.

Понятная настройка. Все настройки сосредоточены в одном месте («Диспетчер настроек»). Вам не нужно лежать в дебрях реестра или править сложные JSON-конфиги — почти всё делается через графический интерфейс, но при этом система остается предсказуемой.

Отсутствие «лишнего» XFCE не навязывает вам особый стиль работы. Здесь нет поиска «по всему компьютеру» как в GNOME, который индексирует файлы и грузит диск, или сложных эффектов. Она просто дает вам рабочий стол и не мешает заниматься делами.

В Artix Linux XFCE пользуется особой популярностью, так как философия «простоты и контроля» этой графической среды идеально совпадает с философией дистрибутива без systemd.

1. Простой способ: Использование образа системы с XFCE

Если хотите избежать ручной настройки, скачайте официальный образ Artix с пометкой XFCE .

  • Выберите ISO с нужной системой инициализации (OpenRC, runit, s6 или dinit).
  • Запустите графический инсталлятор Calamares, который автоматически установит систему и настроит XFCE «из коробки».

2. Установка на базовую систему

Если у вас уже установлена базовая система без графической оболочки, и есть интерес по копаться в недрах конфигов установив и настроив
самостоятельно то перейдем к выполнению следующих шагов:

Опционально. Отсортируйте зеркала репозитория предварительно установив свежий пакет зеркал artix-mirrorlist, дабы избежать проблем со скачиванием, метод описан в статье "Artix решение проблем с зеркалами или ведро дёгтя в кружке мёда"

Обновите Artix Linux, выполнив до боле известную команду:

sudo pacman -Syu

Установка пакетов XFCE

после успешного обновления Artix Linux приступим к установке XFCE выполнив три основных этапа: установкапакетов, настройка дисплейного менеджера (входа в систему) и активация сервисов (так как в Artix нет systemd). Но сначала определимся с пакетами

  • xorg xorg-server xorg-xinit - данные пакеты относятся к X11.
  • xfce4 xfce4-goodies - пакеты XFCE
  • lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings - дисплейный менеджер и пакет для его настройки
  • networkmanager network-manager-applet - менеджер управления сетевыми интерфейсами с апплетом.

переходим непосредственно к установке необходимых пакетов

sudo pacman -S xorg xorg-server xorg-xinit xfce4 xfce4-goodies lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings networkmanager network-manager-applet
на скрине нет lightdm-gtk-greeter-settings так как я про него совсем забыл
на скрине нет lightdm-gtk-greeter-settings так как я про него совсем забыл

как видим оболочка имеет скромные размеры

-2

Установка дисплейного и сетевого менеджера (LightDM и NetworkManager)

Для управления сервисами в той или иной системе инициализации потребуется доустановить соответствующие пакеты с суффиксом названия системы инициализации:

  • lightdm-dinit networkmanager-dinit - для dinit
  • lightdm-openrc networkmanager-openrc - для openrc
  • lightdm-runit networkmanager-runit - для runit
  • lightdm-s6 networkmanager-s6 - для s6

Думаю тут ясно что к чему приступим к установке

Для dinit:

sudo pacman -S lightdm-dinit networkmanager-dinit
-3

Для openrc:

sudo pacman -S lightdm-openrc networkmanager-openrc
-4

Для runit:

sudo pacman -S lightdm-runit networkmanager-runit
-5

Для S6:

sudo pacman -S lightdm-s6 networkmanager-s6
-6

Запуск дисплейного и сетевого менеджера (LightDM и NetworkManager)

для dinit

для начала выключим dhcpcd его мы заменим NetworkManager следует выполнить эти команды:

sudo dinitctl disable dhcpcd
sudo dinitctl stop dhcpcd
sudo dinitctl status dhcpcd

приступаем к запуску NetworkManager выполнив следующие команды

sudo dinitctl enable NetworkManager
sudo dinitctl start NetworkManager
sudo dinitctl status NetworkManager

для запуска XFCE достаточно включить дисплейный менеджер и он сразу же запустится

sudo dinitctl enable lightdm
-7

не настроеный дисплейный менеджер выглядит достаточно сурово

-8

хоть и не настроен, но достаточно симпотично выглядит

-9

немного внешнего вида

-10

для openrc

проведем аналогичные действия, выключив dhcpcd и заменив его NetworkManager следует выполнить эти команды:

sudo rc-service dhcpcd stop
sudo rc-update del dhcpcd default
sudo rc-service dhcpcd status

приступаем к запуску NetworkManager выполнив следующие команды

sudo rc-update add NetworkManager default
sudo rc-service NetworkManager restart
sudo rc-service NetworkManager status

для запуска KDE Plasma достаточно включить дисплейный менеджер, он запустится после рестарта соответствующего демона

sudo rc-update add lightdm default
sudo rc-service lightdm restart
-11
-12

для runit

проведем аналогичные действия, выключив dhcpcd и заменив его NetworkManager следует выполнить эти команды:

sudo sv stop /run/runit/service/dhcpcd
sudo sv satus /run/runit/service/dhcpcd
sudo rm /run/runit/service/dhcpcd

приступаем к запуску NetworkManager выполнив следующие команды

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
-13
-14

Для S6

выполним аналогичные действия что и в других системах инициализации выполнив эти команды:

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
sudo reboot
-15
-16

Установка пакетов и запуск звуковых сервисов средствами XFCE

Поскольку Artix использует системы инициализации отличные от
systemd и в них нет привычного автоматического запуска пользовательских
сервисов, то сервисы придется установить и поднимать в ручную.
Рекомендуется использовать PipeWire, что бы сервисы корректно работали их cледует запускать от имени пользователя, а не root что бы звуковой сервер получит все нужные переменные окружения вашей сессии.

Для начала предварительно проверим в каких группах состоит пользователь. Это можно проверить разными способами, результат будет одинаков. Приступим

groups $USER

или же

id -Gn $USER

данные команды выводят список групп в каких состоит текущий
пользователь (использовал переменную которая содержит имя текущего
пользователя). Если пользователь не состоит в таких группах как audio и
video (на всякий случай) то этот нюанс следует исправить командой

sudo usermod -aG audio,video $USER
groups $USER
-17

Далее установим следующие пакеты

sudo pacman -S pipewire pipewire-pulse pipewire-alsa wireplumber pavucontrol xfce4-pulseaudio-plugin
-18

Самый простой способ запуска звуковых сервисов это через XFCE по бишь входим в программы зайти в настройки далее сеанс и запуск на вкладке автозапуск приложений прописать запуск пакетов pipewire pipewire-pulse wireplumber. Это самый простой способ, но давай те попробуем через систему инициализации так как есть пакеты запуска сервисов.

-19

DInit

Dinit по сравнению с другими системами инициализации более автоматизирован. В Artix поддерживает полноценные пользовательские сервисы через turnstile или dinit-user-spawn, воспользуюсь вторым.

Установим дополнительные пакеты с суффиксом -dinit для запуска сервисов

sudo pacman -S pipewire-dinit pipewire-pulse-dinit wireplumber-dinit dinit-user-spawn
-20

Включим dinit-user-spawn для дальнейшего запуска серверов от имени пользователя:

sudo dinitctl enable dinit-user-spawn

далее от имени пользователя запускаем звуковые сервисы

dinitctl enable pipewire
dinitctl enable pipewire-pulse
dinitctl enable wireplumber

и перезапускаем систему

-21

звук должен заработать. Проверим командой

pactl info

Должно быть: Server Name: PulseAudio (on PipeWire x.x.x).

-22

если не появился аплет на панеле добавьте с помощью контекстнового меню щелкнув правой кнопкой мыши на панели, выбрав панель далее добавить новые элементы найдите в списке модуль Pulse Audio

OpenRC

Установим дополнительные пакеты с суффиксом -openrc для запуска сервисов

sudo pacman -S pipewire-openrc pipewire-pulse-openrc wireplumber-openrc
-23

далее от имени пользователя добавляем в автозапуск звуковые сервисы

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

иначе проще перезапустить систему

-24

как видим сервис стартанул и звук должен заработать. Проверим командой

pactl info

Должно быть: Server Name: PulseAudio (on PipeWire x.x.x).

-25

если не появился аплет на панеле, добавьте с помощью контекстнового меню щелкнув правой кнопкой мыши, выбрав панель далее добавить новые элементы найдите в списке модуль Pulse Audio

Runit

Опять же повоторюсь, самый простой способ запуска звуковых сервисов это через XFCE по бишь программы зайти в настройки далее сеанс и запуск на вкладке автозапуск приложений прописать запуск пакетов pipewire pipewire-pulse wireplumber. Это самый простой способ. И в данном случае воспользуемся им так как нет пакетов запуска в репозитории для системы инициализации runit

-26

если не появился аплет на панеле добавьте с помощью контекстнового меню щелкнув правой кнопкой мыши, выбрав панель далее добавить новые элементы найдите в списке модуль Pulse Audio

S6

Опять же повоторюсь, самый простой способ запуска звуковых сервисов это через XFCE по бишь программы зайти в настройки далее сеанс и запуск на вкладке автозапуск приложений прописать запуск пакетов pipewire pipewire-pulse wireplumber. Это самый простой способ. И в данном случае воспользуемся им так как нет пакетов запуска в репозитории для системы инициализации s6

-27

если не появился аплет на панеле добавьте с помощью контекстнового меню щелкнув правой кнопкой мыши, выбрав панель далее добавить новые элементы найдите в списке модуль Pulse Audio

wayland-сессия в xfce4

Wayland в XFCE (версия 4.20) носит экспериментальный характер и работает крайне не стабильно. Поскольку у XFCE пока нет собственного полноценного Wayland-композитора, разработка xfwl4 продолжается. Для запуска графической среды в этом режиме требуется сторонний композитор. В данный момент дела обстаят так

  • Экспериментальная поддержка: Она официально появилась в версии XFCE 4.20 (релиз в декабре 2024 года).
  • Отсутствие встроенного композитора: В XFCE 4.20 всё еще нет собственного Wayland-композитора (аналога xfwm4). Для запуска сессии необходимо использовать сторонние решения, такие как Labwc или Wayfire но оба варианта крайне не стабильно ведут себя.

Что получаем в действительности

  • Ядро системы: Большинство основных компонентов (панель, рабочий стол, файловый менеджер Thunar) уже портированы и могут работать на Wayland без XWayland.
  • Проблемные зоны:
    Рабочие места:
    Поддержка виртуальных рабочих столов пока отсутствует или ограничена.
    Настройки: Многие диалоги (мышь, клавиатура) не работают, так как эти параметры теперь управляются напрямую композитором.
    Скриншоты и блокировка: Встроенный xfce4-screenshooter поддерживает только полноэкранные снимки; xfce4-screensaver пока не совместим.

Будущее релизы XFCE 4.22 и далее. Разработчики отказались от идеи адаптировать старый xfwm4 под Wayland. Вместо этого решили поступить иначе:

  • Новый композитор Xfwl4: Начата разработка собственного композитора на языке Rust (с использованием библиотеки Smithay).
  • Сроки: Ожидается, что полноценная и стабильная сессия с собственным композитором появится в версии XFCE 4.22 (ориентировочно в 2026 году).

Попытавшись настроить запуск wayland-сессии в XFCE4 не увенчался успехом, увы, по этому не вижу смысла описывать свои действия. Буду ждать Xfwl4.

Cortile тайлинг для xfce4

Небольшой бонус, для любителей тайлинга есть Cortile, это менеджер автоматического тайлинга, который работает поверх стандартного оконного менеджера Xfce (Xfwm4). В отличие от классических тайловых менеджеров (i3, bspwm), он не заменяет вашу среду, а просто добавляет функции умной расстановки окон в X11.

Установка Cortile есть два варианта собрать из исходников либо взять из AUR Arch Linux, но предварительно установив менеджер пакетов например yay. Процесс описан в статье "Установка Arch Linux часть 2 (AUR установка yay)". Далее устанавливаем нужный пакет командой ниже:

yay -S cortile

Файл настроек обычно находится по пути ~/.config/cortile/config.toml.

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

Небольшие рекомендации. Чтобы Cortile работал корректно и не конфликтовал со встроенными функциями, рекомендуется изменить пару настроек:

  • Отключите прилипание: В Диспетчере окон (Window Manager) во вкладке Дополнительно уберите галочки с Прилипание окон к другим окнам и Прилипание окон к краям экрана.
  • Фокус: Лучше использовать фокус по клику, так как фокус за мышью может вызвать рывки окон при их автоматическом перемещении.

За наводку на cortile хочу поблагодарить Валеру Е.

За основу взято ArtixWiki, ArchWiki и темы форумов по данной тематике, а так же собственный опыт и наработки.
За сим откланиваюсь...