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

Инструменты сайта


alt_linux_hyperland

Содержание

Некоторое время назад узнал про композитор 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 »

alt_linux_hyperland.txt · Последнее изменение: — 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki