Arch Linux 桌面环境与应用安装配置

本文为安装 Arch Linux 到移动硬盘上的后续应用安装、配置说明。

安装桌面环境或窗口管理器

流行的桌面环境有 GNOMEKDE

除此之外,还可以了解一下各种窗口管理器

平铺式窗口管理器:

  • 窗口之间不会重叠,会自动分割并填充屏幕;
  • 没有任务栏,全部使用虚拟桌面来管理/布局不同的窗口;
  • 支持全键盘操作。

对于平铺式窗口管理器,推荐 Hyprland

Hyprland

之所以选择 Hyprland,最重要的就是其动画和视觉效果,然后就是丰富强大可配置选项以及 Wayland 原生支持

Hyprland 并非开箱即用,需要大量的配置,因此可以先使用大佬们的 dotfiles

笔者使用过的有 HyDEend4’s dotfiles
安装这些 dotfiles 需要科学上网,否则可能导致部分资源因被墙而下载失败。

HyDE

真正的开箱即用,从 GRUB、SDDM 的主题的安装到 Shell、终端、浏览器的设定。甚至对于 NVIDIA 显卡用户,直接把显卡驱动和各种针对 NVIDIA 的各种设置都直接安装并设定好了。当然输入法还是要自己装。

丰富的主题,内置就有七八种主题,可以一键灵活切换。

使用 Waybar 因此组件的外观有些简陋。

end4’s dotfiles

使用 Quick Shell,因此顶栏和其组件更美观,并且有 Dock 栏和左右侧边栏,以及虚拟桌面预览——实时的。

Quick Shell 版本正在积极开发中,因此会出现各种 bug

基于壁纸颜色自动设定主题颜色。

安装配置输入法

输入法和桌面环境/窗口管理器关联较大,这里的配置仅在 Hyprland 下测试过。

安装输入法相关包

sudo pacman -S fcitx5-im # 输入法基础包组
sudo pacman -S fcitx5-chinese-addons # 官方中文输入引擎
sudo pacman -S fcitx5-configtool # 输入法设置工具
sudo pacman -S fcitx5-rime # 安装 rime 输入法

添加环境变量

创建 ~/.config/environment.d/im.conf,并添加(详细信息见 fcitx5 in wayland):

XMODIFIERS=@im=fcitx
QT_IM_MODULE=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
INPUT_METHOD=fcitx

Hyprland 则在 ~/.config/hypr/userprefs.conf 中添加:

env = XMODIFIERS,@im=fcitx
env = QT_IM_MODULE,fcitx
env = SDL_IM_MODULE, fcitx
env = GLFW_IM_MODULE, ibus
env = INPUT_METHOD, fcitx

启动fcitx5,安装rime输入法

fcitx5 -d # 启动fcitx5

在终端中运行 fcitx5-configtool(或者右键任务栏的输入法图标,点击 configure),打开设置界面,取消勾选 Only Show Current Language,在上方搜索 Rime 并将其移动到左侧,点击 Apply 并退出即可。

此时,使用 Ctrl+Space 即可切换输入法并能够输入中文。

第一次使用时,会自动生成 rime 配置文件,在 ~/.local/share/fcitx5/rime 中。

仅设置 RightShift 切换中英文输入法

我习惯仅使用 RightShift 切换输入法,这样不影响 Shift 输入大写。

RightShift 的按键默认识别为 LeftShift,因此还需要将 RightShift 改键为 “RightShift”,改键推荐使用 keyd

RightShift 设置为 Trigger Input Method 即可。

使用雾凇拼音词库

Rime 默认的中文输入是否简陋,这里推荐 雾凇拼音

yay -S rime-ice # 安装雾凇拼音输入方案

创建 ~/.local/share/fcitx5/rime/default.custom.yaml 并添加:

patch:
  # 仅使用「雾凇拼音」的默认配置,配置此行即可
  __include: rime_ice_suggestion:/
  # 以下根据自己所需自行定义
  __patch:
    menu/page_size: 7 #候选词个数
    schema_list: # 不使用小鹤双拼去掉下两行
      - schema: double_pinyin_flypy

  # 禁止`shift`切换Rime输入法中英文,仅通过切换输入法切换中英文,因为Rime输入法的中英文切换是全局的,而输入法是可以局限在应用的(一个应用对应一个输入法,对应是否中英文)
  ascii_composer/switch_key/Shift_L: noop
  ascii_composer/switch_key/Shift_R: noop

使用小鹤双拼的话,还需要添加小鹤双拼补丁,原因见:https://github.com/iDvel/rime-ice/tree/main/others/双拼补丁示例

# 这是小鹤的补丁,其他双拼将文件名前面那部分改成对应方案 ID 就可以了
patch:
  # (按需选择)清空 preedit_format 中的内容,输入时显示双拼编码
  translator/preedit_format: []

之后重新启动 fcitx5(右键图标点击 restart),Ctrl+Space 即可输入中文。

记得设置自动启动,Hyprland 在 ~/.config/hypr/hyprland.conf 中设置:

exec-once = fcitx5 --replace -d

输入法美化

这里使用 fcitx5 的 FluentDark 皮肤,透明黑色。

FluentDark

安装:

# Dark theme
yay -S fcitx5-skin-fluentdark-git
# Light theme
yay -S fcitx5-skin-fluentlight-git

之后进入fcitx5-configtool,在 Addons-UI-Classic User Interface 中,在 ThemeDark Theme 中下拉选中自己想要的主题即可。

GRUB

GRUB 主题

这个仓库集成了许多好看的 GRUB 主题:https://github.com/Jacksaur/Gorgeous-GRUB

这里推荐 Elegant-grub2-themes

Elegant-grub2-themes

1f7907 后,原有的 DejaVuSans 字体被替换成了 Grub 默认的 unifont 字体。为此你可能需要手动替换之前的字体,或使用在这之前的版本。

SDDM

SDDM 主题

SDDM 主题可按自己的喜好下载。这里推荐 sddm-astronaut-theme,里面集成许多主题,可以自行选择。

主题目录基本都是 /usr/share/sddm/themes/<theme-name>

设置方法见对应主题的说明。

设置 SDDM 触摸板轻触为点击

SDDM 默认运行在 Xorg 上,因此要修改 X11 的设置:

添加文件 /etc/X11/xorg.conf.d/20-touchpad.conf 并填入下面的内容:

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"

        Option "Tapping" "on"
        Option "NaturalScrolling" "on"
        Option "MiddleEmulation" "on"
        Option "DisableWhileTyping" "on"
EndSection

动态壁纸

这里使用 mpvpaper,可以将视频作为桌面,并支持mpv的设置。

end-4 的 Hyprland 配置支持视频类型壁纸,并自动根据视频第一帧图像生成对应的主题颜色。因此可以跳过这一节。

安装

sudo pacman -S mpvpaper

设置自动启动

~/.config/hypr/userprefs.conf 中添加:

exec-once = mpvpaper -f -n 7200 -o "input-ipc-server=/tmp/mpv-socket --shuffle --loop --loop-playlist --panscan=1.0 --osd-level=0" "*" /home/Videos/Wallpapers

参数解释:

mpvpaper 详细参数意义见 man mpvpaper ,mpv 详细设置见 https://mpv.io/manual/master

  • -f – fork mpvpaper 从而可以关闭终端
  • -n 7200 – 幻灯片模式每2小时(7200秒)播放播放列表中的下一个视频,需配合 --loop, --loop-playlist 使用
  • -o – mpvpaper 传递参数给 mpv
    • input-ipc-server=/tmp/mpv-socket – 提供 mpvpaper 的控制接口
    • shuffle – 启动时打乱播放列表
    • loop – 循环播放视频
    • loop-playlist – 循环播放列表
    • panscan=1.0 – 拉伸以填充整个屏幕(不留黑边)
    • osd-level=0 – 去除所有 mpv 渲染在视频上的 OSD 信息,避免禁音 mpv 时显示 “Mute: yes”
  • "*" – 显示在所有屏幕上
  • /home/Video/Wallpapers – # 播放的可以是视频文件或者包含视频文件的文件夹

参数过多,可以设置 mpv 配置文件,再引用配置文件 ~/.config/mpv/mpv.conf ,详细见 https://mpv.io/manual/master/#configuration-files

[mpvpaper]
profile-desc="profile for mpvpaper"
vo=gpu-next
gpu-api=auto
hwdec=auto-safe
profile=fast
input-ipc-server=/tmp/mpv-socket
shuffle
loop
loop-playlist
panscan=1.0
osd-level=0

之后自动启动便可写为:

exec-once = mpvpaper -f -n 7200 -o "profile=mpvpaper" "*" /home/Videos/Wallpapers

设置 mpvpaper 桌面图层排序

此外,为避免视频桌面被其他桌面程序覆盖 (HyDE 中是swww-daemon ),可以设置 mpvpaper 的 layer 优先度最低,或者直接不启动其他桌面程序:

layerrule = order -1, mpvpaper

控制 mpvpaper 命令

前提是已经设置了 input-ipc-server=/tmp/mpv-socket – 提供 mpvpaper 的控制接口。并安装socat

bindd = $mainMod, F5, $d toggle mpvpaper voice, exec, echo 'cycle mute' | socat - /tmp/mpv-socket # 静音/取消静音
bindd = $mainMod, F6, $d mpvpaper play prev, exec, echo 'playlist-prev' | socat - /tmp/mpv-socket # 播放上一个
bindd = $mainMod, F7, $d toggle mpvpaper play, exec, echo 'cycle pause' | socat - /tmp/mpv-socket # 暂停/取消暂停
bindd = $mainMod, F8, $d mpvpaper play next, exec, echo 'playlist-next' | socat - /tmp/mpv-socket # 播放下一个

改键

需求:

  • Esc(Vim 用) 和 Ctrl 方便点击,保护小指头。
  • 方向键(上下左右)和导航键(翻页、homeend)在主键盘区有快捷键,方便补全和搜索以及命令行的导航。

方案:

  • CapsLock 单击为Escape
  • CapsLock + f,b,p,n,a,e,u,d = right, left, up, down, home, end, pageup, pagedown
  • CapsLock + h,j,k,l = left, down, up, right
  • EscapeCapsLock
  • Ctrl键与右Alt键互换,右手大拇指负责按 Ctrl

这里选用 keyd 来改键

安装并启用 keyd:

sudo pacman -S keyd
sudo systemctl enable --now keyd

要查看各个键位的名称,运行并按下要查看的键位:

sudo keyd monitor

添加配置文件 /etc/keyd/default.conf,如下所示:

[ids]

*

[main]

capslock = overload(capslock_layer, esc)
esc = capslock
rightalt = rightcontrol
rightshift = rightshift

[capslock_layer]
f = right
b = left
p = up
n = down
a = home
e = end
u = pageup
d = pagedown
h = left
j = down
k = up
l = right
space = backspace
backspace = delete

运行以下命令来重载配置:

sudo keyd reload

字体

采用类苹果字体方案:

  • 中文字体:苹方字体
  • 英文字体:Inter
  • 等宽字体:Maple Mono NF CN
  • emoji:apple color emoji

详细见 https://github.com/wxmup/linux-fonts-from-apple?tab=readme-ov-file#readme

maple 字体 Github releases: https://github.com/subframe7536/maple-font/releases

其他推荐的应用

  • 科学上网。请查阅简明指南-透明代理
  • fish shell——用户友好的 Shell,自带许多有用功能,比需要加载一堆插件的 zsh 启动要快的多。不如的是,fish shell 不兼容 POSIX
  • yazi
  • neovim——完全兼容 vim,同时插件生态极其丰富。觉得配置麻烦的可以使用 lazyvim,完全可以说是一个 IDE 了。
  • neovide——搭配 neovim,一个Neovim的图形用户界面。有更好的视觉及输入体验,动画丝滑无比。
  • vscode——无须多言。
  • openRGB——光污染必备
  • btop——一个系统资源监视器,类似任务管理器
  • pyprland——为 hyprland 用户提供了一下有用的插件,主要用到的是 scratchpads

个性化配置

关于 hyprland、终端、Shell、编辑器和各种软件的具体配置文件,可以查看我的 dotfiles


Arch Linux 桌面环境与应用安装配置
https://alyingfish.github.io/posts/arch-apps/
作者
Lying Fish
发布于
2025年7月19日
许可协议