ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Arch Linux 安装与 niri+dms 桌面环境调校实战指南

Arch Linux 安装与 niri+dms 桌面环境调校实战指南 上周帮一个刚接触 Linux 五个月的朋友装 Arch他点名要试试 niri 和 dms。我问他为什么他说网上看截图觉得“很酷”。这其实是个挺典型的场景很多人被某个桌面或窗口管理器的视觉效果吸引但往往忽略了从系统安装到桌面调校中间每一步的“坑”都足以让新手从入门到放弃。Arch Linux 的魅力在于它的极简和可定制但这也意味着你需要自己搭建一切。niri 作为一个平铺式合成器dms 作为显示管理器它们确实能带来独特且高效的体验但这套组合的安装调校远不止是几条命令那么简单。它考验的是你对 Linux 基础、依赖管理、配置文件逻辑和问题排查的连贯理解。很多人卡住的不是“怎么做”而是“为什么这么做”以及“出错了怎么办”。这篇文章我就以带朋友安装的完整经历为线索拆解从 Arch 基础安装到 niridms 桌面环境完美运行的每一步。我们的目标不是复现一个教程而是理解每个步骤背后的意图建立一套遇到问题能自己排查的思维框架。你会发现真正让一个系统“好用”的不是某个炫酷的组件而是你对整个工作流从头到尾的控制力。1. 安装 Arch Linux理解“为什么”比记住命令更重要很多人把 Arch 安装视为畏途网上教程命令繁多。但如果你理解其核心是“手动搭建一个最小可运行系统”整个过程就会清晰很多。我们不是在学习命令而是在学习 Linux 系统的构成。1.1 启动与分区为后续使用奠定物理基础首先从 Arch 官网下载最新 ISO制作启动盘。启动进入 Live 环境后第一步是联网。对于有线网络通常 DHCP 会自动分配 IP如果使用iwctl连接 Wi-Fi务必在连接后执行dhcpcd或systemctl start dhcpcd来获取 IP并用ping archlinux.org验证。接下来是分区。这是第一个容易困惑的点。对于大多数单盘单系统场景一个简单的方案是EFI 系统分区至少 512MB类型EFI System。这是 UEFI 启动的必需。根分区剩余所有空间类型Linux filesystem。这里将安装系统和用户数据。使用fdisk或cfdisk工具进行操作。分区完成后格式化并挂载# 格式化 EFI 分区为 FAT32假设为 /dev/nvme0n1p1 mkfs.fat -F 32 /dev/nvme0n1p1 # 格式化根分区为 Ext4或其他你喜欢的文件系统如 Btrfs假设为 /dev/nvme0n1p2 mkfs.ext4 /dev/nvme0n1p2 # 挂载根分区 mount /dev/nvme0n1p2 /mnt # 创建 EFI 分区挂载点并挂载 mkdir -p /mnt/boot/efi mount /dev/nvme0n1p1 /mnt/boot/efi关键理解挂载点/mnt是安装目标后续所有操作都基于此。/boot/efi是 EFI 分区在系统中的访问路径必须正确挂载否则系统无法启动。1.2 安装基础系统与引导器组装核心部件接下来安装最基本的系统包。这里常被忽略的是“基础包”的选择。base组提供了最核心的系统但为了后续桌面安装更顺畅我强烈建议同时安装linux-firmware硬件驱动固件和amd-ucode/intel-ucodeCPU 微码更新提升稳定性和安全性。另外一个顺手的文本编辑器如nano或vim也应在此时安装。pacstrap -K /mnt base base-devel linux linux-firmware amd-ucode nanopacstrap命令将指定的包安装到/mnt下。base-devel包含了编译工具链对于后续通过 AUR 安装软件如 yay是必需的。安装后生成 fstab 文件来定义分区挂载信息genfstab -U /mnt /mnt/etc/fstab务必用cat /mnt/etc/fstab检查一下确保 EFI 分区和根分区都在列且挂载点正确。然后我们chroot到新系统进行后续配置arch-chroot /mnt在 chroot 环境中设置时区、本地化、主机名和 root 密码是标准步骤。这里有一个细节编辑/etc/locale.gen文件取消注释en_US.UTF-8 UTF-8和你需要的其他本地化设置如zh_CN.UTF-8然后运行locale-gen。接着创建/etc/locale.conf并写入LANGen_US.UTF-8。为什么先设英文因为中文环境在纯命令行下可能显示乱码先确保基础系统稳定桌面环境里再设中文更稳妥。最后是安装引导器。对于 UEFI 系统systemd-boot是一个简洁可靠的选择bootctl --path/boot/efi install然后创建引导条目配置文件/boot/efi/loader/entries/arch.conftitle Arch Linux linux /vmlinuz-linux initrd /amd-ucode.img # 如果是 Intel CPU 则为 intel-ucode.img initrd /initramfs-linux.img options rootPARTUUID你的根分区PARTUUID rw获取根分区 PARTUUID 的命令是blkid -s PARTUUID -o value /dev/nvme0n1p2。使用 PARTUUID 比设备名如/dev/nvme0n1p2更稳定即使硬盘接口顺序变化也不会影响启动。1.3 首次重启前的最后检查与用户创建退出 chroot卸载分区并重启前还有两件重要的事安装网络管理工具在 chroot 内安装networkmanager并启用其服务pacman -S networkmanager然后systemctl enable NetworkManager。这样重启后才能自动联网。创建一个普通用户永远不要只用 root 用户日常操作。useradd -m -G wheel -s /bin/bash 你的用户名。-m创建家目录-G wheel将其加入 wheel 组为后续 sudo 授权-s指定默认 shell。接着用passwd 你的用户名设置密码。配置 sudo编辑/etc/sudoers文件使用visudo命令更安全。找到# %wheel ALL(ALL:ALL) ALL这一行取消注释。这允许 wheel 组成员使用 sudo。现在可以exit退出 chrootumount -R /mnt卸载分区然后reboot。拔掉安装介质你应该能进入全新的 Arch 命令行登录界面。注意第一次重启后用新建的普通用户登录。如果网络没起来运行sudo systemctl start NetworkManager并nmtui进行图形化连接设置。至此一个“纯净”的 Arch 系统就绪了它是我们搭建任何桌面的画布。2. 搭建基础桌面环境X11、显卡驱动与显示管理器有了命令行系统下一步是让它“显示”出来。这一步涉及显示服务器、显卡驱动和登录管理器是桌面体验的基石也是最容易出兼容性问题的地方。2.1 显示服务器与显卡驱动确保图形底层通畅首先安装 X 窗口系统X11sudo pacman -S xorg-server xorg-xinit xorg-xrandr xorg-xsetxorg-server是核心xorg-xinit用于启动 Xxorg-xrandr管理显示设置xorg-xset是工具集。接下来是显卡驱动这是关键。安装错误或不兼容的驱动会导致黑屏、卡顿。Intel 集成显卡sudo pacman -S xf86-video-intelAMD 显卡现代sudo pacman -S xf86-video-amdgpuNVIDIA 显卡私有驱动sudo pacman -S nvidia nvidia-utils。对于较新的内核可能还需要nvidia-dkms。NVIDIA 驱动配置相对复杂安装后可能需要手动配置/etc/X11/xorg.conf.d/下的文件或使用nvidia-xconfig生成配置。对于虚拟机如 VirtualBox/Vmware安装对应的virtualbox-guest-utils或open-vm-tools。如何判断安装成功安装驱动后可以尝试启动一个极简的 X 会话测试。先安装一个简单的窗口管理器如xterm和twm仅用于测试sudo pacman -S xterm twm。然后复制 Xinit 配置模板cp /etc/X11/xinit/xinitrc ~/.xinitrc编辑~/.xinitrc在文件最后exec语句之前添加xterm 和exec twm。最后运行startx。如果能看到一个简单的桌面和 xterm 终端说明 X11 和显卡驱动基本工作正常。测试完毕记得将~/.xinitrc改回或备份因为我们后续会用显示管理器。2.2 安装与配置显示管理器dms显示管理器Display Manager提供图形化登录界面并负责启动桌面会话。这里我们选择dms原名 ly因为它轻量、美观且易于配置。# 通过 AUR 助手 yay 安装 dms yay -S dms如果还没有 yay需要先安装sudo pacman -S git base-devel然后git clone https://aur.archlinux.org/yay.gitcd yaymakepkg -si。安装 dms 后需要启用其服务sudo systemctl enable dmsdms 的配置文件位于/etc/dms/config.ini。你可以在这里设置主题、背景、默认会话等。一个常见的需求是设置默认会话为我们即将安装的 niri。编辑配置文件找到[session]部分设置session /usr/share/xsessions/niri.desktop假设 niri 会创建此桌面入口文件。如果该文件不存在我们后续可以手动创建。关键点显示管理器如 dms和窗口管理器/桌面环境如 niri是解耦的。dms 负责认证和启动启动哪个“会话”由配置文件或登录时选择决定。这给了我们灵活性可以安装多个桌面环境并随时切换。2.3 基础工具与字体为中文环境做准备在进入 niri 之前先安装一些必备工具和字体避免进入桌面后连中文都显示不了。字体sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji。这提供了高质量的英文字体和中日韩文字体。中文输入法框架我们选择 Fcitx5。sudo pacman -S fcitx5 fcitx5-configtool fcitx5-gtk fcitx5-qt fcitx5-chinese-addons。安装后需要设置环境变量。编辑~/.xprofile文件如果不存在则创建添加export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx网络与工具确保networkmanager已安装并运行。安装一个浏览器如firefox和文件管理器如thunar或pcmanfm以备不时之需sudo pacman -S firefox thunar。现在重启系统你应该能看到 dms 的登录界面。用普通用户登录如果一切配置正确dms 会尝试启动我们指定的会话。但此时 niri 还没装所以可能会失败或退回命令行。别担心这是正常的我们接下来就安装主角。3. 安装与初探 niri平铺合成器的核心逻辑niri 不是一个传统的桌面环境如 GNOME、KDE也不是一个单纯的窗口管理器如 i3、sway。它是一个平铺式合成器集成了窗口管理、合成和渲染。这意味着它更接近 Wayland 下的 Sway但设计哲学和配置方式可能不同。3.1 通过 AUR 安装 niri 及其依赖niri 很可能在 AUR 中。使用 yay 安装是最方便的yay -S niri在安装过程中yay 会显示需要构建的依赖列表确认后开始下载和编译。这个过程可能需要一些时间取决于你的 CPU 和网络。安装完成后niri 应该会提供一个桌面会话文件通常位于/usr/share/wayland-sessions/或/usr/share/xsessions/。由于 niri 是 Wayland 原生应用我们更关注 Wayland 会话。但为了兼容性以及让 dms 能识别它可能也会提供一个 X11 会话文件。我们可以检查一下ls /usr/share/wayland-sessions/ | grep niri ls /usr/share/xsessions/ | grep niri如果存在niri.desktop那么 dms 的会话列表里就应该能看到它。如果没有我们需要手动创建一个。3.2 为 dms 创建 niri 会话入口如果需要假设 niri 安装在/usr/bin/niri我们可以创建一个桌面入口文件。对于 X11 会话dms 通常通过 X11 启动创建/usr/share/xsessions/niri.desktop[Desktop Entry] Nameniri CommentDynamic tiling compositor Exec/usr/bin/niri TypeApplication然后确保你的 dms 配置/etc/dms/config.ini中session指向这个文件路径或者你可以在 dms 登录界面上手动选择 “niri” 会话。重要niri 是 Wayland 合成器但它可能提供一个 X11 后端以便在 X11 会话中运行这取决于其实现。更常见的做法是让 dms 直接启动一个 Wayland 会话。但 dms 本身可能主要设计用于启动 X11 会话。这里可能存在一个兼容性断层dmsly传统上用于启动 X11 的桌面环境。要让 dms 启动一个纯 Wayland 合成器如 niri可能需要额外的配置或补丁或者 dms 的新版本已经支持。这是一个关键排查点。如果 dms 无法直接启动 niri我们还有备用方案不使用显示管理器而是通过~/.xinitrc或直接通过 TTY 启动。但这就失去了图形化登录的便利。对于追求完美体验的用户可能需要考虑其他支持 Wayland 会话的显示管理器如greetd配合gtkgreet或者直接使用 niri 自带的登录功能如果提供。3.3 首次启动 niri 与基础配置假设我们通过某种方式比如在 TTY 下直接运行niri成功启动了它。你可能会看到一个非常简洁的屏幕可能只有一个背景或者纯色和一个键盘快捷键提示。niri 的配置通常通过一个配置文件完成位置可能在~/.config/niri/config.kdl或~/.config/niri/config具体格式和位置需查阅其官方文档。作为平铺管理器其核心配置包括键盘映射定义如何打开终端、移动窗口、切换工作区等。输出设置分辨率、刷新率、多显示器布局。窗口规则如何平铺、浮动特定应用的初始状态。状态栏/面板是否启用显示哪些信息时间、电量、网络等。一个极简的配置示例假设使用 KDL 格式可能如下所示用于打开终端ModEnter和关闭窗口ModShiftQinput { keyboard xkb_layout us } keybindings { ModReturn spawn alacritty // 需要先安装 alacritty 或你喜欢的终端 ModShiftQ close-window } output { mode 1920x108060 }你需要根据 niri 的实际配置语法进行调整。核心建议先从官方示例配置开始只修改你最需要的部分如终端模拟器和键盘布局确保能启动和基本操作再逐步添加复杂功能。4. 调校与问题排查让系统真正为你所用安装成功只是开始稳定、高效、符合习惯的日常使用才是目标。这一步我们会解决常见问题并优化工作流。4.1 常见启动与显示问题排查dms 启动后黑屏或闪退回登录界面检查日志第一时间查看系统日志。sudo journalctl -xe -b可以查看本次启动的详细日志关注错误信息。也可以查看 X11 的日志cat ~/.local/share/xorg/Xorg.0.log | grep -i error。会话文件问题确认/usr/share/xsessions/niri.desktop中的Exec路径正确且文件权限正常。Wayland vs X11确认 niri 是作为 X11 客户端还是 Wayland 合成器运行。如果 dms 启动的是 X11 会话而 niri 需要 Wayland则会失败。尝试在 TTY 下直接运行niri如果成功说明 niri 本身正常问题在 dms 的会话配置。考虑更换显示管理器或直接使用startx启动需配置~/.xinitrc添加exec niri。显卡驱动再次确认显卡驱动安装正确。对于 NVIDIA可能需要额外的内核参数在引导加载器配置中如/boot/efi/loader/entries/arch.conf的options行添加nvidia-drm.modeset1。niri 内部无法启动图形程序环境变量确保DISPLAY或WAYLAND_DISPLAY环境变量已设置。在 niri 启动的终端里可以echo $WAYLAND_DISPLAY检查。DBus许多图形应用需要 DBus。确保dbus服务已安装并运行。可以尝试在启动 niri 前先dbus-run-session niri。应用兼容性某些 X11 应用在 Wayland 下可能需要兼容层如xwayland。确保已安装xorg-xwayland。4.2 输入法、网络与音频集成输入法我们在第 2 步安装了 Fcitx5 并设置了环境变量。在 niri 中你还需要在启动时运行 Fcitx5。可以将fcitx5 -d命令添加到 niri 的配置文件中如果支持启动脚本或者添加到你的~/.xprofile或~/.profile中并确保这些文件在 niri 启动时被 source。启动后在终端运行fcitx5-configtool添加拼音输入法。网络NetworkManager 提供了命令行工具nmtui和nmcli在终端内即可管理网络。也可以安装图形前端nm-connection-editor。音频安装 PipeWire 作为现代音频服务器sudo pacman -S pipewire pipewire-pulse pipewire-alsa wireplumber。安装后启用用户服务systemctl --user enable --now pipewire pipewire-pulse wireplumber。重启后音频应正常工作。4.3 打造个性化工作流脚本、状态栏与自动化平铺窗口管理器的精髓在于键盘驱动和自动化。当基础功能稳定后你可以开始深度定制配置核心快捷键在 niri 配置文件中将常用操作绑定到顺手的位置。例如启动器Modd、浏览器Modb、文件管理器Mode、工作区切换Mod1/2/3、窗口布局切换ModSpace等。状态栏niri 可能自带或推荐状态栏组件。如果没有你可以使用独立的状态栏如waybar并在 niri 配置中将其作为启动程序之一。配置 waybar 显示你关心的信息时间、日期、CPU/内存、网络状态、音频音量、电池等。自动化脚本利用 shell 脚本自动化常见任务。例如一个脚本在连接特定 Wi-Fi 时自动挂载网络驱动器另一个脚本在插入外接显示器时自动调整 niri 的输出配置。将这些脚本绑定到快捷键或作为自启动程序。外观主题安装 GTK 和 QT 主题引擎然后下载喜欢的主题和图标包在~/.config/gtk-3.0/settings.ini和~/.config/qt5ct/qt5ct.conf如果使用 qt5ct中配置。对于 niri 本身可能支持配置颜色、边框、透明度等。4.4 维护与更新策略Arch 是滚动发行版更新频繁。保持系统健康需要一点策略定期更新sudo pacman -Syu。更新前建议访问 Arch 官网新闻 查看是否有需要手动干预的更新。AUR 助手使用 yay 更新包括 AUR 包在内的所有软件yay -Syu。备份配置你的核心资产是配置文件~/.config/niri/,~/.config/waybar/,~/.bashrc,~/.xprofile等。定期备份到云端或外部存储。问题回滚如果更新后出现重大问题可以尝试降级特定包。安装downgrade工具来自 AUR可以方便地从 Arch 缓存或 AUR 历史版本中降级。5. 总结从安装到精通的思维框架回顾整个流程从一张空白磁盘到一个高度定制化的 niri 桌面我们经历了几个关键阶段每个阶段都对应着不同的能力要求系统构建阶段核心是理解 Linux 启动流程、分区、包管理和基础服务。关键能力是阅读官方 Wiki 和错误信息。图形栈搭建阶段核心是理解显示服务器、驱动、显示管理器、桌面环境/窗口管理器之间的关系。关键能力是区分 X11 与 Wayland以及针对硬件选择正确的驱动。组件集成阶段核心是让各个独立组件输入法、音频、网络、状态栏协同工作。关键能力是环境变量配置、服务管理和日志排查。工作流定制阶段核心是将系统适配到你的个人习惯。关键能力是脚本编写、配置语法理解和自动化思维。对于新手而言最大的障碍往往不是命令本身而是当命令不奏效时不知道如何定位问题。我建议建立这样的排查习惯从现象出发自顶向下。例如如果登录后黑屏先看显示管理器dms的日志。再看目标会话niri是否能被正常调用。然后检查 niri 本身的日志或配置。最后检查底层图形驱动和 X11/Wayland 日志。最终一个“调校好”的 Arch 系统其标志不是你记住了多少命令而是你清楚地知道每个主要组件的作用、它们如何交互、以及当某部分出现异常时你能够沿着依赖链快速定位并修复。niri 和 dms 只是这个庞大拼图中的两块真正的价值在于你通过亲手搭建它们获得的对整个 Linux 桌面栈的掌控力。这种掌控力才是从“小白”走向“熟练”的真正分水岭。
返回列表