YaLTeR/niri 项目入门指南:安装与基础使用
项目概述
YaLTeR/niri 是一个现代化的 Wayland 合成器,专为高效工作流设计。它采用平铺式窗口管理,提供直观的键盘操作方式,适合追求生产力的用户群体。本文将详细介绍如何获取、安装和初步使用这一工具。
安装方法
主流发行版安装
对于大多数用户而言,通过系统包管理器安装是最便捷的方式:
- Fedora 系列:可通过官方维护的软件仓库获取稳定版和每日构建版
- NixOS:社区维护的 Flake 提供了完整的集成方案
建议优先选择与您系统对应的官方软件包,以确保依赖关系正确解决。
手动编译安装
对于高级用户或需要自定义功能的场景,可以选择从源码编译:
依赖安装
不同发行版的依赖略有差异:
Ubuntu/Debian 系列:
sudo apt-get install -y gcc clang libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev libseat-dev libpipewire-0.3-dev libpango1.0-dev libdisplay-info-dev
Fedora/RHEL 系列:
sudo dnf install gcc libudev-devel libgbm-devel libxkbcommon-devel wayland-devel libinput-devel dbus-devel systemd-devel libseat-devel pipewire-devel pango-devel cairo-gobject-devel clang libdisplay-info-devel
编译步骤
- 安装最新稳定版 Rust 工具链
- 执行编译命令:
cargo build --release - 可选择性地启用特定功能模块,但不建议使用
--all-features参数
启动方式
图形登录管理器启动
安装完成后,可在 GDM 等显示管理器的会话菜单中选择 niri 启动。
终端直接启动
在没有显示管理器的情况下,可通过以下方式启动:
- 基础启动:
niri --session - 系统服务集成启动(systemd/dinit):
niri-session
开发测试模式
niri 支持在现有桌面环境中以窗口模式运行,便于测试和开发:
niri
注意:此模式可能存在部分功能限制。
硬件兼容性说明
NVIDIA 显卡支持
使用 NVIDIA 显卡时可能遇到显示问题,建议:
- 确保使用支持 GBM 的最新版驱动
- 启用内核模式设置(KMS),通常需要在内核参数中添加:
nvidia-drm.modeset=1
ARM 架构设备
在 Asahi Linux 等 ARM 平台可能出现渲染设备识别问题,解决方案:
- 检查设备节点:
ls -l /dev/dri/ - 在配置文件中手动指定渲染设备:
debug { render-drm-device "/dev/dri/renderD128" }
虚拟机运行
在虚拟化环境中使用时,请确保已启用 3D 加速功能。
基础快捷键指南
niri 采用高效的键盘操作设计,主要快捷键如下:
系统操作
Super+Shift+/:显示快捷键帮助Super+Shift+E:退出会话Super+T:启动终端Super+D:启动应用启动器
窗口管理
Super+Q:关闭当前窗口Super+V:切换窗口平铺/浮动模式Super+F:最大化当前列Super+C:居中当前列
工作区导航
Super+PageUp/PageDown:切换工作区Super+Ctrl+PageUp/PageDown:移动窗口到其他工作区
布局调整
Super+-/=:调整列宽度Super+Shift+-/=:调整窗口高度Super+R:切换预设列宽度Super+Shift+R:切换预设窗口高度
进阶配置
用户配置文件位于:
~/.config/niri/config.kdl
在此文件中可以:
- 自定义快捷键绑定
- 调整布局参数
- 设置外观主题
- 配置输入设备行为
建议初次使用时先熟悉默认配置,再逐步进行个性化调整。
常见问题排查
-
黑屏问题:
- 检查显卡驱动兼容性
- 验证渲染设备配置
- 确保 Mesa 版本一致性(特别是 NixOS 用户)
-
快捷键无效:
- 确认当前会话模式(TTY 或窗口模式)
- 检查键盘映射设置
- 验证配置文件语法
-
X11 应用支持:
- 需要正确配置 Xwayland
- 确保相关兼容性库已安装
通过本指南,您应该已经能够顺利安装并开始使用 niri 合成器。建议初次使用时先熟悉基本操作,再逐步探索高级功能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



