Erste Schritte mit LineXinBar: Arch, Debian, Ubuntu, Fedora, NixOS
In einem Fenster ausprobieren
Sie müssen Ihren Desktop nicht verlassen, um es sich anzusehen. Mit Rust 1.89 oder neuer und den installierten Build-Abhängigkeiten baut ein einziges Skript LineXinBar und öffnet es als Fenster in der Sitzung, die Sie schon haben.
git clone https://github.com/Petexy/LineXinBar.git
cd LineXinBar
./scripts/run-nested.sh
Der verschachtelte Desktop bekommt seinen eigenen Sitzungsbus, sodass die Anwendungen, die Sie darin öffnen, auch darin bleiben. Wer das Fenster schließt, beendet ihn. ./scripts/run-nested.sh 3 öffnet drei virtuelle Bildschirme statt einem, um die Seite mit mehreren Bildschirmen auszuprobieren.
Build-Abhängigkeiten, für jede Distribution:
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
Unter Debian 13 nehmen Sie Rust aus rustup: Das der Distribution ist älter, als der Build braucht.
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
Ein Paket installieren
Fertige Pakete für Arch, Debian und Ubuntu sowie Fedora hängen an jedem Release auf GitHub. Oder bauen Sie sie selbst aus dem Repository — die Rezepte liegen darin.
./packaging/build.sh arch -- --syncdeps
Erzeugt ein PKGBUILD für den Checkout und führt makepkg aus; die Pakete landen in 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
Der Builder prüft zuerst alles und nennt, falls etwas fehlt, es in einer einzigen apt install-Zeile.
sudo dnf install rpm-build dnf5-plugins git-core
sudo dnf builddep packaging/fedora/lxb-desktop.spec
./packaging/build.sh fedora
Binär- und Quell-RPMs werden nach packaging/out/fedora/ kopiert. Ein fedora-toolbox-Container genügt zum Bauen.
nix build path:.#linexinbar # the whole desktop, as one derivation
nix build path:.#lxb-compositor # the compositor alone
Das Repository ist ein gepinnter Flake, und nix-build packaging/nix funktioniert auch ohne Flakes.
Installieren Sie lxb-compositor und lxb-desktop: den Compositor und die Shell mit ihrem Portal, ihrem Aktualisierungskoordinator und dem Sitzungseintrag.
Die Sitzung starten
Sind die Pakete installiert, wählen Sie LineXinBar in der Sitzungsliste Ihres Anmeldebildschirms, wie jeden anderen Desktop.
Von einer Textkonsole aus startet lxb --shell das Ganze; wer die Shell beendet, wird abgemeldet, statt vor einem leeren Bildschirm zu sitzen. Der Console-Experience-Anmeldebildschirm ist dafür gemacht und übergibt an die Shell als ein durchgehendes Bild.
Die Einstellungen liegen in ~/.config/lxb/ — größtenteils von der Einstellungen-Spalte der Shell selbst geschrieben, alle lesbar und von Hand bearbeitbar.
Optionale Pakete
Drei Integrationen sind eigene Pakete, damit ein Gerät, das nie eine Konsole emuliert, nichts davon mitschleppt. Installieren Sie eines, während die Sitzung läuft, und seine Zeile erscheint nach wenigen Sekunden.
lxb-retroarchIhre eigenen Konsolenspiele über RetroArch, mit Cores und Covern, die für Sie geholt werden.
lxb-heroicIhre Epic-Games-Bibliothek über das Flatpak des Heroic Games Launchers.
lxb-rpcs3PlayStation-3-Spiele über RPCS3, mit ihren Filmen, ihrer Musik und ihren Trophäen.
Jedes ist fest an die Shell-Version gebunden, mit der es gebaut wurde. Steam braucht kein eigenes Paket — nur Valves Steam-Client.
Was es braucht
- Linux, mit einem Grafiktreiber, der die Bildschirme ansteuern kann (DRM/KMS), und einem funktionierenden OpenGL-ES-Treiber; ein Vulkan-Treiber wird genutzt, wo es einen gibt.
- systemd-logind oder seatd, das der Sitzung ihre Bildschirme und Eingabegeräte übergibt.
- udev, um vom Einstecken von Bildschirmen und Controllern zu erfahren.
- Optional: Xwayland für X11-Programme, PipeWire für Ton und Bildschirmfreigabe, Flatpak für die Integrationen, ddcutil für die Helligkeit externer Monitore.
Alles an der Hardware wird zur Laufzeit erkannt — jeder Bildschirm, jeder Modus, jede GPU —, sodass für Ihr Gerät vorher nichts eingerichtet werden muss.
Hardware
LineXinBar befindet sich in früher Entwicklung. Getestet wurde bisher vor allem auf einer AMD-Grafikkarte mit zwei Bildschirmen, dazu in verschachtelten Sitzungen.
Nichts ist an diese Hardware gebunden — der Weg für mehrere GPUs existiert —, aber andere Grafikhersteller, Handhelds und Geräte mit mehreren GPUs brauchen mehr Leute, die es ausprobieren. Wenn Sie es auf etwas Neuem laufen lassen, ist ein Bericht darüber, was ging und was nicht, eines der nützlichsten Dinge, die Sie schicken können.