niri 配置快速上手:10 分钟配好可平铺可滚动的 Wayland 桌面
【免费下载链接】niriA scrollable-tiling Wayland compositor.项目地址: https://gitcode.com/GitHub_Trending/ni/niri
niri 是一个可滚动平铺的 Wayland 合成器:窗口自动排成竖直的列,用滚动或快捷键在列与窗口之间移动,不用拖标题栏。niri 配置全部集中在~/.config/niri/config.kdl一个文件里,改完按 Mod+Shift+R 热加载,不用重启会话。
它适合谁
- 不想再拖窗口的人:窗口开出来就自动贴齐排成列,你只调宽度比例,切换窗口一次按键,不用找标题栏。
- 窗口多的人:编辑器、浏览器、终端、聊天软件各占一列,三指滚动换列,不再翻 Alt+Tab 列表。
- 机器一般的人:没有窗口装饰和特效,核显也能跑,轻薄本负载低、风扇安静。
如果只是想换换窗口管理方式,先在现有桌面里以嵌套窗口方式跑niri试试,不满意直接关掉,风险为零。
三分钟起步:niri 最小配置文件跑通
Ubuntu 25.10 及以上一条命令装好:sudo apt install niri(源里没有就先加项目 PPA)。Fedora、Arch 等有现成包,其余发行版按仓库 README 从源码编译。
装完在显示管理器里选 Niri 登录,或在 TTY 里跑niri-session。niri config.kdl 文件在~/.config/niri/下,首次启动用的是默认配置,已经可用。先跑通,再定制。下面这段最小配置只改键盘布局和两个最常用快捷键:
这段是干嘛的:改完 niri 就能用 Super+T 开终端、Super+Q 关当前窗口。
// ~/.config/niri/config.kdl input { xkb-keymap layout="us" } binds { Mod+T { spawn "alacritty"; } Mod+Q { close-window; } }Mod 在 TTY 下就是 Super 键。注意 binds 这一节不会自动补默认值,整段删掉会导致快捷键全没,改的时候保留原有行。
配置分三层:骨架、手感、外观
这套 Wayland 平铺合成器的 niri 配置可以拆成三块,每块互不干扰,改错一块只影响对应效果。
骨架:niri 窗口布局 layout
窗口怎么排由layout {}决定,这是默认值之外第一个值得动的地方:
这段调整间距、默认列宽和预设宽度档位,改完新窗口立刻按新比例摆放。
layout { gaps 12 default-column-width { proportion 0.6 } preset-column-widths { proportion 0.3333 proportion 0.6 proportion 0.8 } }gaps 12:窗口四周留 12 像素空隙,比默认 16 紧凑,屏幕利用率更高。default-column-width { proportion 0.6 }:新列默认占屏宽 60%,写小数即可,不用算像素。preset-column-widths:预置三档列宽,按 Mod+R 循环切换,不用每次手动调。
手感:niri 快捷键设置 binds
niri 快捷键设置有个统一规则:不带 Ctrl 是"看过去"(移焦点),加 Ctrl 是"挪过去"(移窗口或列)。
这段把左右列的聚焦、移动、全屏和浮动补进配置,改完按 Mod+Ctrl+H 就能把当前列整列挪走。
binds { Mod+H { focus-column-left; } Mod+L { focus-column-right; } Mod+Ctrl+H { move-column-left; } Mod+Ctrl+L { move-column-right; } Mod+Shift+F { toggle-fullscreen; } Mod+V { toggle-floating; } }方向对应 H/J/K/L 即左/下/上/右,全部动作名见 Configuration:-Key-Bindings.md。
外观:niri 动画 animations
动画只影响观感,卡顿和掉帧都先动它。
这段整体提速并把开窗口动画压到 120 毫秒,效果是窗口打开更快收尾,不拖尾。
animations { slowdown 0.5 window-open { duration-ms 120 curve "ease-out-expo" } }slowdown 0.5:所有动画时长减半,小于 1 是加速,大于 1 是放慢。window-open:开窗口动画从默认 150 毫秒改成 120 毫秒,曲线保持 ease-out-expo。
每个动画项的默认值在 niri-config/ 源码里都有定义,改之前可以对照。
场景配方
niri 双屏布局
双屏的关键是position要接在主屏的逻辑宽边上。这段给内置屏 2 倍缩放、外屏接在它右边,保存后重载即生效。
output "eDP-1" { scale 2.0 } output "HDMI-A-1" { scale 1.0 position x=3840 y=0 }- 名字先用
niri msg outputs查,抄错名字整段不生效。 x=3840:主屏逻辑宽 1920 乘 scale 2 的外边缘,两屏正好无缝拼接。
niri 低配轻薄本省电配置
核显弱机直接关动画,窗口切换变成瞬移,肉眼看不出差别,这段改完立即生效:
animations { off }排错速查
| 现象 | 原因 | 处理 |
|---|---|---|
| 保存后弹出红色错误通知 | config.kdl 有语法或取值错误 | 按通知里标注的位置改,再按 Mod+Shift+R 重载 |
| 快捷键全没了 | binds 整段被删,niri 不会自动补默认绑定 | 从默认配置拷回 binds,保留原有行 |
| 第二块屏不亮或位置错 | output 名字抄错,或 position 没接上主屏逻辑边 | niri msg outputs查名字,position 取主屏逻辑宽乘 scale |
| 窗口切换有肉眼可见的停顿 | 集显负载高,动画拖帧 | animations 里加 off,或 slowdown 0.5 |
| X11 程序点不动、焦点不对 | XWayland 没启动 | 装 xwayland-satellite 并在配置里 spawn-at-startup |
收尾:验证与升级
验证三件事:
- 保存配置后按
Mod+Shift+R,没弹红通知就算通过; niri msg outputs里各屏 scale 和位置符合预期;- 随手按一遍新绑定的快捷键,方向对得上。
升级两条路:
- 发行版包:
sudo apt update && sudo apt install --only-upgrade niri - 源码:
git pull && cargo build --release,把新二进制装到 /usr/local/bin 覆盖旧版
顺序记住就行:先跑通,再调骨架,最后调外观——任何一行报错,删掉那一行就恢复。
【免费下载链接】niriA scrollable-tiling Wayland compositor.项目地址: https://gitcode.com/GitHub_Trending/ni/niri
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考