如果你在寻找一个“能跑就行”的Linux桌面,Ubuntu、Fedora甚至Deepin都是不错的选择。但如果你和我一样,在某个深夜被Arch Wiki上那句“简单、轻量、符合KISS原则”所吸引,同时又对市面上那些“大而全”的桌面环境感到审美疲劳和性能臃肿,那么,亲手从零搭建一个由Niri(一个平铺式Wayland合成器)和DMS(一个极简显示管理器)驱动的Arch Linux桌面,可能就是你一直在找的答案。
这不仅仅是一次安装,更像是一次对Linux桌面本质的探索。整个过程会让你清晰地看到,一个现代、流畅、美观的桌面环境,其底层究竟由哪些核心组件构成:内核、驱动、显示服务器(Wayland/X11)、显示管理器、窗口合成器、状态栏、应用启动器……我们将亲手挑选并组装每一个部件。
本文的目标非常明确:面向有一定Linux基础(比如知道ls,cd,sudo是什么),但从未独立安装过Arch,且对Wayland和窗口管理器感到好奇的“准新手”。我将以5个月前的自己为视角,记录从Arch基础安装到Niri桌面完美运行的每一个步骤、每一个坑、以及每一个“原来如此”的时刻。这不是一份冷冰冰的官方文档翻译,而是一份带有温度、判断和实操细节的“生存指南”。
读完本文,你将获得:
- 一个可运行的、极简且现代的Arch+Niri+DMS桌面系统。
- 对Linux图形栈(尤其是Wayland)组件关系的深刻理解。
- 绕过常见陷阱的实用技巧,比如网络配置、显卡驱动、中文输入法、字体渲染。
- 一套可复用的“调校”方法论,让你能根据自己的喜好定制桌面。
我们开始吧。
1. 为什么是 Arch + Niri + DMS?理解我们的技术选型
在动手之前,我们必须清楚自己为什么要选择这套组合,而不是直接安装一个现成的发行版。这决定了后续遇到问题时,我们的排查思路和解决方向。
Arch Linux:它不是一个“产品”,而是一个“平台”。它的核心魅力在于滚动更新和极简主义。你得到的只是一个最基础的系统,然后通过包管理器pacman和AUR(用户软件仓库)亲手搭建一切。这带来了无与伦比的透明度和控制力,但同时也意味着你需要对系统的组成部分有基本认知。选择Arch,就是选择学习和理解。
Niri:这是一个非常新的、基于Wayland的动态平铺式合成器。它不像KDE Plasma或GNOME那样提供完整的桌面环境(DE),而只负责一件事:以高效、美观的方式管理和绘制应用程序窗口。它的特点是:
- Wayland原生:更现代、更安全、性能更好,避免了X11的一些历史包袱。
- 平铺式管理:窗口自动排列,最大化利用屏幕空间,特别适合编程和文字工作。
- 配置简单:其配置文件是易于阅读和编写的TOML格式,逻辑清晰。
- 美观的动画:提供了流畅的窗口打开、关闭、移动动画,这在轻量级平铺管理器里很难得。
DMS (Dynamic Display Manager):这是一个极简的显示管理器(登录管理器)。它的作用就是在系统启动后,提供一个图形化的登录界面,验证你的用户身份,然后启动你指定的桌面会话(对我们来说就是Niri)。相比GDM、SDDM等“重量级”选手,DMS非常轻量,启动快,且与Wayland兼容性好。
核心组件关系图:
硬件启动 -> Linux内核 -> Systemd -> 显示服务器 (Wayland) <- DMS (显示管理器) | v 用户登录验证 | v 启动用户会话 | v Niri (窗口合成器) 启动 | v 状态栏、启动器、壁纸等组件加载选择这套组合,我们追求的是:极致的性能控制、现代的技术栈、简洁的美学,以及最重要的——对整个图形栈的完全理解。它不适合追求“开箱即用”的用户,但绝对是Linux桌面爱好者的一次绝佳修炼。
2. 环境准备:安装介质与启动盘制作
在触碰Arch安装程序之前,准备工作必须万无一失。
2.1 硬件与网络要求
- 一台x86_64架构的电脑:实体机或虚拟机均可。虚拟机(如VMware Workstation Pro, VirtualBox)对新手更友好,便于截图和回滚。实体机体验更完整。
- 稳定的互联网连接:Arch安装过程需要在线下载大量包,必须联网。确保你的环境可以通过有线(推荐)或无线网络连接互联网。
- 一个至少8GB的U盘:用于制作安装介质。
- 至少30GB的硬盘空间:建议分配40GB以上,给系统和日后安装软件留足空间。
2.2 下载Arch Linux镜像
访问Arch Linux官方镜像站(例如:https://archlinux.org/download/),下载最新的ISO文件。文件命名通常为archlinux-xxxx.xx.xx-x86_64.iso。
2.3 制作可启动U盘(以Linux/macOS为例)
警告:此操作将清空U盘所有数据,请提前备份。
# 1. 插入U盘,使用 lsblk 命令查看U盘设备名(例如 /dev/sdb, 注意不是 /dev/sdb1) lsblk # 2. 假设U盘设备是 /dev/sdb,使用 dd 命令写入镜像 # 请务必确认设备名,写错可能导致硬盘数据丢失! sudo dd if=./archlinux-xxxx.xx.xx-x86_64.iso of=/dev/sdb bs=4M status=progress oflag=syncdd命令没有进度条,status=progress和bs=4M能一定程度上改善体验。写入完成后,安全弹出U盘。
Windows用户:可以使用 Rufus 或 Ventoy 等工具制作启动盘。Rufus选择“DD模式”写入即可。
3. 基础Arch系统安装:从U盘到硬盘
这是整个过程中最需要耐心的一步。请跟随步骤,并理解每一步在做什么。
3.1 启动并连接网络
- 将制作好的U盘插入电脑,从U盘启动。你会进入一个命令行界面的Live环境。
- 验证启动模式:
ls /sys/firmware/efi/efivars。如果目录存在且能列出文件,说明是UEFI模式启动(现代电脑基本都是),否则是传统BIOS模式。本文以UEFI模式为准。 - 连接网络:
- 有线网络:通常已经自动连接并获取了IP地址。用
ping archlinux.org测试。 - 无线网络:使用
iwctl工具连接。
iwctl # 进入交互式命令行 device list # 列出无线设备,记下名称(如 wlan0) station <device> scan # 扫描网络,例如 station wlan0 scan station <device> get-networks # 列出扫描到的网络 station <device> connect <SSID> # 连接网络,如有密码会提示输入 exit # 退出 iwctl ping archlinux.org # 再次测试网络 - 有线网络:通常已经自动连接并获取了IP地址。用
3.2 更新系统时钟与分区硬盘
- 更新系统时钟:
timedatectl set-ntp true - 分区:使用
fdisk或cfdisk(更友好)对目标硬盘进行分区。以下是一个典型的UEFI+GPT分区方案示例(假设目标硬盘是/dev/nvme0n1):- EFI系统分区:
/dev/nvme0n1p1, 大小 512M, 类型EFI System。 - 根分区:
/dev/nvme0n1p2, 大小 剩余所有空间, 类型Linux filesystem。 (如果你需要Swap分区,可以单独划分,例如4G。但现代系统内存足够大,也可以使用Swap文件,更灵活。)
- EFI系统分区:
- 格式化分区:
mkfs.fat -F32 /dev/nvme0n1p1 # 格式化EFI分区为FAT32 mkfs.ext4 /dev/nvme0n1p2 # 格式化根分区为ext4 # 如果需要Swap分区:mkswap /dev/nvme0n1p3 && swapon /dev/nvme0n1p3 - 挂载分区:
mount /dev/nvme0n1p2 /mnt # 挂载根分区 mkdir -p /mnt/boot/efi # 创建EFI挂载点 mount /dev/nvme0n1p1 /mnt/boot/efi # 挂载EFI分区
3.3 安装基本系统包
使用pacstrap脚本安装最基本的Arch系统到/mnt。
pacstrap /mnt base base-devel linux linux-firmware vim sudo networkmanagerbase:最核心的系统包。base-devel:编译软件所需的工具链(后续从AUR安装软件需要)。linux:内核。linux-firmware:硬件固件。vim:文本编辑器(你可以选nano)。sudo:权限管理。networkmanager:网络管理工具(比systemd-networkd对桌面用户更友好)。
3.4 生成fstab与Chroot进入新系统
- 生成文件系统表:
genfstab -U /mnt >> /mnt/etc/fstab。建议用cat /mnt/etc/fstab检查一下。 - Chroot:
arch-chroot /mnt。现在你的操作环境已经切换到新安装的系统了。
3.5 在新系统中进行基本配置
# 1. 设置时区与本地时间 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc # 2. 本地化设置(语言与字符集) vim /etc/locale.gen # 取消注释 en_US.UTF-8 UTF-8 和 zh_CN.UTF-8 UTF-8(或其他你需要的) locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf # 建议系统语言用英文,避免终端乱码 # 3. 设置主机名 echo "myarch" > /etc/hostname # 编辑 /etc/hosts 文件,添加以下行 vim /etc/hosts # 127.0.0.1 localhost # ::1 localhost # 127.0.1.1 myarch.localdomain myarch # 4. 设置Root密码 passwd # 5. 安装引导程序(GR2为例,针对UEFI) pacman -S grub efibootmgr grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB grub-mkconfig -o /boot/grub/grub.cfg # 6. 创建一个普通用户并赋予sudo权限 useradd -m -G wheel -s /bin/bash yourusername passwd yourusername # 编辑sudoers文件,为wheel组赋予权限 EDITOR=vim visudo # 找到 `# %wheel ALL=(ALL:ALL) ALL` 这一行,取消注释(删除开头的#)3.6 完成安装
- 退出chroot环境:
exit - 卸载分区:
umount -R /mnt - 重启:
reboot - 重启后,拔出U盘,从硬盘启动。你应该能看到GRUB引导菜单,并成功进入全新的Arch Linux命令行登录界面。用你刚创建的用户名和密码登录。
至此,一个最基础的、无图形界面的Arch Linux系统已经安装完毕。真正的“桌面之旅”现在才开始。
4. 图形栈基石:安装显卡驱动与Wayland
没有正确的显卡驱动,图形界面要么无法启动,要么性能极差。
4.1 确定并安装显卡驱动
首先,确定你的显卡型号:lspci | grep -e VGA -e 3D
- Intel 集成显卡:
sudo pacman -S mesa vulkan-intel intel-media-driver libva-intel-driver - AMD 显卡:
sudo pacman -S mesa vulkan-radeon libva-mesa-driver - NVIDIA 显卡(情况复杂):
- 如果你使用的是较新的显卡(RTX 20/30/40系列),需要安装开源驱动(性能可能不如闭源,但Wayland兼容性更好)或闭源驱动。
- 开源驱动:
sudo pacman -S mesa vulkan-radeon(实际上AMD驱动包)?不对,NVIDIA开源是nouveau,但Wayland下不推荐。对于NVIDIA,通常直接安装闭源驱动。 - 闭源驱动(推荐):
重要:NVIDIA闭源驱动在Wayland下的体验仍在不断改善,请务必查阅 Arch Wiki NVIDIA 获取最新配置。sudo pacman -S nvidia nvidia-utils nvidia-settings # 对于较新内核,可能还需要 `nvidia-dkms`
4.2 安装Wayland及相关组件
Wayland是现代图形界面的基石,Niri依赖它。
sudo pacman -S wayland wayland-protocols xorg-xwaylandwayland:Wayland协议实现。wayland-protocols:扩展协议。xorg-xwayland:XWayland兼容层,让仅支持X11的老程序能在Wayland下运行。
5. 核心登场:安装并配置DMS显示管理器
DMS将为我们提供图形登录界面。
5.1 安装DMS
DMS在AUR(Arch用户仓库)中,我们需要先用yay这个AUR助手来安装它。首先安装yay:
# 安装 git 和 base-devel(如果之前没装全) sudo pacman -S --needed git base-devel # 克隆 yay 仓库并编译安装 git clone https://aur.archlinux.org/yay.git cd yay makepkg -si cd .. rm -rf yay现在用yay安装DMS:
yay -S dms5.2 配置DMS
DMS的配置文件位于/etc/dms/config.toml。我们需要创建并编辑它。
sudo vim /etc/dms/config.toml将以下基础配置写入文件(你可以根据注释调整):
# /etc/dms/config.toml [general] # 登录后要启动的会话命令,这里我们先写一个测试命令 session_cmd = "echo 'Session started' && sleep 5" [display] # 输出名称,通常留空自动检测 output = "" # 分辨率,留空使用默认 resolution = "" [theme] # 主题路径,DMS自带一些简单主题 path = "/usr/share/dms/themes/default"这个配置目前只是用来测试DMS能否正常运行。我们真正的会话命令(启动Niri)将在后面配置。
5.3 启用DMS服务并测试
让DMS在系统启动时自动运行:
sudo systemctl enable dms.service现在,重启系统:sudo reboot。如果一切顺利,你应该会看到一个非常简约的DMS登录界面。输入用户名和密码,它会执行我们设置的session_cmd(打印一句话并等待5秒),然后可能返回登录界面或黑屏。这说明DMS工作正常。
如果卡在命令行:按Ctrl+Alt+F2切换到另一个TTY,登录后检查服务状态:sudo systemctl status dms.service,查看日志:journalctl -u dms.service -b。常见问题是显卡驱动或Wayland环境问题。
6. 主角驾到:安装与初体验Niri合成器
Niri是我们桌面的“大脑”,负责窗口管理和绘制。
6.1 安装Niri
Niri同样在AUR中。
yay -S niri6.2 首次运行Niri(不通过DMS)
在配置DMS启动Niri之前,我们先在当前的TTY(命令行界面)里手动测试一下Niri是否能独立运行。这有助于隔离问题。
- 按
Ctrl+Alt+F2(或F3/F4)切换到一个未使用的TTY,登录你的普通用户。 - 运行Niri:
# 在普通用户下执行 niri - 如果成功,你会看到屏幕清空,然后出现一个带有网格背景的空白界面(Niri的默认状态)。这说明Wayland合成器本身运行正常。
- 此时你无法操作,因为还没有启动任何客户端(程序)。按
Mod(默认是Super键,即Windows键) +Shift+Q可以退出Niri,回到命令行。Mod+Enter:打开终端(需要你预先设置,默认可能没绑定)。Mod+Shift+E:退出Niri。
如果Niri启动失败,通常会打印错误信息。常见问题包括:
- 权限问题:确保你在
video和input用户组:sudo usermod -aG video,input yourusername,然后重新登录。 - Wayland环境问题:确保
XDG_RUNTIME_DIR环境变量已设置(通常登录后自动设置)。可以echo $XDG_RUNTIME_DIR查看。
6.3 创建Niri的配置文件
Niri的配置文件位于~/.config/niri/config.toml。它默认不存在,我们需要创建它并进行最基础的配置,至少绑定一个终端快捷键。
mkdir -p ~/.config/niri vim ~/.config/niri/config.toml输入以下最小配置:
# ~/.config/niri/config.toml [input] # 设置Mod键为Super键(Windows键) mod-key = "Super" [keybindings] # 打开终端(我们使用foot,一个快速的Wayland原生终端) "Mod-Return" = "spawn [ \"foot\" ]" # 退出Niri "Mod-Shift-q" = "quit" # 关闭聚焦的窗口 "Mod-Shift-c" = "close-window" [layout] # 初始布局,column是列布局 default-column-width = 800 gap = 10这个配置做了三件事:
- 将
Super键设为修饰键(Mod)。 - 绑定
Mod+Enter打开foot终端。 - 绑定
Mod+Shift+Q退出Niri,Mod+Shift+C关闭窗口。
现在,再次手动运行niri。进入Niri后,按Super+Enter,应该能弹出foot终端窗口。恭喜!你的平铺式Wayland桌面已经可以运行基本程序了。
7. 串联一切:配置DMS自动启动Niri会话
现在我们需要告诉DMS,登录成功后不要执行那个测试命令,而是启动一个完整的Niri桌面会话。
7.1 创建桌面会话文件
Linux的桌面会话由.desktop文件定义。我们需要为Niri创建一个。
sudo vim /usr/share/wayland-sessions/niri.desktop写入以下内容:
[Desktop Entry] Name=Niri Comment=Dynamic tiling Wayland compositor Exec=dbus-run-session niri Type=Application DesktopNames=niri关键点是Exec=dbus-run-session niri。dbus-run-session会为这个会话启动一个D-Bus总线,许多桌面应用(如网络管理器小程序、蓝牙)需要它才能正常工作。
7.2 更新DMS配置
现在修改DMS的配置,指向我们刚创建的会话。
sudo vim /etc/dms/config.toml将session_cmd一行修改为:
session_cmd = "dbus-run-session niri" # 或者,如果你想使用系统级的D-Bus(不推荐,可能权限不对),可以尝试: # session_cmd = "niri"保存并退出。
7.3 安装基础桌面组件
一个可用的桌面还需要一些基本软件:
- 终端:
foot(我们已在配置中使用) - 应用启动器:
wofi或bemenu - 状态栏:
waybar(功能强大,可定制性高) - 通知守护进程:
mako或dunst - 屏幕截图工具:
grim+slurp+wl-clipboard - 壁纸设置:
swaybg
一次性安装它们:
sudo pacman -S foot wofi waybar mako grim slurp wl-clipboard swaybg7.4 完善Niri配置以集成这些组件
再次编辑Niri的配置文件,添加自动启动这些组件的能力。
vim ~/.config/niri/config.toml在文件末尾添加以下内容(请根据你的喜好调整):
# ~/.config/niri/config.toml (续) # 设置壁纸 startup = [ # 设置壁纸,图片路径请自行修改 { spawn = [ "swaybg", "-i", "/path/to/your/wallpaper.jpg", "-m", "fill" ] }, # 启动状态栏 { spawn = [ "waybar" ] }, # 启动通知守护进程 { spawn = [ "mako" ] }, ] [keybindings] # 补充更多快捷键绑定 "Mod-d" = "spawn [ \"wofi\", \"--show\", \"run\" ]" # 应用启动器 "Mod-p" = "spawn [ \"grim\", \"-g\", \"$(slurp)\", \"-\" ] | wl-copy" # 区域截图到剪贴板 "Mod-Shift-p" = "spawn [ \"grim\", \"-\" ] | wl-copy" # 全屏截图到剪贴板 # 你可以继续添加更多绑定,如音量、亮度控制等现在,重启系统或重新启动DMS服务:sudo systemctl restart dms。回到图形登录界面,选择Niri会话(如果DMS支持选择的话,有些极简DM可能直接启动默认会话),登录。
如果一切配置正确,你将看到:
- 漂亮的壁纸。
- 屏幕顶部或底部出现
waybar状态栏(显示时间、网络、电量等)。 - 按
Super+D可以调出wofi启动器,搜索并启动程序。 - 按
Super+Enter打开foot终端。 - 按
Super+P可以进行区域截图。
一个功能完整的、极简的、平铺式的Arch Linux桌面环境,就此诞生。
8. 桌面环境精调:字体、输入法与常用软件
基础桌面有了,但要舒适地使用,还需要进行一系列“精调”。
8.1 安装中文字体与美化
默认字体可能不支持中文或渲染不佳。
sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-dejavu # noto-fonts-cjk 包含了思源黑体/宋体的中日韩版本,显示中文足够你可以创建字体配置文件~/.config/fontconfig/fonts.conf来微调渲染参数,但非必需。
8.2 安装中文输入法(Fcitx5)
Wayland下的中文输入法,Fcitx5是主流选择。
sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-gtk fcitx5-qt fcitx5-configtool配置环境变量,编辑~/.pam_environment文件(如果不存在则创建):
vim ~/.pam_environment加入以下内容:
GTK_IM_MODULE DEFAULT=fcitx QT_IM_MODULE DEFAULT=fcitx XMODIFIERS DEFAULT=\@im=fcitx SDL_IM_MODULE DEFAULT=fcitx GLFW_IM_MODULE DEFAULT=ibus关键一步:在Niri的启动命令中注入Fcitx5。修改~/.config/niri/config.toml中的startup部分:
startup = [ # ... 其他启动项 { spawn = [ "fcitx5", "-d" ] }, # 启动Fcitx5守护进程 ]重启Niri会话(或注销再登录)。在终端输入fcitx5-configtool可以图形化配置输入法,添加“Pinyin”输入引擎。通常按Ctrl+Space切换中英文。
8.3 安装常用软件
通过pacman和yay安装你需要的软件。
# 浏览器 sudo pacman -S firefox # 文件管理器 sudo pacman -S nemo # 文本编辑器 (VS Code via AUR) yay -S visual-studio-code-bin # 音乐播放器 sudo pacman -S mpv # 办公套件 sudo pacman -S libreoffice-fresh8.4 配置Waybar
Waybar的配置文件在~/.config/waybar/config和~/.config/waybar/style.css。你可以从默认配置开始修改。一个简单的config示例如下:
// ~/.config/waybar/config { "layer": "top", "position": "top", "height": 30, "modules-left": ["custom/launcher", "wlr/workspaces"], "modules-center": ["clock"], "modules-right": ["pulseaudio", "network", "battery", "tray"], "clock": { "format": "{:%Y-%m-%d %H:%M}" } }通过修改这些配置,你可以让状态栏显示你需要的信息。
9. 常见问题与排查思路
在搭建过程中,你几乎一定会遇到问题。以下是典型问题的排查路径。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 系统启动后黑屏,只有光标或直接回到登录界面 | 1. 显卡驱动未正确安装或加载。 2. Wayland合成器(Niri)启动失败。 3. DMS会话配置错误。 | 1. 按Ctrl+Alt+F2切到TTY,登录。2. 检查 journalctl -u dms.service -b日志。3. 手动运行 niri看报错。 | 1. 根据显卡型号重装驱动,更新内核linux包。2. 检查Niri配置语法,确保 ~/.config/niri/config.toml无误。3. 检查 /usr/share/wayland-sessions/niri.desktop文件是否存在且Exec路径正确。 |
| Niri能启动,但键盘鼠标无响应 | 用户未加入input组,或权限问题。 | groups命令查看当前用户所在组。 | sudo usermod -aG input yourusername,注销并重新登录。 |
| 无法连接WiFi | NetworkManager未运行或未配置。 | 1.systemctl status NetworkManager。2. 在TTY下使用 nmtui(文本UI)或nmcli配置网络。 | sudo systemctl enable --now NetworkManager。在Niri中,可安装nm-applet并加入startup。 |
| 中文显示为方块 | 未安装中文字体。 | 在终端用fc-list :lang=zh查看已安装的中文字体。 | 安装noto-fonts-cjk等中文字体包。 |
| Fcitx5输入法不生效 | 1. 环境变量未正确设置。 2. Fcitx5未启动。 3. 未在Niri启动项中启动。 | 1.echo $GTK_IM_MODULE等检查变量。2. `ps aux | grep fcitx5检查进程。<br>3. 检查Niri配置的startup`。 |
| Waybar不显示或样式错乱 | 配置文件路径错误或语法错误。 | 1. 检查~/.config/waybar/下是否有config和style.css。2. 运行 waybar -c ~/.config/waybar/config看输出。 | 1. 确保配置文件是有效的JSON。 2. 参考Waybar官方Wiki或社区配置。 |
| 截图快捷键无效 | 1.grim/slurp未安装。2. 快捷键绑定错误。 | 1. 确认软件已安装。 2. 在终端手动运行`grim -g “$(slurp)“ - | wl-copy`测试。 |
通用排查命令:
journalctl -u dms.service -b:查看DMS本次启动的日志。journalctl -b -p 3:查看本次启动的所有错误级别及以上的日志。niri --version:检查Niri版本。ls -la ~/.config/niri/:检查配置文件权限。echo $XDG_SESSION_TYPE:确认当前会话类型是否为wayland。
10. 最佳实践与进阶调校指南
系统跑起来只是开始,让它更贴合你的习惯,才真正体现Arch的精髓。
10.1 配置管理版本化
将你的~/.config/niri/,~/.config/waybar/等配置文件目录用Git管理起来,上传到GitHub或Gitee。这样重装系统或更换电脑时可以快速恢复。
10.2 性能与资源监控
- 安装
htop或btop来监控系统资源。 - 使用
nvidia-smi(NVIDIA)或radeontop(AMD)监控显卡状态。 - Niri本身非常轻量,如果感觉卡顿,首先排查是否是某个特定应用(特别是XWayland应用)导致的。
10.3 混成器效果
Niri内置了一些动画效果,你可以在配置文件的[animations]部分调整。例如:
[animations] # 启用动画 enable = true # 窗口打开/关闭动画时长(毫秒) window-open-duration = 300 window-close-duration = 30010.4 多显示器支持
在Niri配置中,可以配置多显示器。你需要知道显示器的输出名称(如HDMI-A-1,DP-1),使用wlr-randr命令可以列出。
[output.HDMI-A-1] scale = 1.0 mode = "1920x1080@60Hz" position = "0,0" [output.DP-1] scale = 1.5 # HiDPI缩放 mode = "2560x1440@144Hz" position = "1920,0" # 放在HDMI显示器的右边10.5 备份与恢复
定期备份你的用户配置文件(~/.config/)和已安装软件列表。
# 生成已显式安装的软件包列表 pacman -Qqe > pkglist.txt # 备份配置文件(示例) tar -czf config_backup.tar.gz ~/.config/niri ~/.config/waybar ~/.config/foot新系统安装后,可以通过yay -S - < pkglist.txt来批量安装软件,并解压配置文件。
从Live USB启动,到看到一个完全由自己搭建的、响应迅速、布局合理的平铺式桌面,这个过程带来的成就感远超直接使用一个现成的发行版。你不仅得到了一个高度定制化的桌面环境,更重要的是,你清晰地理解了Linux内核、驱动、显示服务器、显示管理器、窗口合成器、状态栏、启动器等组件是如何各司其职、协同工作的。
这套Arch+Niri+DMS的组合,是一个完美的学习平台和生产力起点。它轻量、现代,且完全在你的掌控之中。接下来,你可以继续探索:
- 更深入的Niri配置:自定义键位、布局规则、窗口规则。
- 美化Waybar:编写CSS,添加更多模块(天气、股票、系统监控)。
- 探索其他Wayland原生应用:如
swaylock(锁屏)、swayidle(休眠管理)。 - 配置脚本自动化:用脚本管理多显示器配置、夜间模式切换等。
遇到问题不要慌,Arch Wiki、Niri的GitHub Issues页面以及相关的社区论坛是你最好的朋友。记住,每一个问题的解决,都是你对Linux系统理解加深的一步。现在,你的桌面已经就绪,是时候用它去创造点什么了。建议将你的配置备份好,这篇指南也可以收藏起来,以备不时之需。