公司动态
Arch Linux 从零安装指南:命令行部署 Niri 窗口管理器与 DMS 桌面环境
在 Linux 发行版中Arch Linux 以其极致的可定制性、滚动更新和强大的社区支持吸引了大量追求掌控感和学习深度的用户。然而其标志性的命令行安装方式也让许多新手望而却步。本文旨在为有一定 Linux 基础例如使用过 Ubuntu 桌面版 5 个月的开发者提供一份从零开始、手把手的 Arch Linux 系统安装与基础调校指南。我们将不依赖任何图形化安装器通过命令行完成分区、挂载、系统安装、引导配置等核心步骤并最终搭建一个包含 Niri 窗口管理器和 DMS 显示管理器的可登录桌面环境。整个过程将详细解释每个命令的目的和原理确保你不仅能成功安装更能理解背后的逻辑为后续的系统维护和深度定制打下坚实基础。1. 安装前的核心概念与准备工作在开始敲入任何命令之前理解几个核心概念和做好万全准备是避免中途失败的关键。1.1 Arch Linux 安装流程的本质Arch Linux 的安装过程本质上是在一个临时的、运行在内存中的 Linux 环境即安装介质中为目标磁盘准备文件系统、安装基础软件包、配置系统参数并安装引导程序的过程。这个过程可以概括为以下几个阶段准备阶段验证启动模式、连接网络、同步系统时间、分区与格式化磁盘。安装阶段挂载目标分区使用pacstrap将基础系统安装到目标磁盘。配置阶段切换到新安装的系统环境arch-chroot配置时区、本地化、主机名、网络、Root 密码等。引导阶段安装并配置引导加载器如grub或systemd-boot使计算机能够加载新安装的 Arch 系统。收尾阶段创建普通用户、安装图形界面、窗口管理器等完成桌面环境搭建。1.2 必须准备的硬件与软件一台用于安装的计算机可以是物理机或虚拟机如 VMware, VirtualBox。虚拟机是学习安装的理想环境可以方便地创建快照和回滚。稳定的网络连接Arch 安装需要从网络仓库下载软件包有线网络DHCP通常最稳定。无线网络也可用但需在安装介质中提前连接。Arch Linux 安装镜像从 Arch Linux 官方下载页面 获取最新的 ISO 文件。推荐使用磁力链接或镜像站下载并验证其 SHA256 校验和以确保完整性。一个至少 8GB 的 U 盘用于制作安装启动盘。制作启动盘的工具在 Windows 下可使用 Rufus 选择“DD 模式”写入在 Linux/macOS 下可使用dd命令。目标磁盘空间建议至少预留 30GB 空间。我们将采用一个相对简洁的分区方案。1.3 推荐的分区方案对于 UEFI 启动的现代计算机绝大多数2012年后的电脑我们采用以下方案EFI 系统分区大小 512MB 到 1GB文件系统为FAT32。用于存放引导加载器。根分区大小剩余所有空间文件系统为ext4或btrfs/xfs。用于安装系统和用户数据。注意请务必在开始前备份目标计算机上的所有重要数据。分区操作会永久性擦除磁盘上的数据。2. 启动安装介质与基础环境配置将制作好的 Arch Linux 安装 U 盘插入目标计算机并从 U 盘启动。成功启动后你会看到一个以rootarchiso开头的命令行提示符。2.1 验证启动模式与连接网络首先确认系统是以 UEFI 模式启动的这对后续引导配置至关重要。ls /sys/firmware/efi/efivars如果该目录存在且不报错说明是 UEFI 模式。如果目录不存在则可能是传统的 BIOS或 CSM模式引导安装方式会有所不同本文主要讨论 UEFI。接下来连接网络。如果使用有线网络安装介质通常会自动通过 DHCP 获取 IP 地址。使用ping命令测试网络连通性ping -c 3 archlinux.org如果使用无线网络则需要使用iwctl工具进行连接iwctl # 进入交互式命令行 device list # 列出无线设备名如 wlan0 station wlan0 scan # 扫描网络 station wlan0 get-networks # 列出扫描到的网络 station wlan0 connect 你的Wi-Fi名称 # 连接网络按提示输入密码 exit # 退出 iwctl再次使用ping命令确认网络已通。2.2 更新系统时钟与磁盘分区确保系统时钟准确这对于网络安装和日志时间戳都很重要。timedatectl set-ntp true timedatectl status # 检查状态确保 RTC 和 NTP 同步正常现在开始对目标磁盘进行分区。使用fdisk或cfdisk更友好工具。假设目标磁盘为/dev/sda请用lsblk命令确认你的磁盘标识符。cfdisk /dev/sda在cfdisk界面中选择磁盘标签类型为gpt。创建新分区第一个分区大小512M类型为EFI System。第二个分区使用剩余所有空间类型为Linux filesystem。选择Write写入更改输入yes确认然后选择Quit退出。分区完成后格式化这些分区。EFI 分区格式化为 FAT32根分区格式化为 ext4。mkfs.fat -F 32 /dev/sda1 # 格式化 EFI 分区 mkfs.ext4 /dev/sda2 # 格式化根分区2.3 挂载分区并安装基础系统将根分区挂载到/mnt这是安装的目标路径。mount /dev/sda2 /mnt为 EFI 分区创建挂载点并挂载。mkdir -p /mnt/boot/efi mount /dev/sda1 /mnt/boot/efi使用pacstrap脚本安装最基本的 Arch Linux 系统包到/mnt。base包组是核心linux是内核linux-firmware包含硬件驱动固件base-devel包含编译工具后续安装 AUR 包如yay时需要vim是编辑器也可用nano。pacstrap -K /mnt base base-devel linux linux-firmware vim这个命令会从网络仓库下载并安装一系列软件包需要一些时间取决于你的网速。3. 系统基础配置与引导程序安装基础系统文件已经复制到目标磁盘接下来需要进入新系统环境进行配置。3.1 生成 fstab 并切换根环境生成文件系统表fstab它定义了系统启动时自动挂载的分区。genfstab -U /mnt /mnt/etc/fstab建议检查一下生成的/mnt/etc/fstab文件是否正确。cat /mnt/etc/fstab使用arch-chroot命令切换到新安装的系统环境后续所有操作都在这个“牢笼”中进行。arch-chroot /mnt此时命令行提示符会从rootarchiso变为[rootarchiso /]#表示你已在新系统的根目录下。3.2 配置时区、本地化与网络设置时区为上海亚洲/上海。ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc # 将系统时间同步到硬件时钟编辑本地化配置文件/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创建/etc/locale.conf文件并设置 LANG 变量。echo LANGen_US.UTF-8 /etc/locale.conf提示将系统语言设置为英文en_US.UTF-8可以避免后续许多终端和软件中的乱码问题图形界面中可以单独设置中文输入和显示。设置主机名。echo myarch /etc/hostname编辑/etc/hosts文件添加对应的解析记录。vim /etc/hosts # 添加以下内容 127.0.0.1 localhost ::1 localhost 127.0.1.1 myarch.localdomain myarch安装网络管理软件。对于有线网络systemd-networkd和systemd-resolved是简单易用的选择。pacman -S networkmanager systemctl enable NetworkManager # 启用 NetworkManager 服务 # 如果你更喜欢 systemd-networkd可以安装并启用它 # pacman -S systemd-networkd systemd-resolved # systemctl enable systemd-networkd systemd-resolved3.3 设置 Root 密码与安装引导程序为 root 用户设置一个强密码。passwd安装引导加载器。对于 UEFI 系统grub是一个广泛兼容的选择。同时安装efibootmgr工具用于管理 UEFI 启动项。pacman -S grub efibootmgr将 GRUB 安装到 EFI 分区。grub-install --targetx86_64-efi --efi-directory/boot/efi --bootloader-idGRUB生成 GRUB 的主配置文件。grub-mkconfig -o /boot/grub/grub.cfg检查/boot/grub/grub.cfg文件是否已生成并确认其中包含了正确的根分区信息。4. 安装图形界面与窗口管理器至此一个无图形界面的 Arch Linux 系统已经安装完成。你可以先退出chroot环境重启进入新系统但为了流程连贯我们继续在chroot中安装图形环境。4.1 安装显卡驱动与 Xorg首先退出chroot环境卸载分区并重启。但为了演示我们假设仍在chroot中继续。 实际上更稳妥的做法是先重启进入纯命令行系统再继续安装。这里为了流程完整我们继续。安装 Xorg 显示服务器和显卡驱动。根据你的显卡选择Intel 集成显卡pacman -S xorg xorg-server xf86-video-intelAMD 显卡pacman -S xorg xorg-server xf86-video-amdgpu较新或xf86-video-ati较旧NVIDIA 显卡pacman -S xorg xorg-server nvidia专有驱动或nvidia-dkmsDKMS 驱动适用于自定义内核 这里以 Intel 显卡为例。pacman -S xorg xorg-server xf86-video-intel4.2 安装显示管理器DMS与窗口管理器Niri显示管理器Display Manager负责图形化登录。这里我们安装一个轻量级的显示管理器ly。pacman -S ly systemctl enable ly.service窗口管理器Window Manager负责窗口的绘制、布局和管理。Niri是一个较新的、声明式的平铺窗口管理器我们用 AUR 来安装它。首先安装 AUR 助手yay。# 安装 git 和必要的编译工具base-devel 已安装 pacman -S git # 切换到非 root 用户来构建 AUR 包安全起见。我们先创建一个临时用户。 useradd -m -G wheel -s /bin/bash tempuser passwd tempuser # 安装 sudo 并配置 wheel 组权限 pacman -S sudo echo %wheel ALL(ALL:ALL) ALL /etc/sudoers # 切换到 tempuser 用户 su - tempuser # 克隆并安装 yay cd /tmp git clone https://aur.archlinux.org/yay.git cd yay makepkg -si安装完成后使用yay安装niri。yay -S niri4.3 创建普通用户并配置自动启动 Niri窗口管理器通常需要在用户登录后启动。我们需要为日常使用创建一个普通用户并配置其自动启动 Niri。退出tempuser回到 root 用户。exit创建你的日常用户例如yourname并将其加入wheel和video等组。useradd -m -G wheel,video -s /bin/bash yourname passwd yourname现在需要配置显示管理器ly在登录后自动启动niri。这通常通过配置用户的桌面会话文件实现。但ly默认会读取/usr/share/xsessions/下的.desktop文件。我们需要为 Niri 创建一个。vim /usr/share/xsessions/niri.desktop输入以下内容[Desktop Entry] NameNiri CommentDeclarative Tiling Wayland Compositor Execniri TypeApplication注意Niri 是一个 Wayland 合成器而 Xorg 是另一个显示协议。严格来说Niri 不运行在 Xorg 之上。上述.desktop文件是为支持 Wayland 的显示管理器如ly的 Wayland 后端准备的。如果你的ly版本和配置支持 Wayland 会话选择这个文件会生效。如果ly只启动 Xorg 会话你需要先确保 Xorg 能运行或者考虑使用其他支持 Wayland 的显示管理器如greetdgtkgreet。这是一个常见的混淆点。为了简化我们可以先确保 Xorg 环境能启动一个简单的窗口管理器如openbox来验证图形栈后续再深入研究纯 Wayland 环境。pacman -S openbox obconf创建 Openbox 的会话文件vim /usr/share/xsessions/openbox.desktop[Desktop Entry] NameOpenbox CommentLightweight stacking window manager Execopenbox-session TypeApplication5. 首次启动、验证与基础调校完成所有安装后退出chroot环境卸载分区并重启。exit # 退出 chroot 环境 umount -R /mnt reboot拔出安装 U 盘计算机将从硬盘启动进入ly登录界面。使用你创建的普通用户yourname登录。5.1 验证图形环境与安装必要工具登录后你应该能看到 Openbox 的空白桌面可能只有一个鼠标指针。右键点击桌面可以打开 Openbox 菜单尝试打开一个终端模拟器如xterm如果已安装。首先更新系统并安装一些基础工具终端、网络管理器图形前端、文件管理器等。sudo pacman -Syu # 更新系统 sudo pacman -S alacritty network-manager-applet thunar firefox安装中文字体和输入法如 Fcitx5。sudo pacman -S noto-fonts-cjk noto-fonts-emoji fcitx5 fcitx5-chinese-addons fcitx5-gtk fcitx5-qt fcitx5-configtool配置输入法环境变量编辑用户配置文件~/.bashrc或~/.xprofile对于 Xorg。这里编辑~/.xprofilevim ~/.xprofile添加以下内容export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx fcitx5 注销并重新登录输入法应该可以启用。5.2 配置 NiriWayland 路径如果你想尝试 Wayland 下的 Niri需要确保显示管理器支持。可以暂时不通过显示管理器直接在 TTY 中启动。先安装一个 Wayland 兼容的终端如foot。sudo pacman -S foot然后在用户目录创建 Niri 的配置文件~/.config/niri/config.kdl。Niri 使用 KDL 格式配置。一个最小配置示例如下// ~/.config/niri/config.kdl output eDP-1 { // 你的显示器名称用 niri msg output-list 查看 mode { width1920 height1080 refresh60.0 } }在 TTY 中你可以用startx启动 Xorg或者直接启动一个 Wayland 会话。对于 Niri你可以尝试在配置好环境变量后直接运行niri。但这需要更复杂的 Wayland 环境设置可能涉及dbus和pipewire。建议先熟悉 Xorg 下的基本操作再逐步迁移到 Wayland。5.3 常见问题排查问题现象可能原因检查与解决重启后黑屏无引导菜单1. GRUB 未正确安装到 EFI 分区。2. UEFI 启动项未添加或未设置正确。1. 进入 UEFI/BIOS 设置检查启动顺序确保GRUB或Arch Linux在列。2. 用安装介质启动重新chroot并执行grub-install和grub-mkconfig。启动后卡在[ OK ] Reached target Graphical Interface显示管理器ly启动失败或显卡驱动问题。1. 按CtrlAltF2切换到 TTY2登录后检查sudo systemctl status ly。2. 检查显卡驱动是否正确安装lspci -k | grep -A 2 -E \(VGA|3D)\。3. 尝试暂时禁用 lysudo systemctl disable ly重启后用startx手动启动。登录后只有壁纸无面板或菜单窗口管理器如 Openbox未正确启动或配置。1. 检查~/.xinitrc文件是否存在并包含exec openbox-session。2. 右键桌面看是否有菜单弹出。3. 尝试在 TTY 中手动执行startx看错误信息。网络连接失败NetworkManager 未运行或无线网卡驱动缺失。1.sudo systemctl start NetworkManager。2. 使用nmtui命令进行图形化网络配置。3. 检查无线网卡驱动lspci -k | grep -i network可能需要安装linux-firmware以外的特定固件包。无法使用sudo用户未正确加入wheel组或/etc/sudoers配置错误。1.groups命令查看用户所属组。2.sudo usermod -aG wheel yourname添加用户。3. 使用visudo命令安全编辑/etc/sudoers确保%wheel ALL(ALL:ALL) ALL行未被注释。6. 生产环境考量与进阶方向你现在拥有的是一个可用的基础桌面系统。对于日常开发或生产使用还需要考虑以下方面系统维护定期使用sudo pacman -Syu更新系统。了解pacman的常用操作查询、清理缓存等。考虑配置pacman镜像加速。备份与恢复Arch 是滚动更新系统更新前建议阅读 Arch 新闻 。重要数据定期备份。可以考虑使用Timeshift或btrfs快照进行系统级备份。安全加固配置防火墙如ufw或firewalld。避免直接使用 root 用户。定期检查系统日志。性能监控安装htop,btop等工具监控资源。学习使用systemd-analyze分析启动时间。桌面环境深化本文仅搭建了最小图形栈。你可以安装完整的桌面环境如 KDE Plasma, GNOME, XFCE替代窗口管理器。为 Openbox 或 Niri 配置面板如polybar,waybar、启动器如rofi,wofi、状态栏等。深入学习 Wayland 生态配置sway或Hyprland等合成器。开发环境搭建安装你需要的编程语言、编译器、数据库、容器工具等。Arch 的仓库和 AUR 非常丰富。安装 Arch Linux 是一个极佳的学习过程它迫使你理解 Linux 系统的各个组成部分是如何协同工作的。遇到问题时善于查阅 Arch Wiki 和社区论坛你将获得最权威和及时的帮助。记住每一次解决问题的过程都是你对系统理解加深的一步。