niri 滚动平铺快速上手:从安装到调出顺手布局只需三步
【免费下载链接】niriA scrollable-tiling Wayland compositor.项目地址: https://gitcode.com/GitHub_Trending/ni/niri
niri 是一个为"滚动平铺"从头设计的 Wayland 合成器:窗口按列排布在一条可以无限向右滚动的带上,打开新窗口只是多出一列,从不挤压已有窗口;向上滚动则是每个显示器各自的一组动态工作区。照这篇文章走一遍,你能装好 niri、进入第一个会话,并把列宽、间距、手势和动画调成自己习惯的样子。
建立滚动平铺的心智模型 🧠
把 niri 的桌面想成一张横向的长卷纸:窗口是一列一列贴在上面的,"聚焦某个窗口"本质上是把镜头横移过去,而不是像传统平铺管理器那样重排整屏。这是它和 i3、sway 这类 WMs 最本质的差异——在那些工具里,每开一个窗口所有窗口都要重新计算尺寸;在 niri 里,新窗口永远出现在视野外的右侧,原有布局一动不动。
工作区则是垂直维度的延伸:每个显示器有一串上下排列的动态工作区,中间的空工作区切走就自动消失,最底部永远留着一个空的。从静态编号工作区("1 号区放浏览器、2 号区放终端")转过来的话,换成"当前显示器装着这几层,我可以上下切、上下挪"的思路会顺很多。想纵览全局时,可以用 Overview 把整面工作区缩放进一个画面。
安装 niri 并进入首次会话
最短路径是装发行版打包好的二进制,以 Fedora 为例,两行命令:
sudo dnf copr enable yalter/niri sudo dnf install niriArch 直接sudo pacman -S niri,Ubuntu 25.10 及以上源里也有官方包,思路相同。装完后从显示管理器(GDM 等)选 Niri 登录;没有显示管理器的话,在 TTY 上跑niri-session即可,它会顺带把 D-Bus 服务和图形会话目标拉起来。
首次启动后 niri 会在~/.config/niri/config.kdl生成一份默认配置,建议以它为底稿修改。配置是热加载的——改完保存立即生效,不需要重启合成器,这个特性后面调参数时会一直用到。进桌面后先记住三个键:Super+T开终端,Super+Shift+/调出常用快捷键清单,Super+Shift+E退出。
把列宽、间距调成自己的尺度 📐
窗口怎么排都写在layout {}段里。下面这个最小集只改两件事:窗口间距,以及切换列宽时循环经过的三档预设(默认列宽就是屏幕的一半,之后用Super+R在三档之间轮换,Super++/Super+-再微调 10%):
layout { gaps 24 preset-column-widths { proportion 0.33 proportion 0.5 proportion 0.66 } }列宽确定后,Super+M可以把聚焦列最大化撑满视口,Super+C让当前列回到视野正中,长卷上找窗口靠这两键最省劲。
想再往下抠细节——焦点环颜色、边框渐变、阴影、tab 指示条,甚至用负struts值模拟"内边距/外边距"区分——参数都很长,建议直接查 布局参数完整参考,按需摘取即可。
让工作区切换和动画更跟手
触控板手势 niri 内置了一套:两指横滑平移整条卷纸,三指纵滑切上下工作区,基本不用配置就能用。真正值得配的是"驻留"——默认工作区是动态的、空的会消失,想让某些工作区永远在固定位置,就声明命名工作区,哪怕没窗口它也一直在:
workspace "browser" workspace "chat" { open-on-output "DP-2" }声明之后,focus-workspace "browser"这种按键绑定就能直接按名字定位,比按序号稳定得多。
动画分 easing(定时长 + 曲线)和 spring(物理弹簧模型)两种。切工作区这种高频动作用 spring 手感最好,因为它会接住你滑动的初速度;嫌默认速度太慢,把stiffness调低即可:
animations { workspace-switch { spring damping-ratio=1.0 stiffness=500 epsilon=0.0001 } }注意damping-ratio别调高过 1.0,过阻尼弹簧目前有数值稳定性问题,可能出画面毛刺。
验证配置生效并排查高频问题
先确认改动生效:niri 的配置是热加载的,保存文件那一瞬间就应用了,所以"没反应"基本等于"没存盘"或"存错了文件"。要检查语法,跑一条命令就够了:
niri validate下面是几个新手最常撞上的问题,都按"现象 → 原因 → 修复"给:
现象:从 TTY 启动直接黑屏。原因:NVIDIA 显卡未开启内核态模式设置,或(NixOS 用户)系统 mesa 与 niri 自带的 mesa 版本不同步。修复:给内核启动参数加
nvidia-drm.modeset=1;NixOS 上把系统 mesa 版本对齐后再试。现象:保存配置后屏幕弹出红色错误提示。原因:KDL 解析失败,常见于同一段落写了两次(如两个
input {})或参数名不存在。修复:运行niri validate看具体行号,systemd 跑法下也可以用journalctl -ef /usr/bin/niri翻日志。现象:屏幕上出现两条状态栏。原因:默认配置会
spawn-at-startup拉起 waybar,和你自己装的 shell 状态栏撞车。修复:pkill waybar,再到 config.kdl 里删掉spawn-at-startup "waybar"那行。现象:部分旧 X11 应用无法启动。原因:没装 XWayland。修复:安装
xwayland-satellite(推荐,性能更好)或xwayland,参考 Xwayland 文档页。
下一步清单
- 按
Super+Shift+/过一遍完整快捷键表,把move-column、consume/expel这类高频动作绑到自己顺手的键上 - 学习
window-rule {}:按 app-id 把特定应用固定到指定工作区或显示器,配合命名工作区效果最好 - NVIDIA 用户读一遍仓库里的 Nvidia 专题页,显存占用有已知的官方缓解手段
- 想更接近完整桌面:看看 LXQt、XFCE 或 Quickshell 系 shell 与 niri 的搭配方案
- 继续深入配置时,以 配置总览 为索引,它按段落列了所有子文档
【免费下载链接】niriA scrollable-tiling Wayland compositor.项目地址: https://gitcode.com/GitHub_Trending/ni/niri
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考