Arch Linux + Niri Desktop Installation Log


1. 准备工作 & SSH 连接

1.1 Live ISO 环境配置

在目标机器上启动 Arch ISO 后,手动设置临时 root 密码并查看 IP,建立 SSH 连接。

# 本地测试连接
ssh root@10.0.1.3

1.2 配置免密登录

为了方便后续操作,将本地公钥上传到 Live 环境。

# (使用脚本上传 id_rsa.pub 到 /root/.ssh/authorized_keys)
# 验证:
ssh root@10.0.1.3  # 无需密码

1.3 镜像源设置

配置国内镜像源以加速下载。

# 修改 /etc/pacman.d/mirrorlist,只保留以下源:
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
# ... (USTC, Huawei, Tencent)

# 刷新数据库
pacman -Syy

2. 磁盘分区与挂载

磁盘: nvme0n1 (1.8T)
分区方案:

  • p1 (300M): EFI System
  • p2 (5G): Boot
  • p3 (32G): Swap
  • p4 (200G): Root (/)
  • p5 (663G): Home (/home)

2.1 格式化

mkfs.fat -F32 -n "EFI" /dev/nvme0n1p1
mkfs.ext4 -F -L "BOOT" /dev/nvme0n1p2
mkswap -L "SWAP" /dev/nvme0n1p3 && swapon /dev/nvme0n1p3
mkfs.ext4 -F -L "ROOT" /dev/nvme0n1p4
mkfs.ext4 -F -L "HOME" /dev/nvme0n1p5

2.2 挂载

mount /dev/nvme0n1p4 /mnt
mkdir -p /mnt/{boot,home,efi}
mount /dev/nvme0n1p2 /mnt/boot
mount /dev/nvme0n1p5 /mnt/home
mount /dev/nvme0n1p1 /mnt/efi

3. 基础系统安装

使用 pacstrap 安装核心组件。

pacstrap -K /mnt base base-devel linux linux-firmware vim git networkmanager openssh \
    dosfstools exfatprogs ntfs-3g man-db man-pages texinfo

3.1 生成 fstab

genfstab -U /mnt >> /mnt/etc/fstab

4. 系统配置 (Chroot)

进入新系统环境进行配置。

4.1 基础设置

# 时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

# Locale
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf

# 主机名 & Hosts
echo "gateman-arch" > /etc/hostname
# 配置 /etc/hosts (localhost, gateman-arch)

# Root 密码
echo "root:********" | chpasswd

# 服务自启
systemctl enable NetworkManager
systemctl enable sshd

4.2 安装引导程序 (GRUB)

检测到 CPU 为 AMD,需安装微码。

# 安装包
pacstrap /mnt grub efibootmgr amd-ucode os-prober

# 进入 Chroot 配置
# 1. 启用 os-prober (修改 /etc/default/grub)
echo "GRUB_DISABLE_OS_PROBER=false" >> /etc/default/grub

# 2. 安装 GRUB 到 EFI 分区
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB

# 3. 生成配置
grub-mkconfig -o /boot/grub/grub.cfg

4.3 创建用户

useradd -m -G wheel -s /bin/bash gateman
echo "gateman:********" | chpasswd

# 配置 sudo 免密
echo "gateman ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/gateman

5. 网络配置 (无缝迁移)

为了重启后自动连接 WiFi,我们复用了 ISO 环境的 iwd 配置。

  1. 安装 iwd: pacstrap /mnt iwd
  2. 迁移配置: 将 /var/lib/iwd/*.psk 复制到新系统。
  3. 配置 NetworkManager:
    创建 /etc/NetworkManager/conf.d/wifi_backend.conf:
    [device]
    wifi.backend=iwd
    
  4. 上传 SSH 公钥: 将本地公钥写入 /home/gateman/.ssh/authorized_keys

(此时执行重启,系统成功启动并联网,使用 gateman 用户重新 SSH 连接)


6. Niri 桌面环境安装

6.1 显卡驱动 (AMD)

sudo pacman -S --noconfirm mesa vulkan-radeon libva-mesa-driver mesa-vdpau

6.2 核心组件

# niri: 桌面窗口管理器
# xorg-xwayland: 兼容 X11 应用
# pipewire/wireplumber: 音频服务
# fonts: 字体
sudo pacman -S --noconfirm niri xorg-xwayland pipewire pipewire-pulse wireplumber \
    noto-fonts noto-fonts-cjk noto-fonts-emoji

6.3 用户工具 (AUR & Chrome)

  1. 安装 yay (AUR 助手):
    git clone https://aur.archlinux.org/yay-bin.git
    cd yay-bin && makepkg -si
    
  2. 安装 Google Chrome:
    yay -S --noconfirm google-chrome
    
  3. 安装终端与启动器:
    sudo pacman -S alacritty fuzzel
    

6.4 Niri 配置 (~/.config/niri/config.kdl)

配置了快捷键、输入设备和自启动项。

关键快捷键:

  • Mod+Return: Alacritty
  • Mod+D: Fuzzel
  • Mod+W: Google Chrome
  • Mod+Q: 关闭窗口

配置文件修正: 删除多余的 xwayland-satellite 启动项。

6.5 图形登录管理器 (SDDM)

sudo pacman -S sddm
sudo systemctl enable sddm

7. 中文输入法 (Fcitx5)

7.1 安装

sudo pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-material-color
sudo pacman -S fcitx5-pinyin-zhwiki  # 维基百科超级词库

7.2 环境变量

写入 /etc/environment:

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

7.3 自启动

config.kdl 末尾添加:

spawn-at-startup "fcitx5" "-d"

8. 完成状态

系统重启后:

  1. 自动进入 SDDM 图形登录界面。
  2. 登录后进入 Niri 桌面。
  3. Fcitx5 自动启动,支持超级词库拼音输入。
  4. 双屏显示正常 (eDP-1 + DP-1)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nvd11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值