一、基础环境的安装

最新版本的ArchLinux镜像已经默认集成了archinstall安装脚本,可快速完成ArchLinux基础环境的安装,详见官方文档

(一)硬盘分区

1. 创建引导分区和根分区

fdisk /dev/sda (进入第一个硬盘)

g (如果是全新硬盘,使用g创建新的gpt分区表)

n 回车 回车 +500M (创建新的分区作为引导分区,大小为500M)

t 1 (修改分区类型为EFI System)

n 回车 回车 +10G (创建新的分区作为根分区,大小为10G)

p (打印所有更改)

w (保存所有更改)

2. 格式化分区

mkfs.fat -F32 /dev/sda1 (格式化引导分区)

mkfs.ext4 /dev/sda2 (格式化根分区)

  • 挂载分区

mount /dev/sda2 /mnt (挂载根分区到airrootfs下的mnt目录)

mkdir /mnt/boot (在airrootfs下的mnt目录创建boot子目录)

mount /dev/sda2 /mnt/boot (挂载引导分区到airrootfs下的mnt/boot目录)

(注意!!!chroot之前,所有的操作均是在内存中进行,airrootfs挂载为系统根目录,chroot在后面有介绍)


(二)联网安装

1. 联网

wifi-menu (使用无线局域网)

dhcp (使用自动拨号)

(注意!使用手机开热点时,电脑可能不能正常解析DNS服务器,需要手动设置。)

vim /etc/resolv.conf

--------------------------------------------
nameserver 114.114.114.114)
--------------------------------------------

2. 选择镜像源

vim /etc/pacman.d/mirrolist (修改镜像源)

--------------------------------------------------
Server = http://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch (选择镜像源)
--------------------------------------------------

(大多数镜像源格式一致,只需要更改http与archlinux之间的内容即可)

3. 安装基本包

pacstrap /mnt base base-devel


(三)配置基础系统

1. 设置分区自动挂载(生成fstab文件)

genfstab -L /mnt >> /mnt/etc/fstab (自动生成fstab文件,如若按tab未正常补齐,说明前面安装错误)

cat /mnt/etc/fstab (查看fstab文件是否生成成功,若内容不正确,会导致下次无法启动系统!)

2. 更换根目录挂载点,系统操作权转移(Chroot)

arch-chroot /mnt (将根目录挂载点由由airrootfs变为/dev/sda2(即airrootfs下的mnt目录))

(注意!!!chroot之前,大部分操作是在内存中进行,chroot之后,一切操作均在硬盘上进行)

3. 趁现在有网,将必须的安装包下载下来

pacman -S vim dialog wpa_supplicant ntfs-3g networkmanager (安装vim和网络相关的软件)

pacman -S intel-ucode (安装intel相关驱动)

pacman -S os-prober grub efibootmgr(安装引导相关软件)

4. 设置Locale,主机名,Root密码

vim /etc/locale.gen (去掉相关注释)

--------------------------------------------
en_US.UTF-8
zh_CN.UTF-8
zh_HK.UTF-8
zh_TW.UTF-8
--------------------------------------------

locale-gen (使local生效)

vim /etc/locale.conf (编辑本地化文件)

--------------------------------------------
LANG=en_US.UTF-8 (设置默认本地本地化标准)
--------------------------------------------

echo Archlinux > /etc/hostname (设置主机名)

vim /etc/hosts (添加主机名对应信息,非必要)

passwd (设置root密码)

5. 新建用户并赋予其sudo权限

useradd -m -G wheel luanrz (创建用户luanrz)

passwd luanrz (修改luanrz密码)

pacman -S sudo (安装sudo)

vim /etc/sudoers (配置sudo)

6. 设置时间

timedatectl set-ntp true (更新系统时间)(在前面设置)

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (设置时区为上海)

hwclock --systohc --utc (设置时间标准为UTC)

7. 部署启动文件

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch (在引导分区安装grub)

vim /etc/lvm/lvm.conf

--------------------------------------------
use_lvmetad = 0 (大约在40%处,将1改为0)
--------------------------------------------

grub-mkconfig -o /boot/grub/grub.cfg (生成grub配置文件)

8. 创建交换文件(可选)

fallocate -l 4G /swapfile

chmod 600 /swapfile

mkswap /swapfile

swapon /swapfile

vim /etc/fstab

9. 重启系统

exit

reboot

至此,ArchLinux基础环境已经安装成功了!图形界面与声音系统的安装过程,请参考后续步骤。


(四)安装图形界面

1. 公共组件

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

2. GNOME

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

3. XFCE

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

(五)安装声音系统

1. 安装ALSA支持

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

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

2. 使用Pipewire声音服务

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

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

3. 使用声音管理前端应用

启动声音管理前端应用:

pacman -S pavucontrol
pavucontrol

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

pacman -S helvum easyeffects

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

pacman -S xfce4-pulseaudio-plugin

二、基础软件的安装与配置

(一)安装yay

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

(二)安装中文环境

1. 中文字体

# 谷歌出品的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>

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

2. ibus输入法

(1)安装ibus输入法

pacman -S ibus

(2)使用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

(3)使用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下。

3. fcitx输入法

(1)安装fcitx输入法

pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-lua
yay fcitx5-input-support

打开【Fcitx配置】-【输入法】,将【拼音】移动到左边区域(如果安装了fcitx5-input-support,默认已经配置了)

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

(2)配置主题

yay fcitx5-skin-fluentdark-git

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

(3)安装词库

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

打开【Fcitx配置】-【附加组件】-【输入法】-【拼音】-【配置】-【管理词库】-【配置】,在此处查询刚刚安装好的词库

自定义词库可拷贝至~/.local/share/fcitx5/pinyin/dictionaries/

(4)关闭单行模式

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

(5)关闭冲突快捷键

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

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

(6)支持GNOME

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

yay gnome-shell-extension-kimpanel

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

(7)支持Wayland:配置部分软件以原生Wayland启动,解决无法输入的问题

# 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

4. 输入法词库转换

(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

(2)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

(3)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

(三)界面美化

1. 主题样式

# 主题
pacman -S orchis-theme
# 图标
pacman -S papirus-icon-theme

其它可选主题:arc-gtk-themewhitesur-gtk-theme

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

2. 终端

安装字体:

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

3. 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文件。

4. 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

5. 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

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

6. 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

(四)绑定快捷键

1. 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 "['<Super>q']"

# 打字-切换至上个输入源
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 "['<Super>space']"

2. 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】

(五)其它

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