安装 niri + noctalia-shell
若想使用niri窗口管理器,又不想额外配置壁纸、waybar及其他零碎组件,搭配noctalia-shell是非常不错的选择。noctalia-shell已原生整合状态栏、启动器、通知中心等核心组件,无需额外搭配其他工具。不需要繁琐配置就可以获得完整桌面体验
效果预览
桌面:

菜单:
![]()
状态栏:

设置:

安装 niri 窗口管理器
niri的安装目前主要有两种方式:通过发行版官方软件包或源码编译安装。这里推荐使用yay安装,无需手动编译,操作更便捷且能获取较新版本。
使用 yay 安装 niri
首先需确认yay已安装,yay是Arcch Linux下的AUR助手,若未安装,可执行以下命令完成安装:
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay安装完成后,即可直接从AUR拉取niri包并完成安装,无需手动编译,执行以下命令即可:
yay -S niri
安装过程中会提示确认依赖和编译选项,默认按回车确认即可,等待安装完成。安装完成后,可通过以下命令验证安装是否成功,若能显示版本号则说明安装成功:
niri --version
# 示例输出:niri 0.1.0 (abc1234)
配置 niri 启动入口
安装完成后,需为 niri 配置启动入口,以便在登录界面选择 niri 桌面。Wayland 桌面通常通过 .desktop 文件定义启动入口,具体步骤如下:
首先创建启动配置文件,执行以下命令:
sudo nano /usr/share/wayland-sessions/niri.desktop
输入内容并保存:
[Desktop Entry]
Name=niri
Comment=Wayland session with niri compositor
Exec=niri
Type=Application
若系统使用 sddm 登录管理器,配置完成后可直接识别 niri 启动项。在 sddm 界面点击用户名下方的桌面环境菜单,选中“niri”后输入密码即可登录。
安装 NoctaliaShell
noctalia-shell 提供两种安装方式,可根据自身发行版类型及需求选择。
非 Arch 系列发行版若无法通过包管理器安装,可前往其 GitHub 仓库获取。
noctalia-shell的Github:https://github.com/noctalia-dev/noctalia-shell
noctalia-shell的Doc文档:https://docs.noctalia.dev/
使用包管理器安装 noctalia-shell
Arch 系列发行版可直接通过 yay 安装 noctalia-shell,行以下命令从AUR拉取并安装noctalia-shell:
yay -S noctalia-shell
手动安装,适用于任何Linux发行版
安装依赖,对于其他发行版,使用自带的包管理器安装:
yay -S quickshell gpu-screen-recorder brightnessctl
yay -S ddcutil
yay -S cliphist matugen-git cava wlsunset xdg-desktop-portal python3 evolution-data-server
yay -S polkit-kde-agent
各类依赖说明及用途如下:
必填依赖:
-
quickshell:核心壳框架,noctalia-shell 运行基础
-
gpu-screen-recorder:提供屏幕录制功能
-
brightnessctl:用于内置/笔记本显示器亮度控制
硬件专用依赖:
- ddcutil:用于桌面显示器亮度控制(⚠️ 部分显示器可能导致系统不稳定)
可选但推荐依赖:
-
cliphist:提供剪贴板历史支持
-
matugen-git:材质生成工具,可根据颜色配色自动生成对应材质
-
cava:音频可视化组件,增强桌面视觉体验
-
wlsunset:夜灯功能,降低夜间屏幕蓝光
-
xdg-desktop-portal:启用屏幕录制中的“门户”选项,优化录制权限管理
-
python3 与 evolution-data-server:用于日历活动相关功能
-
polkit-kde-agent:仅在认证电池管理器安装以确定笔记本充电限制时需要
下载并安装Noctalia
mkdir -p ~/.config/quickshell/noctalia-shell && curl -sL https://github.com/noctalia-dev/noctalia-shell/releases/latest/download/noctalia-latest.tar.gz | tar -xz --strip-components=1 -C ~/.config/quickshell/noctalia-shell
配置 noctalia-shell 自动启动
为让 noctalia-shell 在 niri 启动时自动运行,需配置 niri 的自动启动脚本。niri 的配置文件默认位于 ~/.config/niri/config.kdl,具体步骤如下:
vim ~/.config/niri/config.kdl
打开配置文件后,在合适位置添加自动启动 noctalia-shell 的指令,可根据实际配置调整放置位置,建议放在文件中无冲突的独立区域:
spawn-sh-at-startup "qs -c noctalia-shell"
添加完成后,按Ctrl+O保存、Ctrl+X退出nano编辑器,如此在niri启动时,会自动执行noctalia-shell命令,加载状态栏等组件。
壁纸设置
Noctalia-shell 可直接对接 niri 的壁纸相关配置,无需额外安装壁纸工具。为获得最佳体验,需根据需求在 niri 配置文件中进行对应设置,同时配合 Noctalia-shell 的相关开关调整。以下提供三种主流壁纸设置方案,可按需选择。
所有配置均需添加至 niri 配置文件(默认路径:~/.config/niri/config.kdl),添加后保存退出即可生效(不生效就尝试注销重新登录)。
核心说明
niri 中的 “backdrop” 指所有工作区后方的图层,仅在触发概览模式时可见;Noctalia-shell 的壁纸开关位于其设置界面的 “Wallpaper” 标签页,需根据所选方案开启或关闭 “Enable overview wallpaper” 选项。
方案一:模糊概览壁纸
此方案仅在 niri 概览模式下显示模糊、变暗的壁纸副本,日常工作区无额外壁纸干扰,契合极简需求。
// 让概览壁纸显示在 backdrop 图层
layer-rule {
match namespace="^noctalia-overview*"
place-within-backdrop true
}
注意事项:需在 Noctalia-shell 设置的 “Wallpaper” 标签页中,开启 “Enable overview wallpaper” 选项;此方案会为每个显示器额外处理一张壁纸,内存占用略高。
方案二:固定壁纸(全程可见)
此方案设置的壁纸全程可见,切换工作区时不会滚动,适合喜欢固定桌面风格的场景。
// 让常规壁纸显示在 backdrop 图层
layer-rule {
match namespace="^noctalia-wallpaper*"
place-within-backdrop true
}
// 将工作区背景设为透明,确保 backdrop 图层的壁纸可见
layout {
background-color "transparent"
}
// (可选)关闭概览模式下的工作区阴影,视觉更简洁
overview {
workspace-shadow {
off
}
}
注意事项:需在 Noctalia-shell 设置的 “Wallpaper” 标签页中,关闭 “Enable overview wallpaper” 选项。
方案三:纯色概览背景(高效生产力风)
此方案无传统壁纸,概览模式背景为纯色,减少视觉干扰,适合专注工作场景。
overview {
// 自定义概览背景色,可替换为任意喜欢的色值(示例为深紫色系)
backdrop-color "#26233a"
}
注意事项:需在 Noctalia-shell 设置的 “Wallpaper” 标签页中,关闭 “Enable overview wallpaper” 选项;色值可根据个人喜好或桌面配色方案调整,推荐使用 matugen-git 生成配套色值。