Некоторое время назад узнал про композитор hyprland и, обнаружив соответствующий пакет в Сизифе, решил его попробовать. Хочу поделиться опытом установки, возможно написанное мной кому-то поможет или послужит основой для статьи о пакете на alt linux wiki. Насколько я понял, hyprland - проект молодной и активно развивающийся, информации по нему не так уж и много, особенно на русском языке. Сразу скажу, что ранее имел дело только с Gnome и KDE, никогда не занимался сборкой из git. На установку, настройку и поиск решения возникших проблем ушел один вечер. Далее распишу по каждому пакету, будет много букв, поэтому большую часть прячу под спойлеры. За основу взял regular-сборку на lxde, поскольку встречал информацию о том, что это окружение никак не конфликтует с hyprland. Итак, установка: ====== 1. ====== Для начала установил сам композитор, рекомендуемый по-умолчанию эмулятор терминала, лаунчер wofi, а также пакеты, не являющиеся к нему зависимостями, но отмеченные на hyprland-wiki как важные и влияющие на пользовательский опыт. apt-get install hyprland kitty wofi pipewire wireplumber mako qt5-wayland qt6-wayland xdg-desktop-portal xorg-xwayland Сразу включил службы pipewire, но не уверен, нужно ли было это делать. После установки у меня они были выключены, возможно включились бы после перезагрузки. systemctl --user enable pipewire.service systemctl --user enabe pipewire-pulse.service systemctl --user enable wireplumber.service Запуск композитора командой Hyprland переключившись на другой tty, при первом запуске создается конфиг в ~/.config/hypr/hyprland.conf Настройки подробно расписаны на wiki проекта. В конфиге сразу внес в автозапуск агент аутентификации (взял из lxde, он работает, проверил, запустив gparted) и демон уведомлений mako exec-once = /usr/bin/lxpolkit exec-once = mako ====== 2. ====== Для управления обоями рабочего стола решил использовать утилиту hyprpaper (https://github.com/hyprwm/hyprpaper). В Сизифе ее нет, собирал из git. Установил сам git, cmake и зависимости для сборки. apt-get install git cmake libwayland-client-devel libwayland-server-devel libwlroots-devel gcc-c++ wayland-protocols ninja-build libcairo-devel libpango-devel libjpeg-devel libwayland-cursor-devel libGLES-devel libmagic-devel Сборка полностью по инструкции из git: git clone https://github.com/hyprwm/hyprpaper cd hyprpaper Собранный бинарник лежит в ./build/, под su - скопировал его в /usr/bin Добавил конфиг hyppaper.conf в ~/.config/hypr. Содержимое конфига, где путь нужно заменить на путь до нужного изображения, а monitor1 на имя используемого монитора. Имя монитора можно узнать в консоли через hyprctl monitors preload = /path/to/image.png wallpaper = monitor1,/path/to/image.png make all Для запуска нужно добавить в hyprland.conf строку для запуска hyprpaper exec-once = hyprpaper ====== 3. ====== Следующим на очереди был xdg-desktop-portal-hyprland (https://github.com/hyprwm/xdg-desktop-portal-hyprland), также собирал его из git. Для сборки, помимо уже установленного, потребовалось доустановить еще пакеты: apt-get install meson pipewire-libs-devel libinih-devel libgbm-devel libdrm-devel libuuid-devel libsystemd-devel qt6-wayland-devel Сборка git clone https://github.com/hyprwm/xdg-desktop-portal-hyprland cd xdg-desktop-portal-hyprland meson build --prefix=/usr cd hyprland-share-picker && make all && cd .. Установка от суперпользователя из каталога xdg-desktop-portal-hyprland: ninja -C build install cp ./hyprland-share-picker/build/hyprland-share-picker /usr/bin Далее с ним ничего делать не нужно, при установленном xdg-desktop-portal должен работать автоматически. Проверить работу, например возможность расшарть экран, можно на https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/ и подобных. ====== 4. ====== В качестве бара решил попробовать waybar (https://github.com/Alexays/Waybar). В Сизифе он есть, однако в нем отсутствовал индикатор рабочих мест "wlr/workspaces". Путем долгого и нудного поиска выяснил, что для его работы необходимо собирать бар с параметром expeimental=true, поэтому дорога снова на git. Снова зависимости: apt-get install libdbusmenu-gtk3-devel libfmt-devel jsoncpp-devel libevdev-devel libinput-devel libmpdclient-devel libnl-devel libpulseaudio-devel scdoc libspdlog-devel libupower-devel rpm-build-xdg libstdc++-devel-static Шрифт для отображения картинок в баре: apt-get install fonts-otf-fontawesome Сборка git clone https://github.com/Alexays/Waybar cd Waybar meson build -Dexperimental=true Установка, от суперпользователя из каталога Waybar ninja -C build install Добавил в hyprland.conf строку для запуска waybar exec-once = waybar Пользовательские конфиги для waybar хранятся в ~/.config/waybar Примеры можно взять из /usr/local/etc/xdg/waybar ====== 5. ====== Остальное время потратил на небольшие настройки hyprland и бара: Для себя пока включил максимально простой индикатор рабочих мест. В ~/.config/waybar/config добавил индикатор: "wlr/workspaces": { "format": "{name}", "on-click": "activate" } Вывел его в левую секцию, модули по-умолчанию оттуда убрал, большинство относилось к композитору sway и не выводилось "modules-left": ["wlr/workspaces"] По инструкции с hyprland wiki внес изменения в ~/.config/waybar/style.css Вместо #workspaces button.focused сделал #workspaces button.active В hyprland.conf включил русскую раскладку и переключение по Alt+Shift input { kb_layout = us,ru ... kb_options = grp:alt_shift_toggle ... } Вывел индикатор языка на waybar В ~/.config/waybar/config "hyprland/language": { "format": "{}", "format-en": "EN", "format-ru": "RU", "keyboard-name": "at-translated-set-2-keyboard" } keyboard-name можно посмотреть в выводе hyprctl devices Искомая клавиатура - та, которая меняет active keymap по Alt+Shift Добавил стиль для индикатора в ~/.config/waybar/style.css. Без него имя раскладки отображалось как ... #language { background-color: #ffffff; color: #000000; min-width: 40px; } На этом у меня пока все. Дальше в планах внимательно изучить документацию к hyprland и waybar и настроить их под себя. Пока впечатления от композитора положительные. Если что-то делал не так, что-то можно было сделать лучше, оптимальнее и т.д. - конструктивная критика приветствуется. Если тема найдет отклик - попробую описать, что получилось дальше. Спасибо всем, кто смог дочитать это до конца. Источник https://forum.altlinux.org/index.php?topic=47752.0 Установка hyprland « : 05.07.2023 22:02:32 »