Pierwsze kroki z LineXinBar: Arch, Debian, Ubuntu, Fedora, NixOS
Wypróbuj w oknie
Nie trzeba opuszczać pulpitu, żeby go zobaczyć. Z Rust w wersji 1.89 lub nowszej i zainstalowanymi zależnościami budowania jeden skrypt buduje LineXinBar i otwiera go jako okno w obecnej sesji.
git clone https://github.com/Petexy/LineXinBar.git
cd LineXinBar
./scripts/run-nested.sh
Zagnieżdżony pulpit dostaje własną magistralę sesji, więc aplikacje otwarte w nim w nim zostają. Zamknięcie okna go kończy. ./scripts/run-nested.sh 3 otwiera trzy wirtualne ekrany zamiast jednego, żeby wypróbować pracę na kilku ekranach.
Zależności budowania dla każdej dystrybucji:
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
Na Debianie 13 zainstaluj Rust przez rustup: ten z dystrybucji jest starszy, niż wymaga budowanie.
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
Zainstaluj pakiet
Gotowe pakiety dla Archa, Debiana i Ubuntu oraz Fedory są dołączone do każdego wydania na GitHubie. Możesz też zbudować je samodzielnie z repozytorium — przepisy są w nim.
./packaging/build.sh arch -- --syncdeps
Tworzy PKGBUILD dla repozytorium i uruchamia makepkg; pakiety trafiają do 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
Skrypt najpierw wszystko sprawdza i jeśli czegoś brakuje, wymienia to w jednej linii apt install.
sudo dnf install rpm-build dnf5-plugins git-core
sudo dnf builddep packaging/fedora/lxb-desktop.spec
./packaging/build.sh fedora
Binarne i źródłowe pakiety RPM są kopiowane do packaging/out/fedora/. Do budowania wystarczy kontener fedora-toolbox.
nix build path:.#linexinbar # the whole desktop, as one derivation
nix build path:.#lxb-compositor # the compositor alone
Repozytorium to przypięty flake, a nix-build packaging/nix działa bez flake'ów.
Zainstaluj lxb-compositor i lxb-desktop: kompozytor oraz powłokę z jej portalem, koordynatorem aktualizacji i wpisem sesji.
Uruchom sesję
Po zainstalowaniu pakietów wybierz LineXinBar z listy sesji na ekranie logowania, jak każdy inny pulpit.
Z konsoli tekstowej całość uruchamia lxb --shell; zamknięcie powłoki wylogowuje, zamiast zostawiać pusty ekran. Ekran logowania Console Experience jest stworzony do pary i przekazuje obraz powłoce jako jeden ciągły obraz.
Ustawienia są w ~/.config/lxb/ — zapisuje je głównie sama kolumna Ustawienia powłoki, a wszystkie da się czytać i edytować ręcznie.
Pakiety opcjonalne
Trzy integracje to osobne pakiety, żeby komputer, który nigdy nie emuluje konsoli, nie nosił nic z tego. Zainstaluj któryś w trakcie sesji, a jego wiersz pojawi się w ciągu kilku sekund.
lxb-retroarchTwoje własne gry na konsole przez RetroArch, z rdzeniami i okładkami pobieranymi za ciebie.
lxb-heroicBiblioteka Epic Games przez Flatpak Heroic Games Launchera.
lxb-rpcs3Gry z PlayStation 3 przez RPCS3, z ich filmami, muzyką i trofeami.
Każdy jest przypisany do wersji powłoki, z którą został zbudowany. Steam nie potrzebuje własnego pakietu — tylko klienta Steam od Valve.
Czego potrzebuje
- Linux ze sterownikiem grafiki, który potrafi obsłużyć ekrany (DRM/KMS), i działającym sterownikiem OpenGL ES; sterownik Vulkan jest używany, jeśli jest.
- systemd-logind albo seatd, który przekazuje sesji jej ekrany i urządzenia wejścia.
- udev, żeby wiedzieć o podłączaniu ekranów i kontrolerów.
- Opcjonalnie: Xwayland dla programów X11, PipeWire dla dźwięku i udostępniania ekranu, Flatpak dla integracji, ddcutil dla jasności zewnętrznych monitorów.
Cały sprzęt jest wykrywany w trakcie działania — każdy ekran, tryb i GPU — więc nie trzeba niczego wcześniej konfigurować pod twój komputer.
Sprzęt
LineXinBar jest na wczesnym etapie rozwoju. Testy objęły dotąd głównie jedną kartę graficzną AMD z dwoma ekranami, do tego sesje zagnieżdżone.
Nic nie jest przywiązane do tego sprzętu — ścieżka dla wielu GPU istnieje — ale inni producenci grafiki, konsole przenośne i komputery z kilkoma GPU potrzebują więcej osób, które je wypróbują. Jeśli uruchomisz go na czymś nowym, raport o tym, co działa, a co nie, to jedna z najbardziej przydatnych rzeczy, jakie możesz wysłać.