这次我们来看一个针对 Linux 用户的 Arch Linux 桌面环境搭建教程核心是结合 Niri 和 DMS。如果你对 Arch Linux 的极简、滚动更新特性感兴趣但又对传统桌面环境如 GNOME、KDE的臃肿感到不满那么这套由 Niri平铺式 Wayland 合成器和 DMS显示管理器组成的轻量级桌面方案或许能给你带来全新的体验。本文的重点不是空谈概念而是提供一套从零开始、可落地的安装与调校全流程。对于很多用户来说Arch Linux 的安装门槛不低而桌面环境的配置更是容易让人望而却步。本文将从一个“5个月前还是小白”的视角出发手把手带你完成整个流程。我们会重点关注几个核心问题这套组合的硬件门槛高吗启动和运行是否稳定日常使用体验如何以及当你遇到问题时该如何排查文章将涵盖环境准备、基础系统安装、Niri 与 DMS 的部署、常用软件配置以及美化调校最终让你获得一个既美观又高效的个性化桌面。无论你是想尝试 Arch Linux 的新手还是希望为自己的 Arch 系统寻找一个更现代、更轻量桌面方案的老用户这篇文章都值得你收藏。我们将从最基础的 Arch 安装开始逐步构建起完整的桌面环境并分享过程中可能遇到的坑及其解决方案。1. 核心能力速览在深入细节之前我们先通过一个表格快速了解这套方案的核心特性和要求帮助你判断是否适合自己。能力项说明目标系统Arch Linux (滚动更新发行版)桌面核心Niri (Wayland 平铺合成器) 可选 DMS (显示管理器)主要特点极简、高性能、高度可定制、Wayland 原生、平铺窗口管理硬件门槛较低。对显卡要求宽松集成显卡即可流畅运行显存占用远低于 GNOME/KDE。适合人群喜欢折腾、追求系统控制权、希望桌面轻量高效的用户Linux 中级学习者。不适合场景追求开箱即用、需要大量商业闭源软件如 Adobe 系列直接支持、讨厌命令行的用户。安装复杂度中高。需要手动完成 Arch 基础安装及后续组件配置不适合纯新手无指导操作。社区支持Arch Wiki 是终极宝典Niri 作为较新项目社区活跃但中文资料相对较少。2. 适用场景与使用边界在开始安装前明确你为什么要选择这套方案至关重要。适用场景学习与探索如果你想深入学习 Linux 系统运作机制特别是引导、服务管理、窗口系统X11/Wayland手动搭建 Arch 桌面是最好的实践。老旧硬件焕新在老电脑或低配设备上GNOME 或 KDE 可能比较吃力而 Niri 这类轻量级合成器能极大提升流畅度。开发与效率环境平铺窗口管理器能减少鼠标操作通过键盘快速布局窗口非常适合程序员、文本工作者等需要多任务处理的用户。追求个性化从内核参数到桌面每一个像素你都能完全控制打造独一无二的工作环境。使用边界与注意事项时间投入这不是一个半小时就能搞定的“一键安装包”。你需要预留足够的时间阅读文档、执行命令和排错。数据安全安装过程会格式化磁盘。请务必提前备份所有重要数据到外部存储设备。硬件兼容性虽然 Arch 内核较新但对某些非常小众或老旧的硬件特别是无线网卡、声卡驱动支持可能需额外配置。建议先在虚拟机中练习。软件生态Arch 的官方仓库pacman和 AURyay覆盖了绝大多数开源软件。但如果你依赖特定的商业软件需提前确认其是否有 Linux 版本或能否通过 Wine 等兼容层运行。稳定性观念Arch 是滚动更新系统意味着你几乎每天都能收到软件更新。虽然大部分时间很稳定但仍有小概率遇到更新后某个功能异常的情况。你需要具备基本的排查和回滚能力。3. 环境准备与前置条件工欲善其事必先利其器。开始前请确保你已满足以下条件。硬件准备一台用于安装的电脑实体机或虚拟机均可。虚拟机推荐 VirtualBox 或 VMware。一个不小于 8GB 的 U 盘用于制作安装介质。稳定的网络连接有线网络最佳无线网络需确认 Arch 安装镜像是否包含你的网卡驱动。软件准备Arch Linux 安装镜像前往 Arch Linux 官方网站下载最新的 ISO 文件。推荐使用archlinux-xxxx.xx.xx-x86_64.iso。启动盘制作工具如 Rufus (Windows)、dd命令 (Linux/macOS) 或 Etcher (全平台)。查阅文档强烈建议在另一台设备上打开 Arch Wiki 安装指南 。它是你安装过程中最重要的参考。心理准备准备好阅读英文文档Arch Wiki 质量极高也可利用浏览器翻译。准备好面对命令行界面。整个安装和大部分配置都通过终端完成。准备好记录。遇到错误时记录完整的错误信息这是搜索解决方案的关键。4. Arch Linux 基础系统安装这是最核心也是最需要耐心的一步。我们将遵循 Arch Wiki 的流程但会以更贴近新手的视角讲解。4.1 制作安装介质并启动使用 Rufus 等工具将下载的 ISO 文件写入 U 盘选择 “DD 模式” 或 “ISO 模式”。设置 BIOS/UEFI 从 U 盘启动你会进入 Arch Linux 的 Live 环境一个运行在内存中的临时系统。4.2 连接网络在 Live 环境中首先需要联网。有线网络通常会自动连接。可用ping archlinux.org测试。无线网络使用iwctl工具连接。iwctl # 进入交互式命令行 device list # 列出无线设备 station wlan0 scan # 扫描网络 (wlan0 是设备名请替换) station wlan0 get-networks # 列出找到的网络 station wlan0 connect 你的Wi-Fi名称 # 连接网络会提示输入密码 exit # 退出 iwctl再次使用ping archlinux.org验证。4.3 更新系统时钟确保系统时钟准确这对后续许多操作很重要。timedatectl set-ntp true timedatectl status # 查看状态4.4 磁盘分区与格式化警告此步骤会清除磁盘数据请务必确认操作对象是正确的磁盘。假设你的磁盘是/dev/sda请用lsblk或fdisk -l命令确认。分区我们创建一个简单的分区方案UEFI 模式/dev/sda1: EFI 系统分区512M。/dev/sda2: 根分区/剩余所有空间。 如果需要交换分区可自行添加。 使用fdisk或cfdisk工具进行分区。cfdisk /dev/sda格式化mkfs.fat -F32 /dev/sda1 # 格式化 EFI 分区为 FAT32 mkfs.ext4 /dev/sda2 # 格式化根分区为 ext4 # 如果有交换分区mkswap /dev/sdaX swapon /dev/sdaX4.5 挂载分区并安装基础系统挂载mount /dev/sda2 /mnt # 挂载根分区 mkdir -p /mnt/boot/efi # 创建 EFI 挂载点 mount /dev/sda1 /mnt/boot/efi # 挂载 EFI 分区安装基础包使用pacstrap安装最基本的系统。pacstrap /mnt base base-devel linux linux-firmware vim sudo networkmanagerbase-devel: 包含编译工具后续安装 AUR 包必需。vim: 文本编辑器可按喜好换成nano。sudo: 权限管理工具。networkmanager: 网络管理工具比systemd-networkd对新手更友好。4.6 生成 fstab 并切换根环境生成文件系统表genfstab -U /mnt /mnt/etc/fstab cat /mnt/etc/fstab # 检查是否正确切换到新系统arch-chroot /mnt此时你的命令行前缀会变成[rootarchiso /]#表示已进入新安装的系统环境。4.7 系统基础配置设置时区与本地化ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc vim /etc/locale.gen # 取消注释 en_US.UTF-8 UTF-8 和 zh_CN.UTF-8 UTF-8 locale-gen echo LANGen_US.UTF-8 /etc/locale.conf # 建议系统语言用英文减少终端乱码设置主机名echo myarch /etc/hostname # 将 myarch 替换为你喜欢的主机名 vim /etc/hosts在/etc/hosts文件中添加127.0.0.1 localhost ::1 localhost 127.0.1.1 myarch.localdomain myarch设置 root 密码并创建用户passwd # 设置 root 密码 useradd -m -G wheel -s /bin/bash 你的用户名 # 创建普通用户并加入 wheel 组用于sudo passwd 你的用户名 # 设置新用户密码配置 sudoEDITORvim visudo找到# %wheel ALL(ALL:ALL) ALL这一行取消其注释删除行首的#保存退出。安装引导程序 (GRUB)pacman -S grub efibootmgr grub-install --targetx86_64-efi --efi-directory/boot/efi --bootloader-idGRUB grub-mkconfig -o /boot/grub/grub.cfg4.8 完成安装退出并重启exit # 退出 chroot 环境 umount -R /mnt # 卸载所有挂载 reboot首次启动拔掉 U 盘从硬盘启动。你应该能看到 GRUB 引导菜单选择 Arch Linux 启动。登录使用你创建的用户名和密码登录命令行界面。至此一个没有图形界面的、最基础的 Arch Linux 系统已经安装完成。接下来我们将为其安装图形界面核心显示服务器、显示管理器和桌面合成器。5. 图形环境核心组件安装我们的目标是 Wayland 环境因此需要安装 Wayland 显示服务器、Niri 合成器以及一个可选的显示管理器DMS。5.1 安装 Wayland 与显卡驱动安装 Waylandsudo pacman -S wayland安装显卡驱动Intel 集成显卡sudo pacman -S mesa vulkan-intelAMD 显卡sudo pacman -S mesa vulkan-radeonNVIDIA 显卡情况稍复杂。对于较新的显卡可尝试开源驱动sudo pacman -S mesa vulkan-icd-loader和sudo pacman -S nvidia-open-dkms需确认内核头文件已安装。建议查阅 Arch Wiki 的 NVIDIA 页面。安装必要的工具和库sudo pacman -S xorg-xwayland # 为 X11 应用提供兼容层 sudo pacman -S qt5-wayland qt6-wayland # Qt 应用的 Wayland 支持 sudo pacman -S glfw-wayland # 一些图形应用需要5.2 安装并配置 NiriNiri 是一个较新的、动态平铺 Wayland 合成器使用 Rust 编写配置相对简单。安装 Niri目前 Niri 在 AUR 中我们需要先安装 AUR 助手yay。# 安装 git 和 base-devel (如果之前没装) sudo pacman -S git base-devel # 克隆 yay 仓库并安装 git clone https://aur.archlinux.org/yay.git cd yay makepkg -si cd .. rm -rf yay使用yay安装 Niriyay -S niri初次运行与配置Niri 首次启动时会自动在~/.config/niri/目录下生成默认配置文件config.kdl。# 首次启动 Niri (在 tty 中执行) niri如果一切正常你会看到一个非常简洁的屏幕可能只有一个背景。按ModShiftE默认 Mod 键是Super/Win键可以退出 Niri。 现在来查看和修改配置vim ~/.config/niri/config.kdl默认配置已经很实用。你可以在这里设置键盘布局、启动程序、窗口规则、外观背景、边框颜色等。语法是 KDL一种可读性很高的配置语言。建议先浏览一遍默认配置了解其结构。5.3 安装显示管理器 DMS (可选)显示管理器Display Manager提供图形化登录界面。你可以选择不用每次在 tty 手动输入niri启动。但为了体验更完整我们安装一个轻量级的 DMly或sddm。这里以ly为例它非常简洁。安装 lyyay -S ly启用 ly 服务sudo systemctl enable ly.service配置 ly主要配置文件在/etc/ly/config.ini。你可以设置主题、键盘布局等。默认配置通常可以直接工作。重启执行sudo reboot。重启后你应该能看到ly的登录界面。输入用户名和密码登录后会自动启动 Niri。注意如果登录后屏幕黑屏或卡住可以按CtrlAltF2切换到另一个 tty 登录然后检查日志journalctl -u ly.service -b来排查问题。一个常见原因是.xinitrc或 Wayland 启动脚本冲突确保没有遗留的~/.xinitrc文件。6. 桌面环境功能完善与必备软件现在我们已经有了一个能启动的图形界面但它还非常“裸”。我们需要安装一些必备软件来让它变得可用和舒适。6.1 终端模拟器与 ShellNiri 默认配置了ModEnter打开终端但需要先安装一个终端。sudo pacman -S alacritty # 一个用 Rust 写的快速终端推荐 # 或者安装 foot (Wayland 原生) 或 kitty # sudo pacman -S foot同时确保你有一个功能强大的 Shell如zsh并配合oh-my-zsh。sudo pacman -S zsh chsh -s /bin/zsh # 将当前用户的默认 shell 改为 zsh # 注销重新登录后安装 oh-my-zsh sh -c $(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)6.2 网络与蓝牙网络我们之前安装了networkmanager现在需要其图形前端和托盘图标。sudo pacman -S network-manager-applet将其添加到 Niri 的自动启动配置中。编辑~/.config/niri/config.kdl在startup块内添加startup { exec nm-applet --indicator }蓝牙sudo pacman -S bluez bluez-utils blueman sudo systemctl enable --now bluetooth.service同样可以将blueman-applet添加到 Niri 的startup中。6.3 声音管理sudo pacman -S pipewire pipewire-pulse pipewire-alsa wireplumber pavucontrol systemctl --user enable --now pipewire.service pipewire-pulse.service wireplumber.servicepavucontrol是 PulseAudio 音量控制图形界面安装后可以在菜单中启动它来调整输入输出设备。6.4 基础工具与字体文件管理器sudo pacman -S nemo # 或 thunar、pcmanfm文本编辑器sudo pacman -S code # Visual Studio Code # 或者 vim-gtk, gedit, kate 等浏览器sudo pacman -S firefox字体解决中文显示和美化。sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-dejavu # 可选安装文泉驿或思源字体 # sudo pacman -S wqy-microhei wqy-zenhei # sudo pacman -S adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts输入法以 Fcitx5 为例。sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-gtk fcitx5-qt fcitx5-configtool编辑~/.pam_environment文件如果没有就创建GTK_IM_MODULE DEFAULTfcitx QT_IM_MODULE DEFAULTfcitx XMODIFIERS DEFAULT\imfcitx将 Fcitx5 添加到 Niri 的自动启动startup { exec fcitx5 -d }重启后可以在系统托盘找到 Fcitx5 图标进行配置添加拼音等输入法。6.5 应用启动器 (Launcher)平铺窗口管理器通常需要一个启动器来快速启动程序。Rofi 是一个经典选择但需要配置为 Wayland 模式。Wofi 是 Wayland 原生的替代品。sudo pacman -S wofi然后在 Niri 配置中绑定一个快捷键来启动它。编辑~/.config/niri/config.kdl在keybindings部分添加如果不存在则创建keybindings { Modd { spawn wofi --show drun; } }这样按下Superd就会弹出应用启动器。7. 桌面美化与调校一个高效的工作环境也应该赏心悦目。我们可以从以下几个方面进行美化。7.1 设置壁纸Niri 本身不支持直接设置壁纸但可以通过其他工具实现例如swaybgSway 合成器的背景设置工具但通用。sudo pacman -S swaybg然后在 Niri 配置的startup块中启动它startup { exec swaybg -i /path/to/your/wallpaper.jpg -m fill }你也可以使用更动态的工具如mpv来播放视频壁纸或使用azote等图形化工具管理壁纸。7.2 主题与图标GTK 主题和图标主题可以统一应用程序的外观。安装主题管理工具和主题sudo pacman -S lxappearance # GTK 主题切换工具 yay -S orchis-theme-git # 一个流行的 GTK 主题 yay -S papirus-icon-theme # Papirus 图标主题应用主题运行lxappearance在图形界面中选择你安装的主题和图标然后点击“应用”。你可能需要重启应用程序或整个会话才能看到变化。7.3 Niri 外观调校Niri 的config.kdl文件提供了丰富的外观选项。边框可以修改窗口边框的宽度、颜色、活动与非活动状态。layout { border { width 2 active-color #88c0d0 inactive-color #4c566a } }间隙 (Gaps)可以在窗口之间和屏幕边缘添加间隙让布局更透气。layout { gaps 10 # 设置间隙为 10 像素 }圆角Niri 支持窗口圆角。layout { corner-radius 8 }修改配置后在 Niri 会话中按ModShiftC可以重新加载配置无需重启。7.4 状态栏 (Status Bar)平铺桌面通常需要一个状态栏来显示系统信息时间、电量、音量、网络状态等。Waybar 是一个流行且高度可定制的 Wayland 状态栏。sudo pacman -S waybar安装后你需要创建配置文件~/.config/waybar/config和样式文件~/.config/waybar/style.css。可以从官方示例开始cp /usr/share/waybar/config ~/.config/waybar/ cp /usr/share/waybar/style.css ~/.config/waybar/然后在 Niri 配置的startup块中启动 Waybarstartup { exec waybar }Waybar 的配置非常灵活你可以查阅其 Wiki 来定制模块和外观。8. 功能测试与效果验证安装配置完成后我们需要系统地测试各个功能是否正常工作。8.1 基础功能测试网络连接点击系统托盘中的 NetworkManager 图标查看是否能扫描到 Wi-Fi 或管理有线连接。打开 Firefox访问网页测试。声音播放打开一个网页播放视频或音乐检查是否有声音。运行pavucontrol确认输出设备选择正确音量未被静音。输入法切换在文本编辑器如 VS Code或终端中尝试按配置的快捷键默认是CtrlSpace切换中英文输入看是否能正常输入中文。应用启动器按Superd弹出 Wofi搜索并启动已安装的程序如 Firefox、Alacritty。8.2 窗口管理测试平铺布局打开两个终端窗口ModEnter。观察它们是否自动并排排列。尝试按Modh/j/k/l方向键在窗口间切换焦点。窗口操作移动窗口ModShifth/j/k/l。调整布局Mod空格键可以在平铺、栈式布局间切换。全屏Modf。关闭窗口ModShiftq。 以上快捷键为 Niri 常见默认设置请以你的实际配置为准工作区 (Workspace)尝试切换到不同的工作区如Mod1,Mod2并在不同工作区打开不同应用。8.3 外设与高级功能蓝牙打开blueman-applet尝试搜索并连接蓝牙设备如耳机、鼠标。多显示器如果你有外接显示器插上后查看 Niri 是否自动识别并扩展/镜像屏幕。可以在 Niri 配置中设置多显示器布局。屏幕截图安装截图工具如grim截图、slurp选择区域、wl-copy复制到剪贴板。sudo pacman -S grim slurp wl-clipboard绑定快捷键在 Niri 配置中添加ModShifts { spawn grim -g \$(slurp)\ - | wl-copy; }即可实现区域截图并复制到剪贴板。9. 常见问题与排查方法在安装和使用过程中你几乎一定会遇到问题。以下是常见问题的排查思路。问题现象可能原因排查方式解决方案系统启动后黑屏只有光标1. 显卡驱动问题。2. 显示管理器ly配置错误。3. Niri 启动失败。1. 按CtrlAltF2切换到 tty2 登录。2. 查看 ly 服务日志journalctl -u ly.service -b。3. 手动尝试启动 Niriniri观察终端报错。1. 确保安装了正确的显卡驱动。2. 检查~/.xinitrc等遗留文件是否干扰。3. 暂时禁用 lysudo systemctl disable ly.service改用startx或niri手动启动测试。无法连接无线网络1. 网卡驱动未加载。2.iwd或NetworkManager服务未运行。3. 固件缺失。1.lspci -k查看网卡驱动状态。2.sudo systemctl status NetworkManager。3. 检查dmesg | grep firmware有无错误。1. 安装对应网卡驱动和固件sudo pacman -S linux-firmware。2. 确保 NetworkManager 运行sudo systemctl enable --now NetworkManager。3. 使用iwctl命令行工具临时连接。没有声音1. PipeWire 服务未启动。2. 输出设备选错或被静音。3. 用户未加入audio组。1.systemctl --user status pipewire。2. 运行pavucontrol检查。3.groups命令查看当前用户组。1. 启用并启动 PipeWire 用户服务。2. 在pavucontrol中设置正确的输出设备。3. 将用户加入audio组sudo usermod -aG audio 用户名需重新登录。输入法无法切换/不显示1. 环境变量未正确设置。2. Fcitx5 未启动。3. 缺少对应输入法引擎。1. 检查~/.pam_environment文件内容。2.ps aux | grep fcitx5查看进程。3. 检查是否安装了fcitx5-chinese-addons。1. 确保环境变量文件正确且已注销重登。2. 将fcitx5 -d加入 Niri 的startup。3. 通过fcitx5-configtool添加输入法。Waybar 不显示或样式错乱1. Waybar 配置错误。2. 字体缺失。3. 启动命令错误。1. 直接命令行运行waybar看终端报错。2. 检查~/.config/waybar/config语法。1. 从默认配置开始逐步修改。2. 安装必要的字体如ttf-font-awesome用于图标。3. 确保在 Niri 配置中exec的是waybar。应用窗口边框/装饰异常1. 应用是 XWayland 客户端主题不匹配。2. Niri 的边框配置被覆盖。1. 使用xprop查看窗口属性。2. 检查 Niri 配置中是否有针对该应用的规则。1. 尝试设置GTK_THEME环境变量。2. 在 Niri 配置的window-rules中为特定应用设置覆盖规则。yay安装 AUR 包失败1. 网络问题。2. 依赖缺失。3. PKGBUILD 冲突。1. 查看yay的详细输出错误信息。2. 检查是否安装了base-devel。3. 尝试手动克隆 PKGBUILD 并makepkg -si。1. 使用yay -S 包名 --editmenu手动检查和编辑 PKGBUILD。2. 确保有足够的磁盘空间。3. 查阅 AUR 页面评论区的解决方案。10. 最佳实践与使用建议经过一番折腾你的 Arch Niri 桌面应该已经可以稳定使用了。以下是一些长期使用的建议能让你的体验更顺畅。系统更新定期更新系统是保持 Arch 稳定和安全的关键。建议每周或每两周执行一次完整更新并在更新前阅读 Arch 官网新闻了解是否有需要手动干预的重大变更。sudo pacman -Syu # 更新官方仓库 yay -Syu # 更新官方仓库和 AUR 包配置备份你的系统精华全在配置文件里~/.config/目录下特别是niri/,waybar/,fcitx5/等。定期将这些目录备份到云端或其他硬盘。如果使用 Git 管理~/.config/目录则更为优雅。AUR 包管理yay是很好的工具但安装 AUR 包时有风险因为是用户提交的脚本。养成习惯安装前查看 AUR 页面的投票数和评论。使用yay -S 包名 --editmenu在安装前检查 PKGBUILD 脚本。对于重要系统可以考虑使用paru或其他 AUR 助手它们可能有不同的默认行为和安全特性。问题排查三板斧查日志journalctl -xe -u 服务名或journalctl -b查看本次启动日志。查 Arch Wiki几乎所有常见问题Arch Wiki 上都有详尽的解决方案。善用搜索。查社区在论坛如 Arch Linux 中文论坛或 Reddit 的 r/archlinux 提问时提供清晰的错误信息、你已经尝试过的步骤和相关的配置文件片段。探索与定制Niri 和整个 Arch 生态的魅力在于无限定制。不要满足于现状深入研究 Niri 的config.kdl尝试不同的布局模式和快捷键。为 Waybar 编写自定义模块显示天气、股票或自定义脚本的输出。尝试其他 Wayland 合成器如 Sway、Hyprland比较它们的优劣。这套由 Arch Linux、Niri 和 DMS如 ly组成的桌面环境最终带给你的不仅仅是一个高效的工具更是一个完全属于你、由你掌控的数字工作空间。从第一次分区到最终完美的桌面呈现这个过程本身就是对 Linux 系统一次深刻的理解。它可能不是最简单的选择但它提供的学习价值、性能收益和那份“一切尽在掌握”的满足感是其他现成发行版难以比拟的。建议你将整个安装和配置过程记录成你自己的笔记这将成为你未来解决更复杂问题的最宝贵财富。