ArchLinux 安装配置
安装
这里选择 EndeavourOS , 它是一个 Arch Linux 的发行版, 安装更加方便, 初始安装自带桌面, 方便进行后续操作, 同时接近上游, 不像 Manjaro 一样对 Arch Linux 有很多改动.
安装时注意选择 Btrfs + Grub . 推荐离线安装直接可以安装 KDE 版本.
修改 Home 目录中的中文
在安装系统时如果选择中文, Home 目录下会生成一些中文目录, 使用以下命令修改其为英文方便终端操作.
LC_ALL=en_US.UTF-8 xdg-user-dirs-update --force
rmdir 桌面 公共 视频 图片 文档 音乐 下载 模板xdg-user-dirs-update 不会删除旧的中文目录, rmdir只会删除空目录, 删除失败的需要检查其中的文件并迁移.
添加国内源
reflector 是一个自动检测 Pacman 镜像源速度并应用的工具, EndeavourOS 安装自带, 可以用以下命令检测速度最快的源.
sudo reflector --country China \
--protocol https \
--latest 3 \
--save /etc/pacman.d/mirrorlist或者只加sudo reflector --country China也可以, 其它选项可以默认.
由于 Arch Linux 的官方监测服务器位于海外, 可能会连接国内镜像源超时导致镜像评估异常, 所以还是手动添加镜像源比较好, 从 https://archlinux.org/mirrors/ 可以筛选镜像.
将以下镜像源写入 /etc/pacman.d/mirrorlist
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch然后 sudo pacman -Syyu 更新系统, 如果有内核更新可能需要重启, 重启即可.
之后添加 ArchLinuxCN 镜像源, 在/etc/pacman.conf添加:
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
Server = https://mirrors.aliyun.com/archlinuxcn/$arch
Server = https://mirrors.cloud.tencent.com/archlinuxcn/$arch然后执行命令:
sudo pacman -Sy
sudo pacman -S archlinuxcn-keyring配置代理
ArchlinuxCN 中有 Clash Verge Rev , 国内可以直连, 直接使用 pacman 安装.
pacman -S archlinuxcn/clash-verge-rev安装打开订阅好配置文件并开启代理后, 在/etc/environment中追加写入以下内容
http_proxy=http://127.0.0.1:7897
https_proxy=http://127.0.0.1:7897
all_proxy=socks5://127.0.0.1:7897
no_proxy=localhost,127.0.0.1,::1,10.0.0.0/8,192.168.0.0/16根据自己的端口自行修改细节, 写入完成后需要重启才可以让读取新写入的全局环境变量.
如果你使用虚拟机, 可以直接连接宿主机的代理, VirtualBox 默认指向本机网络地址为192.168.56.1 或者 10.0.2.2 , 宿主机代理软件允许局域网连接即可.
重启之后确保网络畅通, 就可以更新 AUR 了, 使用以下命令更新.
yay -Syu配置 SSH
使用 ssh-keygen 命令可以生成 ssh-key , 可以添加到 GitHub 仓库或者远端服务器, 实现无密码 SSH 通信.
如果机器有远程 SSH 连接的需求, 可以使用以下命令开启 sshd 服务.
sudo systemctl enable --now sshd
sudo systemctl status sshd配置 Git
使用以下命令配置 Git 名称与邮箱.
git config --global user.name "name"
git config --global user.email "email@example.com"执行以下命令让终端 Git 命令可以正常显示中文.
git config --global core.quotepath false在~/.ssh/config中添加以下内容让 GitHub 的 SSH 连接的 push/pull/clone 走代理
Host github.com
# 使github的ssh连接走代理
ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=7897如果没有 socat 需要自行安装. 配置中代理 IP 和端口也要注意修改为自己的.
使用 ssh -T git@github.com 可以测试连通性检验配置是否成功.
安装桌面
使用以下命令使用 Dank Material Shell 项目的安装器安装 Niri + Dank Material Shell 整套配置.
curl -fsSL https://install.danklinux.com | sh出现Error: Could not fetch latest version是因为节点被 github 限制访问无法获取版本号, 可以更换纯净节点或者手动指定版本号.
安装过程中可以选择 Wayland 合成器为 Niri 或者 Hyprland , 终端可以选择 Ghostty/Alacritty/Kitty , 这里选择 Niri + Ghostty .
安装完成后注销然后在启动界面左下角可以选择进入 niri 桌面. 默认 Mod + T 开启终端, Mod + 空格 可以搜索并运行程序, Mod 键可配置, 默认是 Super , 就是 Windows 下的 Win 键.
使用 dms ipc call keybinds toggle niri 命令可以弹出一个悬浮窗口查看所有快捷键, 使用 dms keybinds show niri 可以在终端输出所有快捷键的 JSON 格式.
还可以选择安装 dsearch , 安装并启动后在启动器界面开头输入 / 可以进行文件搜索, 还支持搜索文件内容.
yay -S aur/dsearch-bin安装后启动
systemctl --user enable --now dsearch调整 Grub
如果使用了 Timeshift 或者 Snapper 的快照功能, 安装 grub-btrfs 实现在 Grub 界面直接从快照启动, 这样在系统挂掉后可以从快照启动进入系统而不需要 LiveCD .
yay -S grub-btrfs在/etc/grub.d/可以查看引导生成脚本, 决定 Grub 引导顺序, 修改它们就可以修改 Grub 界面的启动顺序, 内容如下:
> ls /etc/grub.d/ -l
总计 124
-rwxr-xr-x 1 root root 9816 12月 1日 22:52 00_header*
-rwxr-xr-x 1 root root 12831 12月 1日 22:52 08_os-prober*
-rwxr-xr-x 1 root root 286 1月10日 23:05 09_eos_windows*
-rwxr-xr-x 1 root root 12631 12月 1日 22:52 10_linux*
-rwxr-xr-x 1 root root 14393 12月 1日 22:52 20_linux_xen*
-rwxr-xr-x 1 root root 786 12月 1日 22:52 25_bli*
-rwxr-xr-x 1 root root 1174 12月 1日 22:52 30_uefi-firmware*
-rwxr-xr-x 1 root root 744 12月19日 18:31 35_fwupd*
-rwxr-xr-x 1 root root 214 12月 1日 22:52 40_custom*
-rwxr-xr-x 1 root root 215 12月 1日 22:52 41_custom*
-rwxr-xr-x 1 root root 29811 9月17日 23:59 41_snapshots-btrfs*
-rwxr-xr-x 1 root root 1394 2024年12月26日 60_memtest86+-efi*
-rw-r--r-- 1 root root 483 12月 1日 22:52 README其中 10_linux 引导 Linux 系统, 08_os-prober 是一个自动化搜索工具, 它会扫描所有硬盘分区,寻找 Windows 或其他已安装的 Linux 发行版,并将它们加入启动菜单, 41_snapshots-btrfs是刚才安装的 snapshots-btrfs , 09_eos_windows是 EndeavourOS 系统的 Windows 搜索脚本, 防止 os-prober 失效, 修改其中数字顺序即可决定 Grub 启动菜单顺序, 可以自行调整.
所有配置完成重建 Grub 配置:
sudo grub-mkconfig -o /boot/grub/grub.cfg桌面相关配置
QT 应用
安装相关 QT5/QT6 样式配置工具
yay -S qt6ct-kde qt5ctqt6ct-kde 是 qt6ct 针对 kde 应用的补丁版本, 如果不使用 kde 相关软件可以装qt6ct.
安装 QT5/QT6 Wayland 运行环境
yay -S qt6-wayland qt5-wayland在 ~/.config/environment.d 下创建环境变量是现代 Linux 发行版推荐的设置全局图形界面用户变量的方式, 在这里创建文件 10-wayland.conf, 写入以下内容:
# 指定 qt6ct 配置 QT 应用主题
QT_QPA_PLATFORMTHEME=qt6ct
# 指定 QT 应用优先使用 Wayland
QT_QPA_PLATFORM="wayland;xcb"
# 解决部分 XWayland 应用的输入问题
XMODIFIERS=@im=fcitx环境变量加入指定 QT 应用配置工具, QT5 应用识别到QT_QPA_PLATFORMTHEME=qt6ct环境变量会自动去找 qt5ct, 所以不用担心 QT5 应用兼容性. QT_QPA_PLATFORM="wayland;xcb"是指定 QT 应用优先使用 Wayland, 如果不兼容则使用 XWayland.
然后在 DMS 的主题配置界面中, 点击应用 QT 配色即可在 qt6ct 和 qt5ct 配置目录下生成 Matugen 主题, 分别打开两个配置文件配置应用这个主题即可.
由于我们环境变量在用户端配置, 某些 root 权限启动的应用无法读取这些配置, 所以可以把用户目录的相关配置文件软链接到 root 目录中.
sudo mkdir -p /root/.config/qt6ct/colors/
sudo ln -s ~/.config/qt6ct/qt6ct.conf /root/.config/qt6ct/qt6ct.conf
sudo ln -s ~/.config/qt6ct/colors/matugen.conf /root/.config/qt6ct/colors/matugen.conf
sudo mkdir -p /root/.config/qt5ct/colors/
sudo ln -s ~/.config/qt5ct/qt5ct.conf /root/.config/qt5ct/qt5ct.conf
sudo ln -s ~/.config/qt5ct/colors/matugen.conf /root/.config/qt5ct/colors/matugen.confGTK 应用
GTK 应用比较封闭, 不像 Qt 应用一样可以直接配置 Matugen 生成的颜色方案, 所以 DMS 使用 CSS 注入的方式来让 GTK 应用使用 Matugen 颜色方案, 具体来说就是覆盖 ~/.config/gtk-3.0/gtk.css 和 ~/.config/gtk-4.0/gtk.css 两个文件.
对于 GTK3 应用, 会尝试读取 ~/.config/gtk-3.0/settings.ini, 如果存在此文件则使用 ~/.config/gtk-3.0/gtk.css 的内容, 不存在则会使用内置配色和主题; 而 GTK4 应用使用libadwaita库, 只会默认读取 ~/.config/gtk-4.0/gtk.css, 配置则监听 xdg-desktop-portal 相关信息.
所以首先安装 GTK3 配置生成工具nwg-look和与Libadwaita样式相似的 GTK3 主题adw-gtk-theme:
yay -S nwg-look adw-gtk-theme打开nwg-look在配置中选择adw-gtk3主题并应用, 就会生成 GTK3 配置文件.
然后在 DMS 主题配置中可以点击应用 GTK 配色, 让 DMS 的配置注入即可.
Electron 应用
添加以下环境变量可以修复 Wayland 环境下 Electron 应用的很多问题.
ELECTRON_OZONE_PLATFORM_HINT=auto如果使用 DankMaterialShell 安装, 环境变量在会在 ~/.config/environment.d/90-dms.conf 配置无需用户写入.
安装图标包
安装 papirus 图标包
yay -S papirus-icon-themepapirus 图标包是很流行的一套开源图标包, 适配应用程序范围较广, 在右上角 DMS 配置界面中主题配置栏可以选择这个图标包. 依赖上面配置的 QT_QPA_PLATFORMTHEME=qt6ct 环境变量, 上一步配置完需要重启才能读到配置的环境变量.
配置鼠标指针
DMS配置界面可以配置鼠标指针, 推荐capitaine-cursors在高分屏幕表现比较好.
yay -S extra/capitaine-cursors配置显示器
Dank Material Shell 1.2 版本已经集成了配置界面配置显示器的功能, 直接在配置界面配置即可.
在 Niri 配置文件中添加以下内容可以配置显示屏, 位置通常是 ~/.config/niri/config.kdl .
output "DP-3" {
// 分辨率
mode "3840x2160@160"
// 1.5 倍缩放
scale 1.5
// 确保位置在原点
position x=0 y=0
// 高刷支持
variable-refresh-rate
}在你没写入这些配置时 Niri 会自动检测显示器配置, 通过 niri msg outputs 查看当前配置来获取显示器名称和其它信息.
配置鼠标
在 niri 配置文件中添加以下内容, 位置通常是 ~/.config/niri/config.kdl .
input {
mouse {
// 关闭鼠标加速,使用 1:1 的映射
accel-profile "flat"
// 取值范围通常是 -1.0 到 1.0。
accel-speed 0.0
}
}安装系统快照备份
常用快照组件有 TimeShift 和 Snapper .
TimeShift
TimeShift 是 Ubuntu 常用的快照软件, 使用以下命令安装
yay -S timeshift之后可以启动 timeshift 在 GUI 界面进行详细配置, 之后安装 timeshift-autosnap 实现更新前自动备份.
yay -S timeshift-autosnapSnapper
Snapper 功能更强大, 是 OpenSuse 系统的组件, 默认没有图形界面, 配合 Btrfs Assistant 使用.
yay -S snapper btrfs-assistant在 Snapper Settings 界面可以创建对不同子卷的配置, 可以分别创建对于 root 和 home 目录的备份规则, 启用 Enable timeline snapshots 后可以配置备份周期, 然后点击 Save 保存.
对 root 和 home 分别配置后勾选 systemd Unit Settings 中的选项, 然后 Apply systemd changes 即可启用快照服务, 三个服务中 timeline 代表上面配置的周期快照, cleanup 代表周期按照限制清理快照, boot 代表开机自动快照, 根据需求选择.
注意如果不使用图形界面配置, 记得将 Snapper 的备份目录配置为 Btrfs 子卷, 而不是默认的普通目录, 以免出现递归快照, Btrfs Assistant 会自动进行这样的操作, 而命令行中不会如此.
安装snap-pac来在 pacman 更新前自动快照.
yay -S snap-pac安装终端编辑器
EndeavourOS 默认只有 Vi , 不太好用, 这里安装 Helix 作为终端编辑器, 也可以安装 Vim/NeoVim .
yay -S helixArchLinux 中 helix 的默认别名并不是 hx, 原因是 Arch 上已经有一个叫 hex 的十六进制查看器/编辑器,占用了 hx 这个命令.
可以手动软链接
sudo ln -s /usr/bin/helix /usr/local/bin/hx或者使用包管理器安装:
yay -S aur/helixbinhx这个包会自动创建一个链接到 helix 的 /usr/bin/hx 软链接.
安装字体
yay -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
yay -S ttf-sarasa-gothic
yay -S ttf-maplemononormal-nf-cn-unhinted
yay -S ttf-lxgw-wenkai ttf-lxgw-wenkai-mononoto Noto 系列字体, 包含世界上大部分语言的字符, 保证系统不会因为没有字体显示方块
ttf-sarasa-gothic 更纱黑体, 包含所有版本字体, 包括等宽和 UI 等各种版本
ttf-maplemono-nf-cn-unhinted 适合作为编程等宽字体. normal是让字体中的一些字符更加正常, 默认预设比较有个性, nf 意为嵌入 Nerd-Font 的版本; cn 意为中文版本, 嵌入中文和日文字形; unhinted 意为适配高分辨率屏幕. Aur 和 ArchLinuxCN 还有很多其它版本, 全部标签含义可以去 Maple Mono 项目官网 查询.
ttf-lxgw-wenkai 霞鹜文楷, 比较美观, 适合阅读
ttf-lxgw-wenkai-mono 霞鹜文楷等宽版本
niri 不像 KDE 那样有 GUI 界面可以指定系统字体, 所以有时会出现优先显示日式字形的情况, 并且系统默认字体是以字体名称来排序搜索到第一个可用字体, 非常不稳定, 所以需要编写字体配置文件, 指定系统搜索字体顺序, 在 ~/.config/fontconfig/fonts.conf 创建用户配置指定字体相关内容, 优先级高于 KDE 等桌面环境的配置.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- 无衬线字体配置 -->
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Sans CJK SC</family>
<family>Sarasa Gothic SC</family>
</prefer>
</alias>
<!-- 衬线字体配置 -->
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>Noto Serif CJK SC</family>
</prefer>
</alias>
<!-- 等宽字体配置 -->
<alias>
<family>monospace</family>
<prefer>
<family>Sarasa Mono SC</family>
<family>Noto Sans Mono</family>
<family>Noto Sans Mono CJK SC</family>
</prefer>
</alias>
<!-- emoji 配置 -->
<alias>
<family>emoji</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
</fontconfig>保存配置后运行 fc-cache -fv 来刷新缓存应用最新修改
使用以下三条命令可以分别查看当前系统各类字体的搜索顺序, 运行可以看到我们指定的字体排在所有其它系统字体之前.
fc-match -s sans-serif
fc-match -s serif
fc-match -s monospace配置指定了各类字体默认搜索顺序, 当然在各自应用也可以字形指定任意字体, 其中 noto 系列字体应该是 KDE 桌面环境自带, 如果没有需要字形安装, fc-list 可以查看当前系统所有字体.
配置 Ghostty
在 ~/.config/ghostty/config 中添加以下配置.
# Font Configuration
font-size = 14
font-family = "Maple Mono Normal NF CN"
# 增加文本内容与窗口边缘之间的内边距
window-padding-x = 12
window-padding-y = 12
# 输入时隐藏鼠标
mouse-hide-while-typing = true
# 关闭 Ghostty 无须确认
confirm-close-surface = false
theme = TokyoNight安装 Shell
主流选择有 Fish 和 Zsh, Fish 开箱即用但是不兼容 Bash, 配置为系统默认 Shell 会有很多问题, Zsh 兼容 Bash, 可以作为系统默认 Shell, 但是配置比较复杂并且启动速度不如 Fish.
Fish
Fish Shell 是一套开箱即用的 Shell.
sudo pacman -S fish运行 fish_config 可以在浏览器交互式配置一些细节.
Zsh
首先安装 Zsh 本体:
yay -S zshoh-my-zsh 项目是 Zsh 配置的主流选择, 但是安装之后无插件启动 Shell 启动速度也会很慢, 大概会到 200ms 左右, 启用一些插件之后会更慢, 所以我们选择自行安装插件管理器 Antidote 来配置插件:
yay -S zsh-antidoteAntidote 可以对插件进行声明式配置, 首先为 .zshrc 加入 Antidote 的启动配置:
zsh_plugins=${ZDOTDIR:-~}/.zsh_plugins
[[ -f ${zsh_plugins}.txt ]] || touch ${zsh_plugins}.txt
fpath=(/usr/share/zsh-antidote/functions $fpath)
autoload -Uz antidote
if [[ ! ${zsh_plugins}.zsh -nt ${zsh_plugins}.txt ]]; then
antidote bundle <${zsh_plugins}.txt >|${zsh_plugins}.zsh
fi
source ${zsh_plugins}.zsh这是官网推荐的高性能启动方式.
之后配置插件列表, 在 ~/.zsh_plugins.txt 下添加内容:
# Zsh 补全系统
mattmc3/ez-compinit # 加载 Zsh 补全系统
zsh-users/zsh-completions kind:fpath path:src # 增强命令补全
# zephyr 套件补全 zsh 的默认配置
mattmc3/zephyr path:plugins/color # 色彩相关
mattmc3/zephyr path:plugins/directory # 目录操作
mattmc3/zephyr path:plugins/editor # 编辑操作
mattmc3/zephyr path:plugins/environment # 环境变量相关
mattmc3/zephyr path:plugins/history # 命令历史
mattmc3/zephyr path:plugins/utility # 工具
# 集成 fzf 和 zoxide
ajeetdsouza/zoxide
Aloxaf/fzf-tab
# P10k 主题
romkatv/powerlevel10k
# 语法高亮和自动提示
zsh-users/zsh-autosuggestions # 自动提示
zsh-users/zsh-history-substring-search # 历史搜索
zdharma-continuum/fast-syntax-highlighting kind:defer # 语法高亮 (延迟加载)然后打开配置文件 .zshrc 目录, 添加插件配置项:
# P10k 即时提示
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# ez-compinit配置: 开启补全系统缓存
# 路径优先级 $ZSH_COMPDUMP > $XDG_CACHE_HOME/zsh/zcompdump > ~/.cache/zsh/zcompdump
zstyle ':plugin:ez-compinit' 'use-cache' 'yes'
# ez-compinit配置: 使用oh-my-zsh 风格的补全
# 官方提供 styles: gremlin, ohmy, prez, zshzoo
# 只有 ohmy 预设与 fzf-tab 兼容, 其它模式 group 标题会有无法渲染的占位符
zstyle ':plugin:ez-compinit' 'compstyle' 'ohmy'
# zephyr配置: 启用和关闭一些 editor 预设功能
zstyle ':zephyr:plugin:editor' 'prepend-sudo' yes # 快捷键加 sudo 功能
zstyle ':zephyr:plugin:editor' 'pound-toggle' no # 空格后显示别名原始形态
zstyle ':zephyr:plugin:editor' 'magic-enter' no # 回车自动执行 ls 或 git 命令
# 配合 fzf-tab 相关补全选项
zstyle ':completion:*:git-checkout:*' sort false # git-checkout 关闭按字母排序
zstyle ':completion:*:descriptions' format '[%d]' # 窗口增加 group 标题
# fzf-tab 内部配置
zstyle ':fzf-tab:*' fzf-flags --bind=tab:accept # 使用 Tab 键确认 fzf-tab 中的选项
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath' # 在 cd 界面使用 eza 显示目录内容
# --- Antidote 启动部分 ---
# 官方推荐的高性能启动方式
zsh_plugins=${ZDOTDIR:-~}/.zsh_plugins
[[ -f ${zsh_plugins}.txt ]] || touch ${zsh_plugins}.txt
fpath=(/usr/share/zsh-antidote/functions $fpath)
autoload -Uz antidote
if [[ ! ${zsh_plugins}.zsh -nt ${zsh_plugins}.txt ]]; then
antidote bundle <${zsh_plugins}.txt >|${zsh_plugins}.zsh
fi
source ${zsh_plugins}.zsh
# --- Antidote 启动结束 ---
# 启动 P10k 主题
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# 启动fzf-tab
enable-fzf-tab
# 修复 zephyr-directory 预设与补全系统的问题
# 防止操作目录命令的 Tab 选项中出现隐藏文件
unsetopt glob_dots
# 去掉 zephyr-editor 修改光标样式功能并恢复终端默认形态
function update-cursor-style { : }
printf '\e[0 q'
# --- 快捷键绑定 ---
# 绑定 Alt + S 为命令前增加 sudo
bindkey '\es' prepend-sudo
# 配置 zsh-history-substring-search 快捷键
bindkey '^[[A' history-substring-search-up 2>/dev/null # '^[[A' 序列的上方向键
bindkey '^[OA' history-substring-search-up 2>/dev/null # '^[[A' 序列的上方向键
bindkey '^[[B' history-substring-search-down 2>/dev/null # '^[[B' 序列的下方向键
bindkey '^[OB' history-substring-search-down 2>/dev/null # '^[OB' 序列的下方向键其中顶部和底部 P10k 主题的配置稍后启动时 P10k 会自动添加.
之后下载一些系统工具:
yay -S eza fzf zoxideeza 可以代替 ls , fzf 是一个快速的搜索软件, zoxide 可以根据模糊名称智能跳转目录.
之后进入 Zsh 终端
zsh启动时 Antidote 会从 GitHub 下载插件, 等插件加载好, 第一次进入会有 P10k 的主题选项, 选择自己喜欢的主题配置即可进入.
进入 Shell 之后, 可以进一步加快速度, 由于 fzf-tab 插件需要渲染颜色, 如果渲染量很大, 使用内部 Zsh 脚本渲染会很慢, 所以可以编译 C 版本的渲染模块加速 fzf-tab 界面, 执行以下命令:
build-fzf-tab-module之后重启 Zsh 即可看到渲染大量颜色时 fzf-tab 速度会有明显提升.
所有插件配置完成可以测试对比一下 Fish 和 Zsh 的速度:
> for i in {1..10}; do time zsh -lic exit; done
zsh -lic exit 0.04s user 0.02s system 108% cpu 0.057 total
zsh -lic exit 0.05s user 0.04s system 113% cpu 0.080 total
zsh -lic exit 0.06s user 0.05s system 112% cpu 0.092 total
zsh -lic exit 0.06s user 0.05s system 116% cpu 0.097 total
zsh -lic exit 0.06s user 0.05s system 115% cpu 0.088 total
zsh -lic exit 0.07s user 0.05s system 116% cpu 0.102 total
zsh -lic exit 0.06s user 0.05s system 115% cpu 0.095 total
zsh -lic exit 0.06s user 0.05s system 116% cpu 0.090 total
zsh -lic exit 0.06s user 0.05s system 116% cpu 0.097 total
zsh -lic exit 0.05s user 0.05s system 113% cpu 0.089 total> for i in {1..10}; do time fish -lic exit; done
fish -lic exit 0.01s user 0.01s system 102% cpu 0.012 total
fish -lic exit 0.01s user 0.01s system 104% cpu 0.016 total
fish -lic exit 0.00s user 0.00s system 105% cpu 0.009 total
fish -lic exit 0.01s user 0.00s system 101% cpu 0.015 total
fish -lic exit 0.02s user 0.01s system 103% cpu 0.026 total
fish -lic exit 0.01s user 0.01s system 102% cpu 0.012 total
fish -lic exit 0.02s user 0.00s system 105% cpu 0.021 total
fish -lic exit 0.02s user 0.01s system 103% cpu 0.028 total
fish -lic exit 0.01s user 0.01s system 101% cpu 0.024 total
fish -lic exit 0.02s user 0.01s system 104% cpu 0.025 total可以看到速度还是不错的, 虽然比不上 Fish 的速度, 但都在 100ms 以下.
安装输入法
这里使用 Fcitx5-Rime 输入法.
sudo pacman -S fcitx5-im fcitx5-rime/etc/environment中添加以下环境变量
XMODIFIERS=@im=fcitx接下来安装雾凇拼音项目, 支持全拼和多种双拼方案, 采用 ArchLinuxCN 版本加快国内下载速度
yay -S archlinuxcn/rime-ice-git下载后会将配置文件添加到 /usr/share/rime-data 下, 这里是 fcitx5-rime 的默认配置文件路径之一, 之后在用户路径下编写配置引用和修改其中的一些配置, 在 ~/.local/share/fcitx5/rime/ 下创建文件 default.custom.yaml , 写入以下内容:
patch:
# 导入雾凇拼音默认方案
# rime_ice_suggestion 为雾凇方案的默认预设
__include: rime_ice_suggestion:/
schema_list:
- schema: double_pinyin_flypy # 小鹤双拼
menu/page_size: 8 # 候选词个数
# 覆盖方案选单快捷键, 防止与 VS Code 快捷键冲突
switcher/hotkeys:
- F4
# 修改中英切换相关快捷键逻辑
# 切换中英:
# 不同的选项表示:打字打到一半时按下了 CapsLock、Shift、Control 后:
# commit_code 上屏原始的编码,然后切换到英文
# commit_text 上屏拼出的词句,然后切换到英文
# clear 清除未上屏内容,然后切换到英文
# inline_ascii 切换到临时英文模式,按回车上屏后回到中文状态
# noop 屏蔽快捷键,不切换中英,但不要屏蔽 CapsLock
ascii_composer/switch_key:
Caps_Lock: commit_text # commit_code | commit_text | clear
Shift_L: noop # commit_code | commit_text | inline_ascii | clear | noop
Shift_R: noop # commit_code | commit_text | inline_ascii | clear | noop
Control_L: noop # commit_code | commit_text | inline_ascii | clear | noop
Control_R: noop # commit_code | commit_text | inline_ascii | clear | noopdefault.custom.yaml 含义为修改默认配置, __include: rime_ice_suggestion:/ 导入了配置, 在下面可以覆盖配置中的一些键值.
同样也可以修改其它文件, 比如要针对小鹤双拼 double_pinyin_flypy.schema.yaml 方案单独修改, 可以创建文件 double_pinyin_flypy.custom.yaml 来修改, 如下为修改输入法默认英文标点.
patch:
# 修改默认英文标点
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# abbrev: 默认的缩写取 states 的第一个字符,abbrev 可自定义一个字符
switches:
- name: ascii_mode
states: [ 中, A ]
- name: ascii_punct # 中英标点
states: [ ¥, $ ]
reset: 1
- name: traditionalization
states: [ 简, 繁 ]
- name: emoji
states: [ 💀, 😄 ]
reset: 1
- name: full_shape
states: [ 半角, 全角 ]
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
states: [正常, 单字]
abbrev: [词, 单]具体配置覆盖语法为:
patch:
"一级设定项/二级设定项/三级设定项": 新的设定值
"另一个设定项": 新的设定值
"再一个设定项": 新的设定值
"含列表的设定项/@n": 列表第n个元素新的设定值,从0开始计数
"含列表的设定项/@last": 列表最后一个元素新的设定值
"含列表的设定项/@before 0": 在列表第一个元素之前插入新的设定值(不建议在补靪中使用)
"含列表的设定项/@after last": 在列表最后一个元素之后插入新的设定值(不建议在补靪中使用)
"含列表的设定项/@next": 在列表最后一个元素之后插入新的设定值(不建议在补靪中使用)
"含列表的设定项/+": 与列表合并的设定值(必须为列表)
"含字典的设定项/+": 与字典合并的设定值(必须为字典,注意YAML字典的无序性)然后点击托盘图标重新部署, 之后推荐在 fcitx5 配置界面中删除所有全局快捷键避免与 niri 冲突, 然后配置自己需要的快捷键.
用户目录 ~/.local/share/fcitx5/rime/ 下有 installation.yaml , 这是同步相关配置的文件, 需要关注以下几个键值.
# 本机的 ID 标志, 默认是一串 UUID
# 同步目录本机生成的文件夹是这个名字, 可以改成更好识别的名称
installation_id: "Arch-001"
# 同步的路径, 如果不配置, 默认是当前配置目录下的 `sync/`
sync_dir: "/file/path/sync"点击托盘的同步按钮后, rime 会先在同步目录中搜索并合并其它用户词典, 合并到本地, 然后重新生成本机最新版的用户词典到同步目录.
Linux 下 Rime 的外观被 Fcitx5 接管, 不像 Win 或者 MacOS 平台一样可以在 Rime 配置文件中定义外观, 需要在 Fcitx5 中配置.
运行 " Fcitx5 配置" 可以在 “附加组件 -> 经典用户界面” 中调整字体以及其它外观, 4K 分辨率 1.5 倍缩放下 12-14 比较好, 皮肤可以自行选择, 这里选择以下皮肤, yay 下载后就可以在界面中选择.
yay -S fcitx5-skin-ori-git安装终端文件浏览器
yazi 是一款终端中使用的文件浏览器.
yay -S yazi安装 Visual Studio Code
yay -S aur/visual-studio-code-binVisual Studio Code 有很多不同版本, extra/code 是 Arch Linux 官方编译版本, aur/vscodium 是社区去除遥测的编译版本, 由于微软限制, 它们和 Visual Studio Code 使用不同插件市场, 从方便角度来看这里下载 aur/visual-studio-code-bin .
安装微信
yay -S wechat实测到目前(2026-01-13)在 Wayland 下运行已经很完美了, 基本没什么问题.
安装 Logseq
Logseq 是一个开源双链笔记应用.
yay -S aur/logseq-desktop-bin我安装了 Logseq journals calendar 插件和 bonofix 主题
安装浏览器
EndeavourOS 应该是自带 Firefox 的, 可以登录配置, 也可以安装 Chrome 系浏览器.
yay -S chromium这个是基于 Chrome 的开源内核的开源浏览器, 用起来和 Chrome 没什么不同.
安装 Firefox 和它的中文语言包, 避免每次更新 Firefo 自动切回英文:
yay -S firefox firefox-i18n-zh-cn执行以下命令让 DMS 成为默认浏览器的选择者:
xdg-settings set default-web-browser dms-open.desktop如果报错xdg-settings: $BROWSER is set and can't be changed with xdg-settings, 那是 /etc/environment/~/.profile/~/.bashrc 或者其它的地方有$BROWSER环境变量已经被配置了, 一般新系统就是 EndeavourOS 默认在/etc/environment写入了BROWSER=firefox, 删除即可.
也可以配置为其它自己想要的浏览器.
删除之后需要重启才能去掉这个环境变量, 可以先在终端unset BROWSER然后执行.
安装音乐软件
yay -S yesplaymusicYesPlayMusic 可以播放多平台音乐, 也可以登录网易云音乐账号.
安装腾讯会议
yay -S wemeet腾讯会议现在有原生 Wayland 版本了, 但是在 niri 下无法屏幕共享, 在 KDE 和 Gnome 下是可以的, 据说在 Hyprland 也可以, 如果有需要可以切换其它桌面使用, 或者使用 OBS 转接的方式共享屏幕, 可以自行搜索.
安装 WPS
yay -S wps-office-cn wps-office-mui-zh-cn ttf-wps-fonts freetype2-wps libtiff5 ttf-ms-fontsfreetype2-wps可以防止部分中文字体过粗.libtiff5防止部分 PDF 无法打开或导出.ttf-ms-fonts是微软字体, 防止 Win 下编写的文档字体显示错误.cups是通用 Unix 打印系统, 有打印需求可以装.
WPS 在 Wayland 下不会遵循系统缩放, 可以通过配置环境变量 QT_SCALE_FACTOR=1.5 来让它强制缩放, 不过这样图标模糊, 有需要可以自行修改 WPS 启动文件.