niri 和 Hyprland 配置(DMS)
niri 和 Hyprland 配置(DMS)
适用读者:已在实体机上安装 niri 或 Hyprland 的读者。WSL 用户跳过此篇(WSL 没有独立的 Wayland 显示服务器)。
前言:窗口管理器 ≠ 桌面环境
安装完 niri 或 Hyprland 后,你会发现它们只是”窗口管理器”——负责排列、移动窗口。一个完整可用的桌面还需要:
- 状态栏(显示时间、网络、音量、电量)
- 应用启动器(搜索和打开应用)
- 通知系统(消息弹窗)
- 锁屏程序
- 壁纸管理
- 屏幕截图工具
- 剪贴板管理
把这些一个个手动安装配置,需要几天时间。DMS(Dank Material Shell) 是一个一站式的桌面 Shell,设计目标就是让 niri 和 Hyprland 开箱即用,界面遵循 Material Design 3 风格,外观现代、功能完整。
一、DMS 简介
DMS 全称 DankMaterialShell,是基于 Quickshell(一个 QML 驱动的 Shell 框架)和 Go 构建的桌面 Shell。它能替代以下独立工具:
| 替代的工具 | DMS 对应功能 |
|---|---|
| Waybar | TopBar 状态栏 |
| Swaylock / Hyprlock | 锁屏 |
| Mako / Dunst | 通知系统 |
| Fuzzel / Rofi | 应用启动器(Spotlight) |
| Swww / Swaybg | 壁纸管理 |
| cliphist | 剪贴板历史 |
| wl-clipboard | Wayland 剪贴板工具 |
此外,DMS 还提供:
- 基于壁纸自动生成配色方案(matugen 驱动)
- CPU / RAM / GPU 监控(dgop 驱动)
- 工作区切换、媒体播放控制、系统托盘等
二、前置条件确认
在安装 DMS 之前,请确认以下软件已经安装:
1 | # 确认 niri 或 hyprland 已安装 |
如果缺少,回到第三篇用 yay 安装。
三、安装 DMS
方式 A:通过官方安装脚本(推荐)
DMS 提供了一个交互式安装脚本,会自动处理所有依赖:
1 | curl -fsSL https://install.danklinux.com | sh |
脚本会:
- 检测你的发行版(Arch Linux)
- 从官方源安装
dms-shell - 从 AUR 编译安装
quickshell、matugen、dgop - 引导你选择合成器(niri 或 Hyprland)
方式 B:手动安装
如果不信任脚本或网络受限,可以手动安装:
1 | # 安装 dms-shell(Arch 官方 extra 源,无需编译) |
安装辅助工具
1 | # 剪贴板管理 |
四、运行 dms setup
DMS 安装完成后,运行配置向导。这个命令会自动修改你的合成器配置文件,加入 DMS 的快捷键和自启动项:
1 | dms setup |
setup 向导会询问你:
- 选择合成器:niri 或 Hyprland(根据你安装的选)
- 选择终端:Kitty(推荐)、Ghostty 或 Alacritty
- 是否备份现有配置:推荐选 Yes,setup 会在修改前备份原文件
setup 完成后,它实际做了什么?
- 向
~/.config/niri/config.kdl(或~/.config/hypr/hyprland.conf)追加了 DMS 自启动配置和快捷键绑定 - 创建了
~/.config/dms/目录,放入 DMS 的用户配置文件 - 设置了 DMS 作为状态栏、通知、锁屏的默认程序
五、niri 配置详解
niri 的配置文件格式是 KDL(Kubernetes Document Language 的变体,和 JSON/YAML 并列的配置语言),位于 ~/.config/niri/config.kdl。
dms setup 之后,你的 config.kdl 会包含以下关键内容:
1 | // 开机自启动 DMS Shell |
niri 的核心概念:滚动式工作区
niri 没有传统的”多桌面”概念,窗口排列在一条无限延伸的水平轴上。用鼠标滚轮或触摸板横向滑动来浏览。每个”列”可以有多个垂直排列的窗口。
常用快捷键:
Super + Enter:打开终端(kitty)Super + Space:打开 DMS 应用启动器Super + ←/→:切换焦点到左/右列Super + Shift + ←/→:将当前窗口移动到左/右Super + Q:关闭当前窗口Super + F:切换全屏
六、Hyprland 配置详解
6.1 配置文件格式
Hyprland 0.55 之后默认使用 Lua 配置(~/.config/hypr/hyprland.lua),旧的 hyprlang 格式(hyprland.conf)仍然支持,但官方建议迁移到 Lua。
如果你安装的是 Hyprland 0.54 或更早版本,配置文件是
hyprland.conf,语法不同。
dms setup 会根据你的 Hyprland 版本选择合适的格式写入配置。
6.2 dms setup 写入的核心配置
以 Lua 格式(0.55+)为例,setup 后的关键内容:
1 | -- 环境变量:让所有应用使用 Wayland 原生渲染 |
旧格式(0.54 及以下,hyprlang):
1 | # 环境变量 |
6.3 Hyprland 的动态平铺
Hyprland 使用传统的多工作区模型(类似 i3),但支持丰富的动画效果。窗口可以在工作区之间移动,支持浮动模式。
常用快捷键(DMS 配置后):
Super + Enter:打开终端Super + Space:DMS 应用启动器Super + 1~9:切换工作区Super + Shift + 1~9:将窗口移动到指定工作区Super + Q:关闭窗口Super + F:全屏Super + V:浮动/平铺切换
七、启动桌面环境
niri
从 TTY 登录后执行:
1 | niri-session |
或者如果安装了显示管理器(如 GDM),在登录界面选择 “niri” 会话。
Hyprland
从 TTY 执行:
1 | Hyprland |
或通过显示管理器选择 “Hyprland” 会话。
八、DMS 常用命令
DMS 安装后提供了 dms CLI 工具:
1 | # 启动 DMS Shell |
九、调整和个性化
9.1 换壁纸并自动配色
DMS 的亮点功能之一:设置壁纸后,matugen 会自动提取颜色并重新主题化整个桌面(状态栏、终端、GTK 应用等):
1 | dms ipc call wallpaper set ~/Pictures/my-wallpaper.jpg |
9.2 查看所有可用快捷键
1 | dms keybinds |
9.3 更新 DMS
1 | sudo pacman -Syu dms-shell # 更新 dms-shell 本体 |
小结
这一篇完成了:
- 了解 DMS 的定位——一站式替代零散的桌面工具
- 通过安装脚本或手动安装 DMS 和依赖
- 运行
dms setup自动配置合成器 - 了解 niri 和 Hyprland 各自的配置格式和核心概念
- 掌握 DMS 的日常使用命令
下一篇:中文环境配置和中文输入法,让你的 Arch Linux 完整支持中文显示和输入。