ArchLinux基础软件的安装与配置,参考自ArchLinux官方Wiki的建议阅读应用程序列表

一、AUR助手Yay

vim /etc/pacman.conf
------------------------------
[archlinuxcn]
SigLevel = Optional TrustAll
Server = http://repo.archlinuxcn.org/$arch
------------------------------
pacman -Syu yay

二、图形界面

(一)公共组件

# 安装显卡驱动
pacman -S mesa vulkan-intel
# 安装NetworkManager
pacman -S networkmanager
# 开机自动启动NetworkManager
systemctl enable NetworkManager
# 取消开机自动启动netctl(netctl和networkmanager互斥!)
systemctl disable netctl

(二)XFCE

# 安装xfce4桌面桌面环境
pacman -S lightdm xfce4
# 开机自动启动lightdm
systemctl enable lightdm
# 安装NetworkManager插件
pacman -S network-manager-applet

完整环境:xfce4,扩展应用:xfce4-goodies

(三)GNOME

# 安装gnome桌面桌面环境
pacman -S gdm gnome-shell gnome-control-center gnome-console
# 开机自动启动gdm
systemctl enable gdm

基础环境:gnome-shell,完整环境:gnome,扩展应用:gnome-extra

(四)KDE

# 安装kde桌面桌面环境
pacman -S sddm plasma-desktop konsole dolphin
# 开机自动启动sddm
systemctl enable sddm

基础环境:plasma-desktop,完整环境:plasma,扩展应用:kde-applications


三、声音系统

(一)ALSA支持

pacman -S alsa-utils alsa-firmware sof-firmware alsa-ucm-conf

启动alsamixer,在master、HeadPhone、Speaker项下输入M解除限制,随后通过键调整音量。

(二)Pipewire声音服务

除了使用alsamixer外,也可通过PulseAudioPipewire管理声音,以Pipewire为例:

# 安装pipewire
pacman -S pipewire wireplumber pipewire-audio pipewire-alsa pipewire-pulse 
# 启用pipewire服务
systemctl --user --now enable pipewire{,-pulse}.{socket,service}

(三)声音管理前端应用

启动声音管理前端应用:

pacman -S pavucontrol
pavucontrol

也可安装其它前端应用,如:

pacman -S helvum easyeffects

xfce桌面环境可以安装pulseaudio面板插件便捷控制音量:

pacman -S xfce4-pulseaudio-plugin

四、中文环境

(一)中文字体

# 谷歌出品的noto字体,大而全
pacman -S noto-fonts-cjk
# 文泉驿微米黑/正黑字体,小而精,只支持中文
pacman -S wqy-microhei wqy-zenhei
# JetBrains出品的编程友好的等宽字体
pacman -S ttf-jetbrains-mono

字体文件夹:/usr/share/fonts/(全局) ~/.local/share/fonts/(用户)

安装部分字体后(如:wps-office-fonts),系统字体优先级可能会乱,可通过以下配置修改字体优先级:(可选)

mkdir ~/.config/fontconfig
vim ~/.config/fontconfig/fonts.conf
------------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>

    <!-- 默认无衬线字体 -->
    <!-- Default sans-serif font -->
    <match target="pattern">
        <test qual="any" name="family">
            <string>sans-serif</string>
        </test>
        <edit name="family" mode="prepend" binding="same">        
            <string>Noto Sans CJK SC</string>
        </edit>
    </match>
    
    <!-- 默认衬线字体 -->
    <!-- Default serif fonts -->
    <match target="pattern">
        <test qual="any" name="family">
            <string>serif</string>
        </test>
        <edit name="family" mode="prepend" binding="same">
            <string>Noto Serif CJK SC</string>
        </edit>
    </match>

    <!-- 默认等宽字体 -->
    <!-- Default monospace fonts -->
    <match target="pattern">
        <test qual="any" name="family">
            <string>monospace</string>
        </test>
        <edit name="family" mode="prepend" binding="same">
            <string>JetBrains Mono</string>
        </edit>
    </match>

</fontconfig>

------------------------------------------------------------

(二)ibus输入法

  1. 安装ibus输入法
pacman -S ibus
  1. 使用ibus-rime输入源

安裝与配置ibus-rime

pacman -S ibus-rime

在GNOME【设置】-【键盘】-【添加输入源】,选择【中文(Rime)】

安装与配置rime-ice(雾凇拼音):

yay rime-ice-git
# 启用雾凇拼音
cat > ~/.config/ibus/rime/default.custom.yaml << EOF
patch:
  __include: rime_ice_suggestion:/
EOF

# 修改候选方向
sed -i 's/horizontal: false/horizontal: true/' ~/.config/ibus/rime/build/ibus_rime.yaml
  1. 使用ibus-libpinyin输入源(不建议)

ibus-libpinyin存在众多问题,如:在导入词库后存在内存占用过高等等,建议使用上面的ibus-rime

安裝libpinyin

pacman -S ibus-libpinyin

在GNOME【设置】-【键盘】-【添加输入源】,选择【中文(智能拼音)】。

下载与导入词库:

wget https://github.com/broly8/libpinyin-dict/raw/refs/heads/master/dict.txt

在GNOME【设置】-【键盘】-【中文(智能拼音)】-【…】-【首选项】-【用户数据】-【用户词典】-【导入】,选择下载的词库文件。导入的词条位于~/.cache/ibus/libpinyin下。

(三)fcitx输入法

  1. 安装fcitx输入法
pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-lua
  1. fcitx必选配置

(1)启用拼音输入法

在【Fcitx配置】-【输入法】中,添加【拼音】。

Fcitx配置(fcitx5-configtool)修改的是~/.config/fcitx5/下的文件。

(2)配置环境变量

sudo sh -c 'echo "XMODIFIERS=@im=fcitx" >> /etc/environment'

对于KDE,无需设置GTK_IM_MODULE、QT_IM_MODULE、SDL_IM_MODULE。对于GNOME等其它桌面环境,配置可能有所不同。详见Using Fcitx 5 on Wayland

(3)启动fcitx

  • XFCE/GNOME:由/etc/xdg/autostart/org.fcitx.Fcitx5.desktop自动启动
  • KDE:在【设置】-【键盘】-【虚拟键盘】中选中【Fcitx 5 Wayland 启动器】
  1. fcitx可选配置

(1)配置主题

yay fcitx5-skin-fluentdark-git

打开【Fcitx配置】-【附加组件】-【界面】-【经典用户界面】-【配置】-【主题】,选择上述安装的主题。

(2)安装词库

pacman -S fcitx5-pinyin-zhwiki
yay fcitx5-pinyin-sougou
yay fcitx5-pinyin-moegirl

打开【Fcitx配置】-【附加组件】-【输入法】-【拼音】-【配置】-【管理词库】-【配置】,在此处查询刚刚安装好的词库。自定义词库可拷贝至~/.local/share/fcitx5/pinyin/dictionaries/

(3)关闭单行模式

打开【Fcitx配置】-【全局选项】,取消勾选【在程序中显示预编辑文本】。

(4)关闭冲突快捷键

打开【Fcitx配置】-【附加组件】-【模块】-【Unicode】-【配置】,删除【Control+Shift+U

打开【Fcitx配置】-【附加组件】-【模块】-【简繁转换】-【配置】,删除【Control+Shift+F

  1. GNOME桌面环境支持

安装kimpanel插件以支持GNOME托盘:

yay gnome-shell-extension-kimpanel

在【扩展】应用中,启用【Input Method Panel】(可能需要重启系统才能看到此选项)。

配置部分Chrome系软件,以原生Wayland启动,解决GNOME下无法输入中文的问题:

# Chrome
echo "--ozone-platform-hint=auto" > ~/.config/chrome-flags.conf
# Chromium
echo "--ozone-platform-hint=auto" > ~/.config/chromium-flags.conf
# Edge
echo "--ozone-platform-hint=auto" > ~/.config/microsoft-edge-stable-flags.conf
# VSCode
echo "--ozone-platform-hint=auto --enable-wayland-ime --wayland-text-input-version=3" > ~/.config/code-flags.conf

GNOME下部分xwayland应用(如:钉钉、Typora)无法正常使用fcitx,暂时没找到解决方案,可考虑切换到ibus,并禁用fcitx自启:

cd /etc/xdg/autostart
sudo mv org.fcitx.Fcitx5.desktop org.fcitx.Fcitx5.desktop.bak

(四)输入法词库转换

  1. imewlconverter
# 安装imewlconverter
yay imewlconverter

# 格式转换:scel(搜狗) -> txt(ibus-libipin)
imewlconverter -i:scel ./*.scel -o:libpy ~/Downloads/sougou_imewlconverter.txt
# (可选)txt排序去重
cd ~/Downloads
LC_ALL=C sort -u sougou_imewlconverter.txt -o sougou_imewlconverter_sort.txt
  1. scel2org5
# 安装scel2org5
pacman -S fcitx5-chinese-addons

# 格式转换:scel(搜狗) -> txt
find . -name "*.scel" -exec scel2org5 {} -o {}.txt \;
cat *.txt > ~/Downloads/sougou_scel2org5.txt
rm *.txt

# (可选)txt排序去重
cd ~/Downloads
LC_ALL=C sort -u sougou_scel2org5.txt -o sougou_scel2org5_sort.txt
  1. libime_pinyindict
# 安装ibime_pinyindict
pacman -S libime

# 格式转换:txt -> dict(fcitx)
libime_pinyindict sougou.txt -d ~/.local/share/fcitx5/pinyin/dictionaries/sougou.dict

# 格式转换:dict(fcitx) -> txt (需要提前安装fcitx5-pinyin-zhwiki)
libime_pinyindict -d /usr/share/fcitx5/pinyin/dictionaries/zhwiki.dict ~/Downloads/zhwiki.txt

五、界面美化

(一)主题样式

# 主题
pacman -S orchis-theme
# 图标
pacman -S papirus-icon-theme
  • 其它可选主题:arc-gtk-themewhitesur-gtk-theme

  • 其它可选图标:numix-icon-themenumix-circle-icon-theme

(二) 终端

安装字体:

yay ttf-meslo-nerd-font-powerlevel10k

修改终端字体:

  • xfce-terminal:【首选项】-【外观】- 选择MesloLGS NF Regular

  • vscode:【设置】-【功能】-【终端】- "terminal.integrated.fontFamily": "'MesloLGS NF'"

  • idea:【Editor】-【Color Scheme】-【Console Font】- 选择MesloLGS NF

  • 其它终端软件的字体配置类似

下载zsh主题powerlevel10k:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

配置zsh主题powerlevel10k:

vim ~/.zshrc
# 删除原来的主题,修改为powerlevel10k主题
ZSH_THEME="powerlevel10k/powerlevel10k"

退出重进终端或执行source ~/.zshrc,随后,在交互界面根据指引配置powerlevel10k。后续希望重新配置,可执行:p10k configure

(三)GRUB

pacman -S grub-theme-vimix
sudo vim /etc/default/grub
# 设置GRUB界面等待时间(设置为0即可取消延迟启动GRUB)
GRUB_TIMEOUT=3
# 设置主题路径
GRUB_THEME="/usr/share/grub/themes/Vimix/theme.txt"
# 识别Windows启动路径
GRUB_DISABLE_OS_PROBER=false
# 备份GRUB配置文件
sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak
# 重新生成GRUB配置文件
sudo grub-mkconfig -o /boot/grub/grub.cfg

grub-mkconfig是一个危险操作!!!执行grub-mkconfig前建议备份grub.cfg文件,使GRUB出现故障时也能及时回滚。例如:grub 2.04升级到2.12时,引入了fwsetup命令,如果在执行grub-mkconfig之前没有执行grub-install,覆盖原有grub.cfg文件后,将会导致系统无法启动(详见官方说明)。这个时候有两种解决方案:1. 进入live系统,将之前的grub.cfg备份文件还原;2. 如果没有备份grub.cfg,也可以在GRUB命令行中,手动执行linuxinitrdboot等操作进入系统,然后重新生成grub.cfg文件。

(四)LightDM

1. lightdm-gtk-greeter

安装LightDM配置界面程序:

pacman -S lightdm-gtk-greeter-settings

执行lightdm-gtk-greeter-settings-pkexec进入配置界面。或直接修改配置文件:

sudo vim /etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
theme-name = WhiteSur-Dark
icon-theme-name = Papirus-Dark
indicators = ~spacer;~clock;~spacer;~session;~power
clock-format = %Y-%m-%e(%a) %H:%M:%S

2. lightdm-slick-greeter

安装lightdm-slick-greeter与其配置界面程序:

pacman -S lightdm-slick-greeter
yay lightdm-settings

执行sudo lightdm-settings进入配置界面。或直接修改配置文件:

sudo vim /etc/lightdm/slick-greeter.conf
[Greeter]
content-align=center
background=/usr/share/pixmaps/desktop.jpg
theme-name=Orchis-Dark
icon-theme-name=Papirus-Dark

随后,修改默认greeter:

sudo vim /etc/lightdm/lightdm.conf
[Seat:*]
greeter-session=lightdm-slick-greeter

(五)XFCE

1. Dock栏

pacman -S plank

修复底部出现阴影问题:点击【设置】-【窗口管理器微调】-【合成器】,取消【在dock窗口下显示阴影】

2. 全局菜单

yay appmenu-glib-translator-git --asdeps
yay vala-panel-git --asdeps
yay vala-panel-appmenu-xfce-git
yay vala-panel-appmenu-registrar-git --asdeps
yay appmenu-gtk-module-git --asdeps
pacman -S xfce4-whiskermenu-plugin

安装完成后,在【面板首选项】中添加【Whisker菜单】和【全局菜单插件】项目,随后重启计算机。

JetBrains IDEA 关闭全局菜单的方式: Ctrl + Shift + A -> 输入Experimental Features -> 取消勾选linux.native.menu

VSCode 关闭全局菜单的方式:将window.titleBarStyle配置项的native修改为custom

3. 锁屏

安装i3lock

yay i3lock-fancy-rapid-git

让xflock4调用i3lock

xfconf-query -c xfce4-session -p /general/LockCommand -s "i3lock-fancy-rapid 5 3" --create -t string

(六)GNOME

安装GNOME扩展:

pacman -S gnome-shell-extensions gnome-shell-extension-dash-to-panel gnome-menus
yay gnome-shell-extension-blur-my-shell

在【扩展】应用中,打开扩展按钮,并启用Blur my ShellDash to PanelStatus IconsUser Themes等扩展。

安装GNOME优化:

pacman -S gnome-tweaks

在【优化】应用中,调整字体、外观等选项。

(七)KDE

1. 主题

在【设置】-【颜色和主题】中,修改以下配置:

  • 在【全局主题】中选中一个主题,如:【Breeze 微风深色】。也可在【获取新全局主题】中搜索并下载主题,如:Orchis

  • 在【图标】中选择【Papirus】(需要安装papirus-icon-theme

2. 面板

鼠标右键面板,选中【显示面板配置】,随后,修改以下配置:

  • 【悬浮设置】设置为【仅小程序】
  • 【面板高度】设置为【40】
  • 【显示/隐藏】设置为【避开窗口】
  • 选中右上角【添加】-【间隔】两次, 并将之分别挪动到【图标任务管理器】的左右,以实现面板任务栏居中。

3. 壁纸

  • 在【设置】-【壁纸】中,更换桌面壁纸
  • 在【设置】-【锁屏】-【配置外观】中,更换锁屏壁纸

4. 窗口管理

在【设置】-【窗口管理】-【任务切换器】中,将桌面特效修改为【缩略图网格】。


六、绑定快捷键

(一)XFCE

1. 终端

进入【XFCE设置】-【XFCE终端设置】-【快捷键】界面:

  • 【打开终端】设置为【Super + Enter】

2. 窗口

进入【XFCE设置】-【窗口管理器】-【键盘】界面:

  • 【关闭窗口】设置为【Alt + Q】

  • 【切换同一应用程序的窗口】设置为【Alt + `】

3. 应用

进入【XFCE设置】-【键盘】-【应用程序快捷键】界面:

  • 【xfce4-appfinder】设置为【Alt + Space】
  • 【exo-open –launch TerminalEmulator】设置为【Alt + Enter】
  • 【xflock4】 设置为 【Super + L】

(二)GNOME

在【设置】-【键盘】-【键盘快捷键】中,修改常用系统快捷键,或新增自定义快捷键:

名称命令快捷键
打开终端kgxSuper + Enter
交互式截图/usr/local/bin/flameshot.shShfit + Super + S
cat > ~/flameshot.sh << EOF
flameshot gui
EOF
chmod +x ~/flameshot.sh
sudo mv ~/flameshot.sh /usr/local/bin

快捷键配置一般存于dconf配置文件中,可以直接修改dconf来调整对应快捷键:

# 导航-将窗口右移一个工作区
dconf write /org/gnome/desktop/wm/keybindings/move-to-workspace-right "['<Shift><Control><Alt>Right']"
# 导航-将窗口左移一个工作区
dconf write /org/gnome/desktop/wm/keybindings/move-to-workspace-left "['<Shift><Control><Alt>Left']"
# 导航-切换到右侧工作区
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-right "['<Shift><Alt>Right']"
# 导航-切换到左侧工作区
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-left "['<Shift><Alt>Left']"

# 窗口-关闭窗口
dconf write /org/gnome/desktop/wm/keybindings/close "['<Alt>q']"
# 窗口-激活窗口菜单(禁用,与下述“系统-显示全部应用”冲突)
dconf write /org/gnome/desktop/wm/keybindings/activate-window-menu "@as []"
 
# 打字-切换至上个输入源
dconf write /org/gnome/desktop/wm/keybindings/switch-input-source-backward "['<Shift><Control>space']"
# 打字-切换至下个输入源
dconf write /org/gnome/desktop/wm/keybindings/switch-input-source "['<Control>space']"

# 系统-显示全部应用
dconf write /org/gnome/shell/keybindings/toggle-application-view "['<Alt>space']"

(三)KDE

在【设置】-【键盘】-【快捷键】中,修改常用系统快捷键,或新增自定义快捷键:

名称快捷键
窗口管理-关闭窗口Alt + Q
Konsole终端-启动Meta + 回车

七、其它

1. 支持蓝牙连接

# 安装蓝牙服务
pacman -S bluez bluez-utils blueman
# 启动蓝牙服务
sudo systemctl enable --now bluetooth.service
# 启动蓝牙前端应用
blueman-manager

2. 支持手机数据传输

# MTP支持
pacman -S mtpfs
# GNOME Files文件管理器集成
pacman -S gvfs-mtp 
# 让其他用户也可以访问挂载点上的文件
vim /etc/fuse.conf
------------------------------
mtpfs -o allow_other ~/mnt
------------------------------

3. 设置LightDM免密登录

sudo vim /etc/lightdm/lightdm.conf
------------------------------
[Seat:*]
autologin-user=luanrz
------------------------------

默认启动~/.dmrc中配置的会话(如xfce),如果需要在自定义自动登录的启动会话,可指定autologin-session项

将当前用户加入autologin组:

sudo groupadd autologin
sudo gpasswd -a luanrz autologin

4. 关闭蜂鸣器beep

# 临时关闭
sudo rmmod pcspkr
# 永久关闭
sudo vim /etc/modprobe.d/nobeep.conf
--------------------
blacklist pcspkr
--------------------

5. dconf配置备份与还原

cd ~/.config/dconf

# 备份
dconf dump / > user-dump
mv user user.bak

# 重置
dconf reset -f /

# 还原
dconf load / < ./user-dump

6. GDM配置PAM支持登录时自动解锁Kwallet

为了避免每次使用Chrome等软件时手动输入Kwallet密码,可使用kwallet-pam在登录时自动解锁Kwallet。kwallet-pamplasma包组中内置,如果没有安装,需要单独安装一下。同时,选择的KWallet密码必须与当前用户密码相同。

KDE的推荐显示管理器SDDM已默认支持PAM,如果使用GDM,需手动执行以下命令启用PAM:

sudo tee -a /etc/pam.d/gdm-password << EOF

auth       optional                    pam_kwallet5.so
session    optional                    pam_kwallet5.so auto_start

EOF

详见KDE钱包