从零搭建Arch Linux平铺式Wayland桌面:Niri与DMS实战指南
2026/8/18 23:31:02 网站建设 项目流程

如果你在寻找一个“能跑就行”的Linux桌面,Ubuntu、Fedora甚至Deepin都是不错的选择。但如果你和我一样,在某个深夜被Arch Wiki上那句“简单、轻量、符合KISS原则”所吸引,同时又对市面上那些“大而全”的桌面环境感到审美疲劳和性能臃肿,那么,亲手从零搭建一个由Niri(一个平铺式Wayland合成器)和DMS(一个极简显示管理器)驱动的Arch Linux桌面,可能就是你一直在找的答案。

这不仅仅是一次安装,更像是一次对Linux桌面本质的探索。整个过程会让你清晰地看到,一个现代、流畅、美观的桌面环境,其底层究竟由哪些核心组件构成:内核、驱动、显示服务器(Wayland/X11)、显示管理器、窗口合成器、状态栏、应用启动器……我们将亲手挑选并组装每一个部件。

本文的目标非常明确:面向有一定Linux基础(比如知道ls,cd,sudo是什么),但从未独立安装过Arch,且对Wayland和窗口管理器感到好奇的“准新手”。我将以5个月前的自己为视角,记录从Arch基础安装到Niri桌面完美运行的每一个步骤、每一个坑、以及每一个“原来如此”的时刻。这不是一份冷冰冰的官方文档翻译,而是一份带有温度、判断和实操细节的“生存指南”。

读完本文,你将获得:

  1. 一个可运行的、极简且现代的Arch+Niri+DMS桌面系统
  2. 对Linux图形栈(尤其是Wayland)组件关系的深刻理解
  3. 绕过常见陷阱的实用技巧,比如网络配置、显卡驱动、中文输入法、字体渲染。
  4. 一套可复用的“调校”方法论,让你能根据自己的喜好定制桌面。

我们开始吧。

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=sync

dd命令没有进度条,status=progressbs=4M能一定程度上改善体验。写入完成后,安全弹出U盘。

Windows用户:可以使用 Rufus 或 Ventoy 等工具制作启动盘。Rufus选择“DD模式”写入即可。

3. 基础Arch系统安装:从U盘到硬盘

这是整个过程中最需要耐心的一步。请跟随步骤,并理解每一步在做什么。

3.1 启动并连接网络

  1. 将制作好的U盘插入电脑,从U盘启动。你会进入一个命令行界面的Live环境。
  2. 验证启动模式ls /sys/firmware/efi/efivars。如果目录存在且能列出文件,说明是UEFI模式启动(现代电脑基本都是),否则是传统BIOS模式。本文以UEFI模式为准。
  3. 连接网络
    • 有线网络:通常已经自动连接并获取了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 # 再次测试网络

3.2 更新系统时钟与分区硬盘

  1. 更新系统时钟timedatectl set-ntp true
  2. 分区:使用fdiskcfdisk(更友好)对目标硬盘进行分区。以下是一个典型的UEFI+GPT分区方案示例(假设目标硬盘是/dev/nvme0n1):
    • EFI系统分区/dev/nvme0n1p1, 大小 512M, 类型EFI System
    • 根分区/dev/nvme0n1p2, 大小 剩余所有空间, 类型Linux filesystem。 (如果你需要Swap分区,可以单独划分,例如4G。但现代系统内存足够大,也可以使用Swap文件,更灵活。)
  3. 格式化分区
    mkfs.fat -F32 /dev/nvme0n1p1 # 格式化EFI分区为FAT32 mkfs.ext4 /dev/nvme0n1p2 # 格式化根分区为ext4 # 如果需要Swap分区:mkswap /dev/nvme0n1p3 && swapon /dev/nvme0n1p3
  4. 挂载分区
    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 networkmanager
  • base:最核心的系统包。
  • base-devel:编译软件所需的工具链(后续从AUR安装软件需要)。
  • linux:内核。
  • linux-firmware:硬件固件。
  • vim:文本编辑器(你可以选nano)。
  • sudo:权限管理。
  • networkmanager:网络管理工具(比systemd-networkd对桌面用户更友好)。

3.4 生成fstab与Chroot进入新系统

  1. 生成文件系统表genfstab -U /mnt >> /mnt/etc/fstab。建议用cat /mnt/etc/fstab检查一下。
  2. Chrootarch-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 完成安装

  1. 退出chroot环境:exit
  2. 卸载分区:umount -R /mnt
  3. 重启:reboot
  4. 重启后,拔出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,通常直接安装闭源驱动。
    • 闭源驱动(推荐):
    sudo pacman -S nvidia nvidia-utils nvidia-settings # 对于较新内核,可能还需要 `nvidia-dkms`
    重要:NVIDIA闭源驱动在Wayland下的体验仍在不断改善,请务必查阅 Arch Wiki NVIDIA 获取最新配置。

4.2 安装Wayland及相关组件

Wayland是现代图形界面的基石,Niri依赖它。

sudo pacman -S wayland wayland-protocols xorg-xwayland
  • wayland: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 dms

5.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 niri

6.2 首次运行Niri(不通过DMS)

在配置DMS启动Niri之前,我们先在当前的TTY(命令行界面)里手动测试一下Niri是否能独立运行。这有助于隔离问题。

  1. Ctrl+Alt+F2(或F3/F4)切换到一个未使用的TTY,登录你的普通用户。
  2. 运行Niri:
    # 在普通用户下执行 niri
  3. 如果成功,你会看到屏幕清空,然后出现一个带有网格背景的空白界面(Niri的默认状态)。这说明Wayland合成器本身运行正常。
  4. 此时你无法操作,因为还没有启动任何客户端(程序)。按Mod(默认是Super键,即Windows键) +Shift+Q可以退出Niri,回到命令行。
    • Mod+Enter:打开终端(需要你预先设置,默认可能没绑定)。
    • Mod+Shift+E:退出Niri。

如果Niri启动失败,通常会打印错误信息。常见问题包括:

  • 权限问题:确保你在videoinput用户组: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

这个配置做了三件事:

  1. Super键设为修饰键(Mod)。
  2. 绑定Mod+Enter打开foot终端。
  3. 绑定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 niridbus-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(我们已在配置中使用)
  • 应用启动器wofibemenu
  • 状态栏waybar(功能强大,可定制性高)
  • 通知守护进程makodunst
  • 屏幕截图工具grim+slurp+wl-clipboard
  • 壁纸设置swaybg

一次性安装它们:

sudo pacman -S foot wofi waybar mako grim slurp wl-clipboard swaybg

7.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可能直接启动默认会话),登录。

如果一切配置正确,你将看到:

  1. 漂亮的壁纸。
  2. 屏幕顶部或底部出现waybar状态栏(显示时间、网络、电量等)。
  3. Super+D可以调出wofi启动器,搜索并启动程序。
  4. Super+Enter打开foot终端。
  5. 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 安装常用软件

通过pacmanyay安装你需要的软件。

# 浏览器 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-fresh

8.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注销并重新登录
无法连接WiFiNetworkManager未运行或未配置。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/下是否有configstyle.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 性能与资源监控

  • 安装htopbtop来监控系统资源。
  • 使用nvidia-smi(NVIDIA)或radeontop(AMD)监控显卡状态。
  • Niri本身非常轻量,如果感觉卡顿,首先排查是否是某个特定应用(特别是XWayland应用)导致的。

10.3 混成器效果

Niri内置了一些动画效果,你可以在配置文件的[animations]部分调整。例如:

[animations] # 启用动画 enable = true # 窗口打开/关闭动画时长(毫秒) window-open-duration = 300 window-close-duration = 300

10.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系统理解加深的一步。现在,你的桌面已经就绪,是时候用它去创造点什么了。建议将你的配置备份好,这篇指南也可以收藏起来,以备不时之需。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询