Primeiros passos com o LineXinBar: Arch, Debian, Ubuntu, Fedora, NixOS
Experimente numa janela
Você não precisa sair do seu desktop para vê-lo. Com o Rust 1.89 ou mais recente e as dependências de compilação instaladas, um único script compila o LineXinBar e o abre como uma janela dentro da sessão que você já tem.
git clone https://github.com/Petexy/LineXinBar.git
cd LineXinBar
./scripts/run-nested.sh
O desktop aninhado ganha o seu próprio barramento de sessão, então os aplicativos que você abrir dentro dele ficam lá dentro. Fechar a janela o encerra. ./scripts/run-nested.sh 3 abre três telas virtuais em vez de uma, para testar o lado de várias telas.
Dependências de compilação, para cada distribuição:
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
No Debian 13, instale o Rust pelo rustup: o da distribuição é mais antigo do que a compilação precisa.
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
Instalar um pacote
Pacotes prontos para Arch, Debian e Ubuntu, e Fedora vêm anexados a cada versão no GitHub. Ou compile-os você mesmo a partir do repositório — as receitas estão nele.
./packaging/build.sh arch -- --syncdeps
Gera um PKGBUILD para o repositório e roda o makepkg; os pacotes vão para 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
O script confere tudo primeiro e, se faltar algo, diz o que é numa única linha de apt install.
sudo dnf install rpm-build dnf5-plugins git-core
sudo dnf builddep packaging/fedora/lxb-desktop.spec
./packaging/build.sh fedora
Os RPMs binários e de código-fonte são copiados para packaging/out/fedora/. Um contêiner fedora-toolbox basta para compilar.
nix build path:.#linexinbar # the whole desktop, as one derivation
nix build path:.#lxb-compositor # the compositor alone
O repositório é um flake fixado, e nix-build packaging/nix funciona sem flakes.
Instale lxb-compositor e lxb-desktop: o compositor, e o shell com o seu portal, o seu coordenador de atualizações e a entrada de sessão.
Iniciar a sessão
Com os pacotes instalados, escolha LineXinBar na lista de sessões da sua tela de login, como qualquer outro desktop.
De um console de texto, lxb --shell inicia tudo; sair do shell faz logout em vez de deixar uma tela vazia para trás. A tela de login Console Experience foi feita para acompanhá-lo e passa para o shell como uma única imagem contínua.
As configurações ficam em ~/.config/lxb/ — escritas principalmente pela própria coluna Configurações do shell, e todas legíveis e editáveis à mão.
Pacotes opcionais
Três integrações são pacotes próprios, para que uma máquina que nunca emula um console não carregue nada disso. Instale um com a sessão rodando e a linha dele aparece em segundos.
lxb-retroarchOs seus próprios jogos de console pelo RetroArch, com núcleos e capas baixados para você.
lxb-heroicA sua biblioteca da Epic Games pelo Flatpak do Heroic Games Launcher.
lxb-rpcs3Jogos de PlayStation 3 pelo RPCS3, com os seus vídeos, músicas e troféus.
Cada um fica preso à versão do shell com que foi compilado. A Steam não precisa de pacote próprio — só do cliente Steam da Valve.
Do que ele precisa
- Linux, com um driver de vídeo capaz de controlar as telas (DRM/KMS) e um driver OpenGL ES funcionando; um driver Vulkan é usado se houver.
- systemd-logind ou seatd, que entrega à sessão as suas telas e dispositivos de entrada.
- udev, para saber quando telas e controles são conectados.
- Opcional: Xwayland para programas X11, PipeWire para som e compartilhamento de tela, Flatpak para as integrações, ddcutil para o brilho de monitores externos.
Todo o hardware é descoberto enquanto roda — cada tela, modo e GPU —, então nada precisa ser configurado antes para a sua máquina.
Hardware
O LineXinBar está no início do desenvolvimento. Até agora, os testes foram principalmente numa placa de vídeo AMD com duas telas, além de sessões aninhadas.
Nada está preso a esse hardware — o caminho para várias GPUs existe —, mas outros fabricantes de vídeo, portáteis e máquinas com várias GPUs precisam de mais gente testando. Se rodar em algo novo, um relato do que funcionou e do que não funcionou é uma das coisas mais úteis que você pode enviar.