Начало работы с LineXinBar: Arch, Debian, Ubuntu, Fedora, NixOS
Попробовать в окне
Чтобы посмотреть на него, не нужно покидать свой рабочий стол. С Rust 1.89 или новее и установленными зависимостями сборки один скрипт собирает LineXinBar и открывает его окном в уже запущенном сеансе.
git clone https://github.com/Petexy/LineXinBar.git
cd LineXinBar
./scripts/run-nested.sh
Вложенный рабочий стол получает свою сессионную шину, поэтому приложения, открытые внутри, остаются внутри. Закрытие окна его завершает. ./scripts/run-nested.sh 3 открывает три виртуальных экрана вместо одного, чтобы попробовать работу с несколькими экранами.
Зависимости сборки для каждого дистрибутива:
sudo pacman -S --needed rust pkgconf clang wayland libinput seatd systemd-libs libdrm \
mesa libxkbcommon libglvnd libx11 libxcb libxcursor libxi libxkbcommon-x11 \
alsa-lib ffmpeg libpipewire
sudo apt install build-essential pkg-config cargo clang libwayland-dev libinput-dev \
libseat-dev libudev-dev libdrm-dev libgbm-dev libxkbcommon-dev \
libegl1-mesa-dev libx11-dev libxcb1-dev libxcursor-dev libxi-dev \
libxkbcommon-x11-dev libasound2-dev libavcodec-dev libavformat-dev \
libavutil-dev libswscale-dev libpipewire-0.3-dev
В Debian 13 установите Rust через rustup: версия из дистрибутива старее, чем нужно для сборки.
sudo dnf install cargo pkgconf-pkg-config clang wayland-devel libinput-devel \
libseat-devel systemd-devel libdrm-devel mesa-libgbm-devel \
libxkbcommon-devel mesa-libEGL-devel libX11-devel libxcb-devel \
libXcursor-devel libXi-devel libxkbcommon-x11-devel alsa-lib-devel \
ffmpeg-free-devel pipewire-devel
Установить пакет
Готовые пакеты для Arch, Debian и Ubuntu, а также Fedora приложены к каждому выпуску на GitHub. Или соберите их сами из репозитория — рецепты лежат в нём.
./packaging/build.sh arch -- --syncdeps
Создаёт PKGBUILD для репозитория и запускает makepkg; пакеты попадают в packaging/out/arch/.
sudo apt install dpkg-dev build-essential pkg-config clang rustup \
libasound2-dev libgbm-dev libavcodec-dev libavformat-dev libavutil-dev \
libswscale-dev libinput-dev libpipewire-0.3-dev libseat-dev libudev-dev \
libxkbcommon-dev
./packaging/build.sh debian
Скрипт сначала всё проверяет и, если чего-то не хватает, называет это одной строкой apt install.
sudo dnf install rpm-build dnf5-plugins git-core
sudo dnf builddep packaging/fedora/lxb-desktop.spec
./packaging/build.sh fedora
Бинарные и исходные RPM копируются в packaging/out/fedora/. Для сборки достаточно контейнера fedora-toolbox.
nix build path:.#linexinbar # the whole desktop, as one derivation
nix build path:.#lxb-compositor # the compositor alone
Репозиторий — закреплённый flake, а nix-build packaging/nix работает и без flakes.
Установите lxb-compositor и lxb-desktop: композитор и оболочку с её порталом, координатором обновлений и записью сеанса.
Запустить сеанс
Когда пакеты установлены, выберите LineXinBar в списке сеансов на экране входа, как любой другой рабочий стол.
Из текстовой консоли всё запускает lxb --shell; выход из оболочки завершает сеанс, а не оставляет пустой экран. Экран входа Console Experience сделан в пару к нему и передаёт управление оболочке одной непрерывной картинкой.
Настройки хранятся в ~/.config/lxb/ — в основном их записывает сама колонка Настроек оболочки, и все их можно читать и править вручную.
Дополнительные пакеты
Три интеграции — отдельные пакеты, чтобы машина, которая никогда не эмулирует консоль, не несла ничего из этого. Установите любой из них во время сеанса, и его строка появится через несколько секунд.
lxb-retroarchВаши собственные консольные игры через RetroArch, ядра и обложки загружаются за вас.
lxb-heroicВаша библиотека Epic Games через Flatpak Heroic Games Launcher.
lxb-rpcs3Игры PlayStation 3 через RPCS3, с их роликами, музыкой и трофеями.
Каждый привязан к той версии оболочки, с которой собран. Steam не нужен отдельный пакет — только клиент Steam от Valve.
Что для этого нужно
- Linux с графическим драйвером, умеющим управлять экранами (DRM/KMS), и работающим драйвером OpenGL ES; если есть драйвер Vulkan, используется он.
- systemd-logind или seatd, который передаёт сеансу его экраны и устройства ввода.
- udev, чтобы узнавать о подключении экранов и контроллеров.
- Дополнительно: Xwayland для программ X11, PipeWire для звука и демонстрации экрана, Flatpak для интеграций, ddcutil для яркости внешних мониторов.
Всё оборудование обнаруживается на ходу — каждый экран, режим и GPU, — так что заранее под вашу машину ничего настраивать не нужно.
Оборудование
LineXinBar находится на ранней стадии разработки. Пока тестирование шло в основном на одной видеокарте AMD с двумя экранами, а также во вложенных сеансах.
Ничто не привязано к этому оборудованию — путь для нескольких GPU существует, — но другим производителям видеокарт, портативным приставкам и машинам с несколькими GPU нужно больше людей, которые их попробуют. Если запустите его на чём-то новом, отчёт о том, что заработало, а что нет, — одно из самых полезных, что можно прислать.