Arch Linux 极简桌面环境搭建:从零安装到 dms + niri 配置指南 1. 背景与核心概念最近在折腾一个轻量、可定制的Linux桌面环境目标是打造一个既美观又高效的个人工作站。在尝试了众多发行版和桌面环境后我最终将目光锁定在了Arch Linux上。Arch以其极简、滚动更新和强大的用户社区著称但它的安装过程对新手来说确实是一道门槛。回想起5个月前我也是一个对着命令行发怵的小白因此决定将这次完整的安装与调校过程记录下来希望能为同样想入门Arch的朋友提供一份详尽的“保姆级”指南。本文将聚焦于系统安装与基础环境搭建涵盖从制作启动盘到安装一个可用的基础系统的全过程。我们选择的组合是Arch Linux作为操作系统基础niri作为一个新兴的、平铺式Wayland合成器来提供窗口管理dms则是一个轻量级的显示管理器Display Manager用于图形化登录。这个组合旨在追求极致的简洁、速度和现代化。本文适合谁对Linux有基本了解但从未安装过Arch的初学者。希望从零开始构建一个高度定制化Linux桌面的开发者或爱好者。想了解Arch Linux安装核心流程以及niri、dms等新潮工具的用户。你将学到什么Arch Linux官方安装流程的每一步详解。系统分区、网络配置、用户创建等核心操作。安装并配置一个极简的图形化登录环境dms niri。安装过程中的常见问题排查与解决方法。2. 环境准备与版本说明在开始之前请确保你已准备好以下环境。本文的演示基于2024年中的常见硬件和软件环境核心思路具有普适性但具体命令和软件包版本可能会随Arch的滚动更新而变化。硬件要求一台x86_64架构的计算机实体机或虚拟机均可虚拟机演示更安全。至少8GB的U盘一个用于制作安装介质。稳定的网络连接有线网络最佳无线网络后续需要额外配置。软件准备Arch Linux ISO镜像从 Arch Linux官方下载页面 获取最新版本。本文使用archlinux-2024.06.01-x86_64.iso作为示例。启动盘制作工具推荐使用 Ventoy 或 Rufus 。Ventoy的优势在于可以将多个ISO文件放入U盘无需反复格式化。虚拟机软件可选如果你想在虚拟机中练习可以使用VMware Workstation、VirtualBox或GNOME Boxes。重要版本说明内核版本跟随Arch滚动更新安装时即为当时最新稳定版。niri一个基于Rust编写的平铺式Wayland合成器发展迅速本文安装其Git版本以获取最新特性。dms一个极简的显示管理器专为Wayland设计配置简单。本文所有操作均在终端中完成请做好阅读命令和手动输入的准备。3. 核心步骤拆解从ISO到基础系统Arch的安装过程可以概括为以下几个关键阶段理解每个阶段的目的至关重要启动与连接从安装介质启动并建立互联网连接。磁盘分区为系统划分存储空间这是安装的核心步骤之一。系统安装使用pacstrap命令安装最基本的Arch系统包。系统配置生成fstab、设置时区、本地化、主机名、Root密码等。引导安装安装引导程序如GRUB或systemd-boot使系统能够启动。基础环境搭建安装图形界面、显示管理器、桌面环境/窗口管理器等。下面我们将按照这个逻辑一步步进行实操。4. 完整实战安装流程4.1 第一步制作启动盘与启动使用Ventoy制作启动盘非常简单下载Ventoy解压后运行Ventoy2Disk.exe(Windows) 或对应Linux脚本。插入U盘在软件界面选择你的U盘设备点击“安装”。此操作会清空U盘所有数据请提前备份。安装完成后直接将下载好的archlinux-xxxx.xx.xx-x86_64.iso文件拷贝到U盘根目录即可。重启电脑进入BIOS/UEFI设置界面通常按F2、Del、F12等键将启动顺序调整为从U盘启动。使用Ventoy时你会看到一个菜单选择刚刚拷贝的Arch ISO文件启动。4.2 第二步启动Live环境与网络连接成功启动后你会看到一个以root用户登录的Zsh shell提示符。首先我们需要确保网络畅通。对于有线网络Arch ISO默认启用了systemd-networkd和systemd-resolved。如果网线已连接通常会自动获取IP地址。可以通过以下命令检查ping -c 3 archlinux.org如果能看到回复说明网络已通。对于无线网络WIFI需要使用iwctl工具iNet wireless daemon进行连接。# 启动iwctl交互式命令行 iwctl # 在[iwd]#提示符下列出所有无线设备 device list # 假设无线设备名为 wlan0扫描网络 station wlan0 scan station wlan0 get-networks # 连接到你的WIFI网络将SSID和密码替换为你的 station wlan0 connect your_wifi_ssid连接成功后输入exit退出iwctl然后再次ping archlinux.org测试。4.3 第三步磁盘分区与格式化这是最关键也最容易出错的一步。请务必确认你要安装Arch的磁盘操作错误会导致数据丢失。使用lsblk或fdisk -l查看磁盘设备例如/dev/sda或/dev/nvme0n1。本文以UEFI启动模式、单磁盘/dev/sda为例创建一个简单的分区方案/dev/sda1: EFI系统分区 512M。/dev/sda2: 根分区/剩余所有空间。使用fdisk进行分区# 对 /dev/sda 进行操作 fdisk /dev/sda在fdisk交互界面中输入g创建新的GPT分区表。输入n创建新分区分区号默认1起始扇区默认大小输入512M。然后输入t并选择分区类型为1(EFI System)。输入n创建第二个分区分区号默认2起始和结束扇区都直接回车使用所有剩余空间。输入w写入分区表并退出。格式化分区# 格式化EFI分区为FAT32 mkfs.fat -F32 /dev/sda1 # 格式化根分区为ext4你也可以选择btrfs、xfs等 mkfs.ext4 /dev/sda2挂载分区# 挂载根分区到 /mnt mount /dev/sda2 /mnt # 为EFI分区创建挂载点并挂载 mkdir -p /mnt/boot/efi mount /dev/sda1 /mnt/boot/efi4.4 第四步安装基本系统使用pacstrap脚本安装最基本的Arch系统包到/mnt。pacstrap -K /mnt base base-devel linux linux-firmware vim sudo networkmanagerbase: 最基础的系统包组。base-devel: 包含编译工具如gcc, make后续从AUR安装软件需要。linux: Linux内核。linux-firmware: 硬件固件。vim: 文本编辑器你也可以选择nano。sudo: 权限管理工具。networkmanager: 网络管理工具比systemd-networkd更易用特别是对于无线网络。4.5 第五步生成fstab与Chroot生成文件系统表fstabgenfstab -U /mnt /mnt/etc/fstab建议用cat /mnt/etc/fstab检查一下生成的内容是否正确。切换到新安装的系统Chrootarch-chroot /mnt执行成功后命令提示符会变化表示你已进入新系统的根环境。4.6 第六步基础系统配置在chroot环境下进行一系列配置。1. 设置时区与时间同步# 设置时区例如亚洲/上海 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 生成 /etc/adjtime hwclock --systohc # 启用系统时钟同步服务 systemctl enable systemd-timesyncd.service2. 本地化设置编辑/etc/locale.gen文件取消注释你需要的语言环境例如en_US.UTF-8 UTF-8和zh_CN.UTF-8 UTF-8。vim /etc/locale.gen # 取消注释 en_US.UTF-8 UTF-8 和 zh_CN.UTF-8 UTF-8然后生成locale信息并设置系统语言locale-gen echo LANGen_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 myarch4. 设置Root密码与创建用户# 设置root密码 passwd # 创建一个普通用户例如叫 yourname并添加到 wheel 组允许sudo useradd -m -G wheel -s /bin/bash yourname # 为新用户设置密码 passwd yourname配置sudo权限使用visudo命令编辑sudoers文件找到# %wheel ALL(ALL:ALL) ALL这一行取消注释删除行首的#。EDITORvim visudo5. 安装并配置引导程序GRUB# 安装必要的包 pacman -S grub efibootmgr os-prober # 安装GRUB到EFI分区 grub-install --targetx86_64-efi --efi-directory/boot/efi --bootloader-idGRUB # 生成GRUB配置文件 grub-mkconfig -o /boot/grub/grub.cfgos-prober用于探测其他操作系统如Windows如果你是多系统生成配置前请确保Windows所在分区已挂载。4.7 第七步安装图形环境与必要组件现在开始安装我们的目标环境dms niri。首先需要安装Xorg/Wayland相关的驱动和基础库。1. 安装显卡驱动根据你的显卡选择安装对应的驱动。Intel集成显卡pacman -S mesa vulkan-intelAMD显卡pacman -S mesa vulkan-radeonNVIDIA显卡pacman -S nvidia nvidia-utils(对于较新显卡可能需要nvidia-dkms)2. 安装声音、字体等基础组件pacman -S pipewire pipewire-pulse wireplumber alsa-utils pacman -S noto-fonts-cjk noto-fonts-emoji ttf-dejavu启用PipeWire音频服务可重启后生效systemctl enable --user pipewire pipewire-pulse wireplumber3. 安装显示管理器 dmsdms是一个极简的Wayland显示管理器直接从AUR安装。我们需要先安装AUR助手yay。# 安装git和base-devel已安装 pacman -S git # 切换到普通用户不能在root下安装AUR包 exit # 退出chroot环境回到Live环境 arch-chroot /mnt /bin/bash -c “su - yourname” # 以普通用户身份进入chroot # 或者更简单先完成所有root操作重启进入新系统后再安装为了流程连贯我们假设已完成系统安装并重启。进入新系统后以普通用户身份登录终端安装yaysudo pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si安装dmsyay -S dms-git4. 安装窗口合成器 niriniri同样可以从AUR安装。yay -S niri-git5. 配置 dms 自动启动 niridms的配置文件位于~/.config/dms/config.toml。创建并编辑它mkdir -p ~/.config/dms vim ~/.config/dms/config.toml输入以下基本配置[session.niri] command “niri”这告诉dms默认会话是执行niri命令。6. 启用 dms 系统服务为了让系统启动时自动运行dms需要启用其systemd服务。sudo systemctl enable dms4.8 第八步首次重启与登录所有配置完成后退出chroot环境并重启。# 如果在chroot内 exit # 回到Live环境后 umount -R /mnt reboot拔掉U盘系统将从硬盘启动。经过GRUB引导后你应该能看到dms的登录界面可能是一个极简的提示符或界面。输入你创建的普通用户名和密码即可登录。登录后如果一切顺利你将进入一个非常干净的界面——很可能只有一个终端窗口或者甚至只是一个空白屏幕取决于niri的默认配置。别担心这说明niri已经成功运行了你可以按Super(Windows键) Enter试试这通常是打开终端的快捷键。5. 常见问题与排查思路安装Arch的过程很少一帆风顺以下是几个常见问题及解决方法。问题现象常见原因解决思路ping archlinux.org不通1. 网线未插好/无线未连接。2. DHCP未获取到IP。3. 需要手动配置网络校园/公司网络。1. 检查物理连接用ip link查看网卡状态。2. 尝试dhcpcd(如果有) 或systemctl start systemd-networkd。3. 使用ip addr add和ip route add手动配置。pacstrap失败提示“无法锁定数据库”可能之前安装进程异常退出锁文件残留。在Live环境下运行rm /var/lib/pacman/db.lck删除锁文件。grub-install失败提示“无法找到EFI目录”EFI分区未正确挂载到/mnt/boot/efi。检查分区和挂载点确保mount /dev/sda1 /mnt/boot/efi执行成功且路径正确。重启后直接进入GRUB救援模式GRUB配置文件错误或核心镜像路径不对。1. 用Live U盘启动重新挂载分区并chroot。2. 检查/boot目录下是否存在vmlinuz-linux等文件。3. 重新运行grub-mkconfig。登录后黑屏/只有光标1. 显卡驱动未正确安装。2. niri或dms配置错误。3. 未安装Wayland兼容的终端。1. 按CtrlAltF2切换到TTY2登录后检查日志journalctl -xe。2. 检查~/.config/dms/config.toml语法。3. 安装一个终端如foot或alacritty并在niri配置中绑定快捷键。无法使用sudo用户未加入wheel组或visudo配置未生效。1.su切换到root用usermod -aG wheel yourname添加用户。2. 再次确认/etc/sudoers中%wheel行已取消注释。系统时间错误Windows双系统下Windows使用本地时间Linux使用UTC导致冲突。在Arch中设置使用本地时间timedatectl set-local-rtc 1 --adjust-system-clock。6. 安装后的基础调校与最佳实践成功登录只是第一步要让系统好用还需要进行一系列调校。6.1 配置网络管理器NetworkManager我们已经安装了NetworkManager但需要启用其服务并学习使用。# 启用NetworkManager系统服务 sudo systemctl enable NetworkManager sudo systemctl start NetworkManager连接WIFI# 使用nmtui文本界面工具非常方便 nmtui在nmtui界面中选择“Activate a connection”来连接网络。6.2 配置niriniri的配置文件在~/.config/niri/config.kdl。初始可能没有你可以创建一个基础配置。mkdir -p ~/.config/niri vim ~/.config/niri/config.kdl一个极简的配置示例设置SuperEnter打开终端需提前安装foot// 基础配置 output “eDP-1” { scale 1.0 mode 1920x108060 } // 键盘布局 input keyboard { xkb_layout “us” // xkb_layout “cn” // 中文布局 } // 快捷键绑定 binds { “SuperEnter” { spawn “foot”; } “SuperShiftq” { close-window; } “Superd” { spawn “wofi –show drun”; } // 需要先安装wofi }保存后在niri会话中按SuperShiftr可以重载配置。6.3 安装中文字体与输入法安装字体sudo pacman -S wqy-microhei wqy-zenhei adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts安装输入法框架Fcitx5sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-gtk fcitx5-qt fcitx5-configtool配置环境变量编辑~/.pam_environment文件如果没有就创建vim ~/.pam_environment添加以下内容GTK_IM_MODULE DEFAULTfcitx QT_IM_MODULE DEFAULTfcitx XMODIFIERS DEFAULTimfcitx SDL_IM_MODULE DEFAULTfcitx设置自启动在niri配置的启动命令中或者通过自动启动脚本如~/.config/autostart/启动fcitx5。一个简单的方法是在~/.xprofile或~/.config/niri/config.kdl的启动部分添加exec fcitx5 但Wayland下更推荐使用桌面环境提供的自动启动方式。对于niri可以在配置文件中添加startup { exec “fcitx5” }6.4 安装基础软件与AUR助手的使用通过官方仓库安装常用软件sudo pacman -S firefox git htop neofetch通过AUR安装软件以Visual Studio Code为例yay -S visual-studio-code-binyay会自动处理AUR包的下载、构建和安装。遇到选择时通常直接回车使用默认选项即可。6.5 系统维护最佳实践定期更新系统Arch是滚动发行版建议每周更新一次。sudo pacman -Syu更新前建议查看 Arch官网新闻 了解是否有需要手动干预的更新。清理包缓存pacman下载的包文件会缓存在/var/cache/pacman/pkg/定期清理可节省空间。sudo pacman -Sc备份重要配置文件将~/.config/下的niri、dms等配置目录进行备份。可以使用git或rsync。了解系统日志学会使用journalctl查看日志这是排查问题的利器。journalctl -xe -u dms # 查看dms服务的日志 journalctl -f # 实时跟踪系统日志7. 总结与后续学习路线至此你已经完成了一个从零开始的Arch Linux系统安装并成功配置了基于Wayland的dms显示管理器和平铺式窗口合成器niri。这个过程虽然步骤繁多但每一步都让你对Linux系统的构成有了更深的了解。本文核心要点回顾分区与挂载理解UEFIGPT分区方案是现代Linux安装的基础。pacstrap与chroot这是Arch安装的核心命令完成了系统的部署与切换。引导程序配置GRUB是系统启动的钥匙正确安装至关重要。用户与权限创建普通用户并配置sudo是安全使用系统的第一步。AUR与社区通过yay利用AUR极大地扩展了软件来源。接下来你可以探索的方向深入niri配置学习其KDL配置语法实现窗口平铺规则、快捷键绑定、动画效果等高级特性。美化你的环境安装状态栏如Waybar、应用启动器如Wofi、主题和图标包打造独一无二的桌面。声音与蓝牙进一步配置PipeWire以获得更好的音频体验并连接蓝牙设备。开发环境搭建安装Docker、编程语言环境Python/Node.js/Go、数据库等将你的Arch打造成强大的开发工作站。探索其他组件尝试不同的Wayland合成器如Sway、Hyprland或显示管理器感受Linux桌面生态的多样性。Arch Linux的魅力在于“知其然也知其所以然”。这个安装过程本身就是一次宝贵的学习经历。遇到问题不要气馁善用 Arch Wiki 和社区论坛你解决问题的能力会在这个过程中飞速提升。

相关新闻

最新新闻

Python库安装全攻略:从pip基础到镜像加速,彻底解决pandas安装难题

Python库安装全攻略:从pip基础到镜像加速,彻底解决pandas安装难题

1. 项目概述:为什么库安装是Python开发的第一道坎如果你刚开始接触Python数据分析,或者已经写过几行代码,那么“库安装”这个看似简单的步骤,很可能已经让你栽过跟头。报错信息五花八门,从“pip不是内部或外部命令”到…

2026/8/18 6:12:34
AI智能体记忆系统设计:分层时序索引架构MemForest解析

AI智能体记忆系统设计:分层时序索引架构MemForest解析

1. 项目缘起:当AI智能体开始“健忘”最近在折腾AI智能体项目,尤其是那些需要长期运行、处理复杂多轮对话或执行多步骤任务的应用时,遇到一个头疼的问题:记忆管理。简单来说,就是智能体“记性不好”。让它写个代码&…

2026/8/18 6:12:34
计算机安全学习路径与合法实践指南

计算机安全学习路径与合法实践指南

1. 项目概述:计算机安全学习的正确打开方式"黑客"这个词在影视作品和媒体报道中常常被妖魔化,导致许多初学者对这个领域产生误解。实际上,计算机安全是一个严肃的技术领域,需要系统的学习和严谨的态度。作为从业十余年的…

2026/8/18 6:12:34
CSS3硬件加速原理、内存陷阱与实战优化指南

CSS3硬件加速原理、内存陷阱与实战优化指南

1. 从一次诡异的页面卡顿说起那天下午,我正对着一个看似平平无奇的页面优化性能。页面上有几个用CSS3transform做的动画元素,在桌面Chrome上丝滑流畅,但一到某些安卓机型上,动画就变得一卡一卡的,像是掉帧了一样。我本…

2026/8/18 6:12:34
IPTV跨域接收技术解析:从信号源到CDN分发的全链路实践

IPTV跨域接收技术解析:从信号源到CDN分发的全链路实践

这次我们来看一个关于广东卫视超高清频道在省外IPTV平台接收的技术现象。核心问题很直接:一个标定为特定省份(如广东)的卫视频道,其超高清信号为何能出现在另一个省份(如海南)的电信IPTV平台上?…

2026/8/18 6:12:34
多智能体协同架构:解耦复杂LLM任务,实现高效精准的课堂话语分析

多智能体协同架构:解耦复杂LLM任务,实现高效精准的课堂话语分析

1. 项目缘起:当大模型遇上课堂话语分析最近在做一个教育科技相关的项目,核心需求是对海量的课堂录音转录文本进行分析,从中提取出教师提问的类型、学生回答的质量、课堂互动的模式等关键信息。最初,我们团队很自然地想到用当前最火…

2026/8/18 6:07:33