开始使用 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 上,请通过 rustup 安装 Rust:发行版自带的版本比构建所需的旧。
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
安装软件包
每个 GitHub 发布版本都附有适用于 Arch、Debian 和 Ubuntu 以及 Fedora 的现成软件包。您也可以从代码仓库自行构建 — 构建方法都在仓库里。
./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:前者是合成器,后者是 Shell,附带其门户、更新协调器和会话条目。
启动会话
安装好软件包后,像选择其他桌面一样,在登录界面的会话列表中选择 LineXinBar。
在文本控制台中,lxb --shell 会启动整个环境;退出 Shell 会注销会话,而不是留下一个空屏幕。Console Experience 登录界面正是为它而做,并以一幅连续的画面把控制权交给 Shell。
设置保存在 ~/.config/lxb/ 中 — 大部分由 Shell 自己的设置列写入,全部都可以直接阅读和手动编辑。
可选软件包
三项集成各自是独立的软件包,这样从不模拟主机的机器就不必携带任何相关内容。在会话运行时安装其中之一,几秒钟后它的那一行就会出现。
lxb-retroarch通过 RetroArch 运行您自己的主机游戏,核心和封面会自动为您下载。
lxb-heroic通过 Heroic Games Launcher 的 Flatpak 使用您的 Epic Games 游戏库。
lxb-rpcs3通过 RPCS3 运行 PlayStation 3 游戏,附带其影片、音乐和奖杯。
每个软件包都锁定在构建时所用的 Shell 版本上。Steam 不需要单独的软件包,只需要 Valve 的 Steam 客户端。
运行需要什么
- Linux,并配有能驱动显示器的显卡驱动(DRM/KMS)和可用的 OpenGL ES 驱动;如果有 Vulkan 驱动,则会使用它。
- systemd-logind 或 seatd,负责把显示器和输入设备交给会话。
- udev,用于得知屏幕和手柄何时接入。
- 可选:用于 X11 程序的 Xwayland、用于声音和屏幕共享的 PipeWire、用于各项集成的 Flatpak,以及用于调节外接显示器亮度的 ddcutil。
所有硬件都会在运行时自动发现 — 每台显示器、每种模式和每块 GPU — 因此无需事先为您的机器做任何配置。
硬件
LineXinBar 仍处于早期开发阶段。目前的测试主要在一块驱动两台显示器的 AMD 显卡上进行,另外还有嵌套会话。
没有任何部分与这套硬件绑定 — 多 GPU 路径是存在的 — 但其他显卡厂商、掌机和多 GPU 机器还需要更多人来试用。如果您在新的硬件上运行它,一份说明哪些正常、哪些不正常的报告,是您能提供的最有用的东西之一。