跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

ArchLinux 双系统安装及 Niri 桌面合成器环境配置

ArchLinux 双系统安装及 Niri 桌面合成器环境配置。涵盖分区调整、GRUB 主题设置、显示管理器 SDDM 配置、显卡驱动(Nvidia/AMD)安装、基础应用包选择、QT 与 GTK 主题统一、输入法 Fcitx5 适配、Xwayland 环境变量处理以及 Niri 与 Sway 生态组件集成方案。解决了默认启动分区大小、Dolphin 主题失效、Electron 应用输入框兼容性及屏幕缩放等问题。

独立开发者发布于 2025/10/20更新于 2026/10/24141 浏览
ArchLinux 双系统安装及 Niri 桌面合成器环境配置

ArchLinux 双系统安装及 Niri 桌面合成器环境配置

本文记录了在 Windows 环境下安装 Arch Linux 双系统及配置 Niri 桌面合成器过程中遇到的问题与解决方案。

安装

基础安装过程参考 Arch Linux 简明指南。关于 Windows 默认启动分区大小问题,若将 EFI 挂载到 /efi 路径,其他照原来的来即可,不需要扩大。需要注意的是在安装 Arch Linux 成功后,不要再使用 gdisk,否则会损坏 efi 盘里的内容,需要再用安装媒介走一下 grub-mkconfig -o /boot/grub/grub.cfg。

GRUB

主要配置主题和将 GRUB 配置为默认的启动器。GRUB 作为默认启动器,需要修改 BIOS 配置,将快速启动取消,然后将 GRUB 配置为默认。单硬盘双硬盘情况略有不同。

主题配置示例:

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME="/usr/share/grub/themes/Elegant-forest-window-grub-themes/left-dark-1080p/Elegant-forest-window-left-dark/theme.txt"

SDDM

默认 /etc 目录下没有配置文件,需要用 sddm --example-config > /etc/sddm.conf 来生成。主题使用的是 AUR 包里的 sddm-astronaut-theme。

[Theme]
# Current theme name
Current=sddm-astronaut-theme

应用安装

显卡驱动

如果有 Nvidia 显卡,需另行研究。AMD 显卡直接安装开源驱动。

sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon

系统组件

  • pipewire audio/video server (必装)
  • pipewire-alsa (pipewire alsa client, 必装)
  • pipewire-audio (pipewire audio client, 必装)
  • pipewire-jack (pipewire jack client, 必装)
  • pipewire-pulse (pipewire pulseaudio client, 必装)
  • gst-plugin-pipewire (pipewire gstreamer client, 必装)
  • wireplumber (pipewire session manager, 必装)
  • pavucontrol (pulseaudio volume control, 必装)
  • pamixer (pulseaudio cli mixer, 必装)
  • networkmanager (network manager, 必装)
  • network-manager-applet (network manager system tray utility, 必装)
  • bluez (bluetooth protocol stack, 必装)
  • bluez-utils (bluetooth utility cli, 必装)
  • blueman (bluetooth manager gui, 必装)
  • brightnessctl (screen brightness control, 必装)
  • power-profiles-daemon (额外安装)

登录管理

  • sddm (display manager for KDE plasma, 必装)
  • qt5-quickcontrols (for sddm theme ui elements, 必装)
  • qt5-quickcontrols2 (for sddm theme ui elements, 必装)
  • qt5-graphicaleffects (for sddm theme effects, 必装)

桌面组件

  • hyprland (wlroots-based wayland compositor, 本次安装 niri)
  • dunst (notification daemon, 本次安装 mako)
  • rofi-lbonn-wayland-git (application launcher, 本次安装 fuzzel)
  • waybar (system bar, 必装)
  • swww (wallpaper, 本次安装 swaybg)
  • swaylock-effects-git (lock screen, 本次安装 swaylock-effect)
  • wlogout (logout menu, 必装)
  • grimblast-git (screenshot tool, niri 自带)
  • hyprpicker-git (color picker, 未安装)
  • slurp (region select, 未安装)
  • swappy (screenshot editor, 未安装)
  • cliphist (clipboard manager, 未安装)

依赖项

  • polkit-kde-agent (authentication agent, 必装)
  • xdg-desktop-portal-hyprland (xdg desktop portal for hyprland, 本次安装 xwayland-sitelite)
  • pacman-contrib (for system update check, 必装)
  • python-pyamdgpuinfo (for amd gpu info, 必装)
  • parallel (for parallel processing, 必装)
  • jq (for json processing, 必装)
  • imagemagick (for image processing, 必装)
  • qt5-imageformats (for dolphin image thumbnails, 必装)
  • ffmpegthumbs (for dolphin video thumbnails, 必装)
  • kde-cli-tools (for dolphin file type defaults, 必装)

主题工具

  • nwg-look (gtk configuration tool, 必装,额外安装了 lxappearance kde-gtk-git 等工具)
  • qt5ct (qt5 configuration tool, 必装)
  • qt6ct (qt6 configuration tool, 必装)
  • kvantum (svg based qt theme engine, 必装)
  • qt5-wayland (wayland support in qt5, 必装)
  • qt6-wayland (wayland support in qt6, 必装)

常用应用

  • firefox (browser, 必装,chromium 也安装了一下)
  • kitty (terminal, 本次安装 alacritty)
  • dolphin (kde file manager, 必装)
  • ark (kde file archiver, 必装)
  • vim (terminal text editor, 随意)
  • visual-studio-code-bin (IDE text editor, 必装,推荐装 aur 里的)
  • mpv 和 celluloid (视频播放)

光标设置

Cursor 直接安装 AUR 包里的 bibata-extra-cursor-theme,然后更改 /usr/share/icons/default/index.theme 如下:

[Icon Theme]
Inherits=Bibata-Modern-DodgerBlue

主题配置

本节是 KDE(QT)和 GTK 的主题配置和尝试统一的问题。KDE 使用 kvantum manager 配置,图形化配置就可以,使用 nwg-look 来设置 gtk 的主题。这里都设置成了 WhiteSurDark,图标也是一样的配置。

QT 需要额外设置一些环境变量:

  • QT_IM_MODULE: "fcitx"
  • QT_QPA_PLATFORM: "wayland"
  • QT_QPA_PLATFORMTHEME: "qt6ct"
  • QT_WAYLAND_DISABLE_WINDOWDECORATION: "1"
  • QT_AUTO_SCREEN_SCALE_FACTOR: "1"

因为标题栏始终统一不了,所以通过 niri 配置尽可能的把标题栏去掉了。

Dolphin 问题

Dolphin 有两个问题:

  1. 默认应用制定不生效的问题。参考 Arch Linux Wiki 的 XDG_MIME_Applications 章节。
  2. 全局主题不生效,明明通过 kvantum 配置了主题,但却应用不到 dolphin 上。手动创建了 kdeglobals 文件就可以了。

Fuzzel

Fuzzel 的主题直接使用了 Dracula。

Fcitx5

安装过程参考 Arch Linux 简明指南,然后是需要配置一些环境变量,以使它可以在 xwayland 和其他一些奇怪的应用里可以使用。

ELECTRON_OZONE_PLATFORM_HINT="wayland"
GTK_IM_MODULE="fcitx"
SDL_IM_MODULE="fcitx"
XMODIFIERS="@im=fcitx"

Electron/Chromium

Fcitx5 需要向 Electron 应用和 Chromium 传入额外的参数,在 ~/.config 路径下,创建 electron-flags.conf 和 chromium-flags.conf,写入以下内容。

--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=3
--force-device-scale-factor=1.0 --gtk-version=4 --enable-features=WaylandPerSurfaceScale,WaylandUiScale --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=3

VSCode 虽然是 Electron 应用,但开源的 code 可以正常工作,官方的 vscode 需要在它的 desktop 文件里把 Exec 改了,或者在 code-flags.conf 里添加相关内容。

Xwayland

在使用 xwayland-sitelite 时,遇上了 xorg 相关的问题:

  1. .Xauthority 文件没有自动生成,需要自己创建然后通过 xauth add :1 MIT-MAGIC-COOKIE-1 $(mcookie) 添加认证。
  2. DISPLAY 的环境变量需要自己配置,一开始配的 :1,更新了几次后 :1 突然不行了,需要配成 :0。
DISPLAY ":1"

Niri && Sway && Waybar

Niri 对比 Hyprland 和 Sway 生态还相当的不成熟,像壁纸、锁屏、空闲管理这种都借用了 sway 的生态。

  • 壁纸使用的 swaybg 直接固定了一张图。
  • 锁屏用的 swaylock-effect,主题直接使用了 Draco 的相应主题。
  • 熄屏用的 swayidle。
spawn-at-startup "swayidle" "-w" "timeout" "900" "swaylock" "timeout" "1800" "niri msg action power-off-monitors" "resume" "niri msg action power-on-monitors" "before-sleep" "swayidle"

Waybar 和 Mako 参考了社区配置。退出菜单使用了 Wlogout,主题直接使用 Catppuccin 的主题。

缩放

指应用的缩放问题。主要是一些 QT 的应用,需要在 /usr/share/application/ 里修改 .desktop 文件,或其他地方的执行命令,加入 QT_SCALE_FACTOR 参数来进行手动的缩放,例如在沙盒里运行的微信。

Niri 配置

基本没怎么动默认的配置文件,只是加了一下 output 的分辨率,修改了一下 layout 的 gap,开启了 focus-ring,取消了 prefer-no-csd 的注释,加了默认的启动项,修改了一下环境变量。总体来说功能为主,好不好看就是另一回事了。

目录

  1. ArchLinux 双系统安装及 Niri 桌面合成器环境配置
  2. 安装
  3. GRUB
  4. Uncomment one of them for the gfx desired, a image background or a gfxtheme
  5. SDDM
  6. Current theme name
  7. 应用安装
  8. 显卡驱动
  9. 系统组件
  10. 登录管理
  11. 桌面组件
  12. 依赖项
  13. 主题工具
  14. 常用应用
  15. 光标设置
  16. 主题配置
  17. Dolphin 问题
  18. Fuzzel
  19. Fcitx5
  20. Electron/Chromium
  21. Xwayland
  22. Niri && Sway && Waybar
  23. 缩放
  24. Niri 配置

更多推荐文章

查看全部
  • Java SE 多线程进阶:JUC 常见类与线程安全集合
  • 通义万相 2.1 多模态 AI 生成技术与应用场景分析
  • Qwen2.5-0.5B 轻量级对话机器人快速部署指南
  • AI 写作助手 Prompt:从提纲生成到完整文章创作
  • 集群中继无人机应急通信双层多目标协同优化部署
  • Flutter 集成 Genkit 实现鸿蒙端 AI 流式响应与提示词管理
  • 豆包 Seedream 4.0 多图融合与主体一致性技术解析
  • GitHub Copilot 自定义指令配置指南:规范与协作
  • PyCharm 报错:JetBrains AI URL resolution failure
  • Tachiyomi 开源漫画阅读器使用指南
  • Python 基础:详解 for 循环、range 函数与控制流语句
  • VS Code 集成 GitHub Copilot 配置与实战指南
  • Java 富文本内容生成 PDF 完整落地指南
  • DeepSeek 各版本详解:特性、优缺点及适用场景分析
  • 大模型应用开发入门指南:核心技术与实践
  • VR 眼镜与自动验光仪的光学成像原理及视网膜适配技术
  • TCP 拥塞控制算法详解:CUBIC、BBR 与传统演进
  • OpenClaw 多飞书机器人及多 Agent 团队协作实战
  • Git 多用户提交身份配置与切换方法
  • OpenClaw 开源个人 AI 助手部署指南:一键脚本 Docker npm 安装与中文配置

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online