Moningf's Blog

Back

Niri 桌面环境Niri 桌面环境

首先,我们要知道: niri作为一个窗口管理器, 是没有完整的桌面环境, 因此需要自己额外配置, 目前有两种主流的方式:

  • 一种是用户自己配置所有所需部件(比如: waybar rofi dunst之类的)
  • 另一种则是直接使用别人写好的quickshell,实现开箱即用的效果(也是在niri官方快速入门文档中所推荐的)

安装#

这里我们采用的是第二种noctalia(和niri推荐的dms类似) 如果你是arch的话,直接运行以下命令即可安装

sudo pacman -Syu niri xwayland-satellite xdg-desktop-portal-gnome xdg-desktop-portal-gtk alacritty
yay -S noctalia-shell
shell

此外,我习惯使用的一些软件如下:

yay -S kitty timeshift hyprlock swayidle polkit-gnome fcitx5-im fcitx5-chinese-addons
shell
  • kitty 和alacritty类似的终端模拟器
  • timeshift 一个系统备份和回溯工具
  • hyprlock hyprland下的锁屏软件
  • swayidle 用于检测系统长时间操作实现自动休眠等功能
  • polkit-gnome 用于身份认证

启动#

在终端下输入niri-session简单体验一下niri吧~

配置 Niri#

niri的配置文件默认在$HOME目录的.config/niri下,使用的是kdl语法

我习惯使用kitty, 所以进入niri配置文件, 将alacritty修改成kitty

- Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; }
+ Mod+Return hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; }
vim

配置一下niri的开机启动,将下面代码加入niri配置文件中

spawn-at-startup "fcitx5"
spawn-at-startup "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
spawn-sh-at-startup "qs -c noctalia-shell"
spawn-sh-at-startup "/usr/bin/swayidle -w timeout 601 'niri msg action power-off-monitors' timeout 600 'hyprlock' before-sleep 'hyprlock'"
vim

在该配置中,有两点需要注意一下:

  1. 因为n卡的原因,我没有配置长时间自动休眠,如有需要,自行去修改一下swayidle的配置
  2. hyprlock的锁屏需要自己配置一下

配置 Niri 开机自启动#

我这里使用的是greetd,使用 sudo pacman -S greetd 安装即可 然后配置一下greetd的配置文件 /etc/greetd/config.toml 将最后一行的username换成你自己的名字即可

[terminal]
vt = 1

[default_session]
command = "niri-session"

user = "username"
plaintext

greetd的开机自启动

sudo systemctl enable greetd
sudo systemctl disable getty@tty1
shell

现在重启就可以体验你全新的 niri 了

FAQ#

N 卡用户的 Niri 内存占用过高#

/etc/nvidia/nvidia-application-profiles-rc.d/50-limit-free-buffer-pool-in-wayland-compositors.json文件内写入一下内容:

具体参考niri的官方文档

Noctalia 图标显示异常#

参考noctalia官方文档 配置 /etc/environment 文件 ,加入下面一行即可

QT_QPA_PLATFORMTHEME=gtk3
vim

Fcitx5 输入法问题#

同样配置 /etc/environment 文件

# X11或XWayland窗口需要
XMODIFIERS=@im=fcitx
# Qt窗口需要
QT_IM_MODULE=fcitx
vim
Niri + Noctalia:在 Arch Linux 上搭建桌面环境
https://moningf.top/blog/2026/linux/niri
Author Moningf
Published at December 26, 2025
Comment seems to stuck. Try to refresh?✨