Arch Linux+KDE安装流程和踩坑记录

由于对Ubuntu的Snap Store存在不满,并且自己也想整一个个性化,最新内核,并且能做到所有安装的功能都用在刀刃上的Linux,于是这段时间对Arch Linux进行了一些研究。当然,学到了很多。

这篇文章也算是根据自己的踩坑记录进行编写。

一些提醒
如果您是刚刚接触Linux,且不想过于折腾的弄一套Linux环境以进行学习或使用,建议左转CentOS (Rocky Linux / AlmaLinux) / Debian(Ubuntu) 等发行版。

如果您愿意折腾,那确实可以试试Arch Linux,虽然会非常折腾,但是折腾过后你可以学到很多Linux相关机制(虽然但是还是不推荐刚刚接触Linux的新人直接对着Arch Linux开搞)。

需要注意的是,本文已经假定你对大部分Linux机制有了解,不会对这部分机制进行深入探讨。

以及,Arch Linux可以当作服务器系统,但是滚动更新带来的稳定性和安全性问题需要你自行斟酌。在将其作为你的生产环境前,建议了解一下xz utils后门事件,挺吓人的。

另外需要注意的是,不要把这篇文章当作教条,请结合官方的安装教程和其他人的安装教程,总结出你(读者)所需要的操作,并测试所执行操作是否符合预期效果。

尽管我会按照未来的实际情况对该文章进行修正,但是我也很难保证任何时候这篇文章里所有的东西都是最新的。

UEFI+GPT还是Legacy BIOS+MBR?

这里建议UEFI+GPT,因为这是目前现代硬件更加推荐的配置。

在管理硬盘启动项这方面,Legacy BIOS+MBR的启动项管理方式个人觉得非常抽象,但是UEFI+GPT管理启动项理解起来会相对简单。

MBR分区表限制4个主分区(但是扩展分区中可以有无数分区),GPT则限制128个分区(无主分区和扩展分区的区别)。针对大容量硬盘的支持,则GPT更胜一筹。

另外,现在出厂预装Windows的笔记本,均会使用UEFI+GPT,此时双系统方案也就建议使用UEFI+GPT了。

总结: 如果是现代硬件和虚拟机程序,如果支持UEFI+GPT则无脑用UEFI+GPT。本文也只讨论UEFI+GPT这种情况。

下载镜像

访问这里,即可获取本月的Arch Linux启动盘ISO文件:https://archlinux.org/download/

该ISO文件每月第一天会更新一次。为了保证启动盘启动的Arch Linux不会出一些奇怪的问题(比如keyring问题),在安装好Arch Linux系统之后也是建议定期更新启动盘ISO文件。

同时,对于一些疑难杂症,ArchWiki也是一个好东西。当然,ArchWiki中也有完善的安装指引文章,对于Arch Linux新手,如果能看懂则会有很大帮助。

启动系统,联网

启动系统

对于虚拟机,将ISO载入到虚拟机即可。

对于实体机,则需要将其写入到U盘中。你也可以使用Ventoy,这样处理和更新Arch Linux ISO会更加方便。

进入GRUB界面时,默认选择第一项。

当你进入这个界面时,就代表Arch Linux ISO已经启动完成,可以开始操作了。

联网

如果你的电脑或笔记本已经接入了有线网络,则可以直接开始下一步操作。

对于WiFi用户,需要通过iwctl命令手动联网。

请注意,如果使用实体机安装,尽量不要使用需要浏览器认证才能使用的网络,比如部分校园网。因为此时很难使用浏览器进行验证操作。

如果你想远程SSH来配置系统

如果你有两台电脑,或者虚拟机安装Arch Linux,可以考虑通过SSH的方式来进行接下来的安装。

Arch Linux ISO启动的系统支持使用远程SSH进行系统配置。如果确实要这么做,请确保Arch Linux ISO启动的系统已经正确联网,同时(如果你是实体机安装)建议两台电脑位于同一网络下,且两台电脑可通过这个网络互相连接(有些校园网共用WiFi可能存在设备隔离,即使两台设备在同一WiFi下,也无法互相连接)。

# 设置root用户的密码,不设置将无法使用SSH连接
passwd
# 获取当前系统的IP地址
ip addr

ip addr命令的输出结果中找到当前系统的IP地址,然后使用另外一台电脑的SSH连接即可(使用root账户)。

分区,格式化,挂载

这里推荐使用cfdisk进行分区操作。

如果你有使用btrfs文件系统的打算,则建议同时阅读这篇文章:Arch Linux + btrfs 配置简明指南

# 请将/dev/nvme0n1更换为你自己的硬盘,比如/dev/sda。
# 由于此处我用的是VMware虚拟机模拟出了NVMe,此处填写NVMe硬盘位置。
cfdisk /dev/nvme0n1

如果是第一次操作硬盘,会出现这个界面。由于我们正在讨论UEFI+GPT方案,所以此步选择gpt。

Legacy BIOS+MBR方案用户需要选择dos选项。

此时将正式进入cfdisk的分区界面。这种可视化UI界面应该很好上手。

接下来,是一些常见的分区方案:

对于大部分虚拟机:

分区编号 分区大小 文件系统 挂载点 备注
1 100MB FAT32 /efi EFI分区
2 所有剩余空间 ext4 / Linux根目录分区

具有大容量硬盘(此处定义为容量512+GB的磁盘)时:

分区编号 分区大小 文件系统 挂载点 备注
1 100MB FAT32 /efi EFI分区,准备双系统的请注意下方的注意事项
2 推荐150+GB ext4 / Linux根目录分区,此分区大小合理分配
3 所有剩余空间 ext4 /home 用户目录分区

需要注意一点:如果你准备安装Windows+Arch Linux双系统,此时Windows已经帮你建立好EFI分区了,此时请勿再新建新的EFI分区,直接使用Windows的EFI分区即可。这种情况下请仔细操作EFI分区,错误的操作导致Windows EFI文件损坏,将导致Windows无法启动。

在新建EFI分区时,需要选择下方的Type选项,修改分区类型为EFI System

这是个人在虚拟机中的选择的分区方案。

选择下方的Write选项,保存分区表,即可退出cfdisk。

接下来,我们需要格式化并将挂载分区。

# 需要格式化的硬盘千万不要输错!下面的硬盘只是示例。
mkfs.fat -F 32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2
mkfs.ext4 /dev/nvme0n1p3

# 接下来挂载分区,通常推荐临时将硬盘挂载到/mnt目录下。
# 一定要按照顺序挂载,通常的挂载顺序为顶级目录,然后再挂载次级目录。
# 比如一个合理的挂载顺序是/mnt -> /mnt/boot -> /mnt/boot/efi
# 不按照顺序挂载的结果就是挂载顺序错误的部分目录无法访问,后续生成的fstab数据也会有问题。
# 如果出现这种情况,一定要umount卸载挂载点,再重新进行挂载。
mount --mkdir /dev/nvme0n1p3 /mnt
mount --mkdir /dev/nvme0n1p2 /mnt/boot
mount --mkdir /dev/nvme0n1p1 /mnt/efi

安装系统和初期配置

配置镜像

更新mirrorlist以获取最佳下载速度。

如果你不在中国大陆,记得修改下面命令的国家代码来获取你所在国家的mirrorlist。

# 通过获取ArchLinux官方mirrorlist来更新镜像列表
# 若使用本方法,记得编辑/etc/pacman.d/mirrorlist启用相应的镜像站
curl -o /etc/pacman.d/mirrorlist https://archlinux.org/mirrorlist/?country=CN&protocol=https
# 或者,通过reflector直接获取最新的mirrorlist
reflector -c China -l 10 --sort rate --save /etc/pacman.d/mirrorlist

接下来可以修改/etc/pacman.conf来优化下载速度。

具体操作为,取消ParallelDownloads这个设置的注释。如果你想,还可以修改这个设置后面的数值(注意必须合理),来增加同时下载的软件包数量。

同时你还可以取消Color选项的设置,让pacman启用彩色输出。

安装Arch Linux

上述操作做完后,我们就可以正式开始安装Arch Linux了。

# 每次用ArchLinux ISO执行新系统安装前,建议更新当前系统的Keyring
# 每次用ISO启动,只需要执行一次
# 之前就出现过Keyring未更新导致OpenSSL包死活装不上的事情
pacman -Sy archlinux-keyring
# 通过pacstrap在/mnt目录下初始化keyring并安装软件包
# 注意,执行这段命令的同时,会将你当前启动的ArchLinux的/etc/pacman.d/mirrorlist
# 也复制到/mnt目录下
pacstrap -K /mnt base [packages]

packages参数换成你需要的包。对于初次接触Arch Linux的读者,稍候会给出一些选择软件包的提示。

如果后面发现少装了什么包,可以在后面arch-chroot后使用pacman,或者使用pacman -r /mnt -S packages进行安装。

# 这段安装代码只是示例,请根据自己的实际需要修改。
# 此处安装linux-firmware和intel-ucode,因为我们假定使用Intel CPU实体机安装。
# 但是编写本文时的实际环境为VMware Workstation虚拟机,因此同时安装open-vm-tools。
pacstrap -K /mnt base linux base-devel linux-firmware intel-ucode pipewire-audio pipewire-alsa pipewire-pulse pipewire-jack \
 wireplumber alsa-utils man-db man-pages texinfo networkmanager vi vim git zsh open-vm-tools bluez bluez-utils reflector

你也可以把后面步骤的需要的软件包在这个阶段就安装上去进行,只需要把这些包加到这一步的packages参数中。

安装系统的过程可能取决于你电脑的速度和网速。

初始安装常用软件包分类

对于第一次接触Arch Linux的用户,选择需要的包可能是一件难题。这里将给出一些提示。

对于所有的Arch Linux都应该安装的包:base(Arch Linux核心包,必须安装),base-devel(这个包可能会在使用AUR软件源的时候用上),sudo(如果没安装base-devel则该包必须安装,否则配置好后无法使用root权限执行命令)

选择一个Linux内核:正常情况下从linuxlinux-lts这两个常用内核选一个。其他内核可以去这里查看。

一些驱动相关的软件包:linux-firmware(实体机必须安装,否则等下进系统将会出现各种缺驱动的问题,虚拟机不用),alsa-utils(推荐安装,管理声卡相关工具)

声音相关的软件包则有两组:PipeWire (正常情况下推荐这个),PulseAudio,二选一。使用桌面环境的用户建议安装,否则声音相关的功能可能出问题。

PipeWire:pipewire-audiopipewire-alsapipewire-pulsepipewire-jackwireplumber

PulseAudio:pulseaudiopulseaudio-alsapulseaudio-bluetooth(使用蓝牙则需要这个包)

网络管理:networkmanager(若使用桌面环境则建议直接安装这个,服务器的Arch Linux可以考虑systemd-networkdsystemd-resolved)

帮助文档相关包: man-dbman-pagestexinfo

常用的一些命令行软件,以及Shell(根据自己的需要进行安装):vivimnanogitzsh

蓝牙支持:bluezbluez-utils

SSH协议:openssh

NTFS读写支持:ntfs-3g

VMware Tools (针对VMware虚拟机): open-vm-tools(安装后需要启用vmtoolsdvmware-vmblock-fuse服务)

最新Arch Linux镜像站地址获取实用程序:reflector

微码修正文件(根据你的CPU型号选择,虚拟机不需要安装):intel-ucode(Intel CPU),amd-ucode(AMD CPU)

初期配置

当上面的命令执行完成后,一个全新的Arch Linux系统便装好了(但是还没配置,还不能直接拿来用)。接下来开始配置这个新安装的Arch Linux。

# 首先使用genfstab命令生成fstab数据,并追加到新安装的ArchLinux的/etc/fstab文件中
# 对于使用了Legacy BIOS+MBR方案的读者,请去除下面的-U参数
genfstab -U /mnt >> /mnt/etc/fstab
# 将根目录切换到/mnt以便进行后续配置
arch-chroot /mnt
# 此时已经切换到新安装的ArchLinux目录下

# 修改计算机名称
echo [你想要的计算机名称] >> /etc/hostname

# 修改时区,请根据自己的需要修改时区
# 修改好后可以输入date来确认时区修改
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 生成本地化文件
vim /etc/locale.gen
# 取消该文件的注释en_US.UTF8 (必须)
# 以及你想要的语言,比如zh_CN.UTF8
# 如果稍后需要将界面调成中文,必须启用zh_CN.UTF8
# 一定要保证会生成en_US.UTF8的翻译,否则初步配置系统期间可能出现字体显示错误问题。
# 保存后执行下面的命令
locale-gen

# 启动必要的服务
systemctl enable NetworkManager  # 不启用则无法联网
systemctl enable bluetooth # 如果你安装了蓝牙支持
# 如果你安装了open-vm-tools,启用下面两个服务
systemctl enable vmtoolsd vmware-vmblock-fuse

# 新安装的ArchLinux的/etc/pacman.conf为默认设置
# 如果需要,你可以按照之前的方法修改/etc/pacman.conf来优化pacman的下载和显示
# 此处编辑过程略
vim /etc/pacman.conf

# 接下来处理以下sudo,否则之后sudo无法使用
# 第一种方案是直接在/etc/sudoers.d下创建相关的文件,免去修改/etc/sudoers的一些麻烦之处
echo "%wheel ALL=(ALL:ALL) ALL" > /etc/sudoers.d/wheel
# 第二种方案,编辑/etc/sudoers,反正不是很推荐使用这个方案
# /etc/sudoers默认为只读权限,需要用chmod修改权限后编辑
chmod +w /etc/sudoers
vim /etc/sudoers
# 取消这行的注释:# %wheel ALL=(ALL:ALL) ALL
# 然后保存,恢复/etc/sudoers的权限
chmod -w /etc/sudoers

接下来,需要创建一个自己的账户,安装结束之后,对于桌面平台,我们的大部分时间都会使用自己的账户登录系统,而不是root。

# 把myuser换成你喜欢的用户名
useradd -m -G wheel myuser
# 修改密码,否则等下无法登录
passwd myuser
# 可选: 为root用户设置密码
passwd

如果需要,可以同时生成一个硬盘swapfile(交换文件)。

# 可以把4G换成任意大小,比如2048M
fallocate -l 4G /swapfile

# 如果fallocate命令不能使用,才应该考虑使用下面的dd命令创建
# 这条命令最后生成的文件大小为bs*count,请合理修改bs和count参数,这里是4GB
dd if=/dev/zero of=/swapfile bs=1024M count=4

# 修改权限并创建swap文件数据
chmod 0600 /swapfile
mkswap /swapfile

# 写入到fstab中,实现开机挂载
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab

# 下面的命令在当前的系统中启用swapfile,如果内存足够,可以不执行
swapon /swapfile

GRUB安装

首先需要安装GRUB相关的包。

如果你不需要支持双系统,则不需要安装os-prober

# 安装GRUB相关的包
# 如果不需要双系统,可以不安装os-prober
pacman -S grub efibootmgr os-prober

接下来,将GRUB相关的EFI启动项安装到你的电脑中,并生成GRUB配置文件。

# bootloader-id可以取一个你喜欢的,也可以不加这个参数,使用默认启动项名称(arch)
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=archlinux
# 生成配置
grub-mkconfig -o /boot/grub/grub.cfg

此时,新安装的Arch Linux已经可以正常引导。在进入系统前,需要进行最后一步,安装桌面环境。

KDE安装和配置

现在来看看安装KDE需要安装哪些包。

KDE Plasma桌面环境:plasma-meta/plasma(二选一,推荐plasma-meta)

KDE Plasma Wayland 支持现已默认安装,对于NVIDIA显卡用户,若需要使用Wayland,需安装egl-wayland

KDE附加软件:kde-applications/kde-applications-meta(二选一,安装所有KDE附加软件)

如果你想更细的安装KDE附加软件组,可以看看kde-applications-meta中的相关依赖。如果确实要这么做,推荐必装下面列出的软件包,可保证KDE基础功能:kde-accessibility-metakde-graphics-metakde-multimedia-metakde-network-metakde-sdk-metakde-system-metakde-utilities-meta

Xorg/X11 相关软件包(可选):xorg

KDE打印机功能:cups(需要启用cups服务才能正常使用)

对于VMware虚拟机:gtkmm3(否则宿主机~虚拟机间复制粘贴失效)

在安装所有KDE附加软件或kde-pim-meta时,其中的Akonadi组件依赖MySQL数据库,默认会给你安装MariaDB。如果你需要使用其他的MySQL包(比如MySQL 8.0 Community Edition),建议在安装所有KDE软件或kde-pim-meta时,同时安装你想要的MySQL包。当然,你也可以选择细化安装KDE附加软件,不安装kde-pim-meta包。
或者,在安装Akonadi相关包(或安装所有KDE附加软件)时,添加参数--assume-installed mariadb。比如:pacman -S kde-pim-meta --assume-installed mariadb

你可能还想要一些中文字体。这里推荐使用Noto Fonts:noto-fonts(基础字体集),noto-fonts-cjk(中日韩字体集,主要是需要这个包),noto-fonts-emoji(表情字体)

# KDE软件全部安装的示例命令,同时安装中文字体
pacman -S plasma-meta kde-applications xorg cups noto-fonts noto-fonts-cjk noto-fonts-emoji gtkmm3
# 细化安装KDE附加软件的示例命令,同时安装中文字体
pacman -S plasma-meta kde-accessibility-meta kde-graphics-meta kde-multimedia-meta kde-network-meta kde-sdk-meta \
 kde-system-meta kde-utilities-meta xorg cups noto-fonts noto-fonts-cjk noto-fonts-emoji gtkmm3

完成上述包的安装后,启用sddm显示管理器即可。

systemctl enable sddm
# 如果上面安装了cups服务,记得启用
systemctl enable cups

如果怕等下没浏览器用,可以在进行下一步之前,再安装个Firefox。

pacman -S firefox

安装后配置

提醒
编写本文时KDE最新版本是5.x,而目前Arch Linux的KDE版本已经更新到6.x,因此下述任何有关KDE界面的操作演示图片和KDE 6.x实际操作可能会有出入。

博主在之后有空时会找时间更新一下。

首次启动

此时,新安装的Arch Linux已经进入了基本可用并且可以引导启动的状态。退出chroot模式,重启系统。

# 退出chroot
exit
# 此时已经退出arch-chroot,重启系统。
reboot

当先后出现下面的界面时就代表前面的配置成功。

sddm登录界面。

登录后,即可进入KDE Plasma桌面环境。

调整语言设置

如果你喜欢用英文环境,这步可以不看。

为防止TTY乱码,修改/etc/locale.conf文件,先将全局语言设置为en_US。

LANG=en_US.UTF-8

接下来针对当前用户设置语言和格式。

如果你使用的是X11,打开(或新建)~/.xprofile并输入下面的内容。如果你想,可以把这些内容同时写入到~/.xinitrc.

如果你使用的是Wayland,则需要将下述内容写入至~/.config/environment.d/envvars.conf中(如目录不存在则手动新建此目录)。

export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_ADDRESS=zh_CN.UTF-8
export LC_CTYPE=zh_CN.UTF-8
export LC_IDENTIFICATION=zh_CN.UTF-8
export LC_MEASUREMENT=zh_CN.UTF-8
export LC_MESSAGES=zh_CN.UTF-8
export LC_MONETARY=zh_CN.UTF-8
export LC_NAME=zh_CN.UTF-8
export LC_NUMERIC=zh_CN.UTF-8
export LC_PAPER=zh_CN.UTF-8
export LC_TELEPHONE=zh_CN.UTF-8
export LC_TIME=zh_CN.UTF-8
export LC_COLLATE=zh_CN.UTF-8

打开设置,选择Regional Settings>Regions & Languages>Language,将简体中文加到语言选项中,并将其优先级调整到最高。

记得点Apply。

接着我们设置一下sddm登录界面的语言。

输入下面命令,进入systemd服务编辑界面。不推荐直接修改sddm的相关服务文件,否则sddm更新时相关更改会被覆盖。

sudo systemctl edit sddm

追加下面的内容,然后保存文件。注意编辑的位置,不要编辑到### Lines below this comment will be discarded这行下面去。

[Service]
Environment=LANG=zh_CN.UTF8

如果日后需要还原相关设置,可以输入sudo systemctl revert sddm

修改结束后,重启系统,此时系统就会变为全中文环境。


中文字体,以及表情字体优化

如果你想直接使用英文环境,那么你可能会发现,中文字体显示的很奇怪(根据ArchWiki,实际上这是Noto Fonts的日文字体)。

此时需要调整fontconfig的相关文件,使Noto Fonts的中文字体优先显示。

另外,我们同时优化一下Noto Fonts Emoji的显示,不做优化的情况下,Konsole中的相关emoji可能会显示不正常(我说的就是你minikube)。

# 将下边的fontconfig文件内容扔到你home目录的~/.config/fontconfig/conf.d目录里
# 如果该目录不存在则需要手动新建
vim ~/.config/fontconfig/conf.d/64-language-selector-prefer.conf
# 可选:你也可以将这个fontconfig文件放到系统全局配置的位置
# 需要使用root权限进行创建/编辑,因此,创建/编辑下面的文件时需要使用sudo
sudo vim /etc/fonts/conf.d/64-language-selector-prefer.conf
# 编辑完成后刷新字体缓存
fc-cache -fv

做完上述步骤建议注销并重新登录一次。

64-language-selector-prefer.conf的内容:

<?xml version="1.0"?>
<fontconfig>
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Noto Sans</family>
      <family>Noto Sans CJK SC</family>
      <family>Noto Sans CJK TC</family>
      <family>Noto Sans CJK JP</family>
      <family>Noto Sans CJK KR</family>
      <family>Noto Color Emoji</family>
      <family>Noto Emoji</family>
    </prefer>
  </alias>
  <alias>
    <family>serif</family>
    <prefer>
      <family>Noto Serif</family>
      <family>Noto Serif CJK SC</family>
      <family>Noto Serif CJK TC</family>
      <family>Noto Serif CJK JP</family>
      <family>Noto Serif CJK KR</family>
      <family>Noto Color Emoji</family>
      <family>Noto Emoji</family>
    </prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>Hack</family>
      <family>Noto Sans Mono CJK SC</family>
      <family>Noto Sans Mono CJK TC</family>
      <family>Noto Sans Mono CJK JP</family>
      <family>Noto Sans Mono CJK KR</family>
      <family>Noto Color Emoji</family>
      <family>Noto Emoji</family>
    </prefer>
  </alias>
</fontconfig>

配置输入法

在KDE中推荐使用fcitx5输入法。

sudo pacman -S fcitx5 fcitx5-configtool fcitx5-chinese-addons fcitx5-gtk

将下面的内容追加到/etc/environment中:

INPUT_METHOD=fcitx5
GTK_IM_MODULE=fcitx5
QT_IM_MODULE=fcitx5
XMODIFIERS="@im=fcitx5"
SDL_IM_MODULE=fcitx

注销并重新登录,此时fcitx即可使用。

设置>语言和区域设置>输入法中添加中文输入法即可。

如果你想玩Rime输入法,也不是不行:

pacman -S fcitx5-rime rime-pinyin-zhwiki

Rime的配置非常复杂。如果有可能,我也可以开个坑来介绍Rime输入法。

启用HiDPI (可选)

进入设置>显卡与显示器>显示器配置,修改全局缩放率选项。

如果你觉得sddm的登录界面字体太小,可以同时优化一下sddm的HiDPI设置。

/etc/sddm.conf中追加下面的内容。其中,QT_FONT_DPI的值为你的DPI缩放数值(计算方式是96乘以你的缩放比例,比如125%缩放则为120)。QT_SCREEN_SCALE_FACTORS的值为你需要的DPI缩放比例(比如,若为125%就直接填1.25)。

[General]
GreeterEnvironment=QT_SCREEN_SCALE_FACTORS=1.25,QT_FONT_DPI=120

修改完HiDPI设置之后可能需要重新启动系统。

优化sddm登录界面

你可能觉得现在的sddm登录界面过于简陋,想修改一下。

打开设置>开机与关机>登录屏幕 (SDDM),选择一款你喜欢的登录界面,并且记得应用设置。

同时你可能还发现sddm登录界面不会自动将数字小键盘打开。可以向/etc/sddm.conf中追加下面的内容,来让sddm登录界面默认打开小键盘。

以及,你可能想调整一下sddm的登录鼠标指针。

[General]
Numlock=on

# 如果你想修改sddm登录界面的鼠标指针,加入下面的设置
[Theme]
CursorTheme=breeze_cursors

重启系统即可。

AUR和yay/paru

AUR (Arch Linux User Repository),是Arch Linux官方源之外的,一个很有意思的软件来源。AUR中的包由用户提供,在官方库找不到的软件包,大部分情况下你总能在AUR中找到相应的软件包,比如Visual Studio Code,Microsft Edge,Google Chrome等等。没有找到自己想要的软件包怎么办?你可以尝试自己编写相关的软件包构建文件,上传到AUR,分享给其他用户。

所有的AUR软件包均以软件包构建脚本(PKGBUILD)的形式提供,需要你将相关的软件包构建文件和PKGBUILD下载到你的Arch Linux中,手动构建,并安装。听起来有点麻烦,此时你可能就需要AUR Helper来帮忙处理AUR中的软件包。

由于AUR中的内容均由用户制作,从AUR下载好软件包构建文件后,请务必认真检查其中的构建脚本(如PKGBUILD文件),因为之前真的有人在AUR构建脚本中塞过病毒或者会损坏系统的脚本(不过大部分情况下这种事情很罕见,但是害人之心不可有,防人之心不可无,真发生这种事情直接找AUR管理者举报就好)。

目前已经有很多现成的AUR Helper,此处介绍两个AUR Helper:yayparu

在安装AUR Helper之前,我们需要手动将AUR上的一个AUR Helper软件包下载到本地,并进行安装。

yay对应的AUR软件包:yay(编译构建软件包),yay-bin(通过预编译的二进制文件构建软件包,推荐使用这个)

paru对应的AUR软件包:paru(编译构建软件包),paru-bin(通过预编译的二进制文件构建软件包,推荐使用这个)

此处以paru举例,进行安装。

# 执行命令前请确保安装了base-devel和git软件包,否则接下来的操作可能失败
# 请将paru-bin自行替换为自己需要的AUR Helper软件包
git clone https://aur.archlinux.org/paru-bin.git  # 从AUR拉取相关的构建文件
cd paru-bin
makepkg -si  # 构建软件包,并在构建成功后立刻安装到系统中

在任意一个AUR Helper安装完成之后,你就能利用这个AUR Helper方便的安装AUR中的软件。

需要注意的是,yayparu尽量不要在root权限下运行。

# yay和paru的命令用法和pacman很相似。
# 下面列举的paru用法,与yay和pacman的相关用法基本一致。基本可以认为将paru直接替换成yay或pacman就行。
# 此处以visual-studio-code-bin,即Visual Studio Code举例。
# yay和paru均不推荐使用root权限运行!
# 查询软件包
paru -Ss visual-studio-code-bin
# 安装软件包
paru -S visual studio-code-bin
# 卸载软件包,并卸载依赖
paru -Rsn visual-studio-code-bin
# 全局更新,先执行系统更新,再执行AUR更新
paru -Syu
# 清理缓存文件
paru -Scc

一些可能用到的设置/优化

这一段根据博主的实体机Arch Linux使用习惯,实时更新。

KDE关闭Beep音

KDE默认会使用主板蜂鸣器(下面简称Beep音),在某些场合(日用感觉有相当一部分地方)会触发Beep音。

虚拟机还好说,如果是实体机,这个Beep音不走耳机,有的时候会非常尴尬。

设置>无障碍辅助>声音/视觉提示中,将声音提示关闭即可解决Beep音问题。

Ctrl+Alt+T打开终端

这个快捷键,在部分Linux发行版上确实存在。

打开设置>快捷键,选择添加应用程序,将Konsole添加进来。添加之后即可使用Ctrl+Alt+T打开Konsole。

VMware虚拟机与宿主机的剪贴板共享不生效

由于从KDE Plasma 5.25开始,默认通过一个用户级别systemd服务来启动和管理Plasma相关服务,而VMware Tools用户服务暂时不支持通过这种方式启动所导致。

目前的一种解决方法是禁用这个默认的用户级别systemd服务启动方式,但是不保证后续版本的KDE Plasma中该方法依然有效。另外,此方法对KDE Wayland无效。

# 编写该命令时KDE最新版本为5.x版本,KDE6下不确定是否该命令是否还有用!
kwriteconfig5 --file startkderc --group General --key systemdBoot false

执行完命令后,注销并重新登录。

一些你可能需要的软件

以下是个人提供的一份可供Arch Linux安装的软件,可供参考。

浏览器:firefoxchromiummicrosoft-edge-stable-binAUR,google-chromeAUR

办公:libreoffice-freshwps-officeAUR

聊天:discordlinuxqqAUR

代码编辑:visual-studio-code-binAUR

直播/录屏:obs-studio

JDK:jdk17-openjdkjdk11-openjdkjdk8-openjdk

Java代码构建系统:mavengradle

.NET Core开发:dotnet-sdkaspnet-targeting-packaspnet-runtime

邮件处理:thunderbird

远程桌面连接:remmina(如果需要RDP支持则需要安装freerdp)

容器管理:docker

笔记本电源管理:power-profiles-daemon(需要启用power-profiles-daemon服务)

一个良好的使用习惯

  1. 经常对系统进行更新。对整个系统进行更新的命令是pacman -Syu。在更新前,记得查看Arch Linux官网,了解有哪些包的更新需要手动干预。如果你有加Arch Linux相关的社交群组,可以留意一下其他用户在更新到最新版本后是否有某些包出现了问题。

  2. 避免“部分更新”,即单独的运行pacman -Sy,否则安装的新包可能会因为库与库之间的兼容性问题而导致一些奇怪错误。另外,在安装新包前一定要更新整个系统,不然pacman在下载包时可能出现404错误。

  3. 每次pacman -Syu的时候记得留意一下是否有内核更新。在更新内核之后一定要立刻重启系统,不然容易遇到奇奇怪怪的问题(包括但不限于USB设备插上了没反应,连接WiFi无法认证,文件系统无法识别等),因为更新内核时pacman会把旧内核的内核模块文件全部删掉。对于不方便重启的计算机,解决方案是安装kernel-modules-hook包。

  4. 记住你对系统做过的一切配置,当你有疑问向他人提问时,一定要说清楚你对系统做过哪些配置。这也是为什么推荐手动安装Arch Linux而不是借助第三方安装脚本安装Arch Linux。

  5. 尽量只安装自己需要的包。

  6. 清理本地缓存的旧版本包的命令是pacman -Sc。如果没有磁盘空间问题,尽量避免使用pacman -Scc

总结

此时,你已经得到了一个经过一定优化配置,已经可以使用的Arch Linux+KDE桌面环境。恭喜你,完成了初步入门Arch Linux的必要步骤。

这篇文章对于大部分读者来说可能只是Arch Linux生涯的起点。之后遇到问题时,不仅可以去查询相关资料,还可以加入一些Arch Linux社群进行交流。在不断的尝试和学习过程中,你不仅可以将你安装的Arch Linux打造成你喜欢的样子,还能增进对Linux生态的理解。

一个安装流程参考

在编写这篇博文之前,博主也录制了一个相关的安装流程视频(这里可以点击)可供参考。

注意,该视频中的部分操作可能和本文的操作有所出入。且由于博主习惯,视频中全程默认使用英文界面。

(由于b站的内嵌播放器现在会自动播放,无法控制,请自行点击上面的链接观看)

评论

  1. GoodAN
    2 年前
    2023-1-09 19:18:55

    ヾ(≧∇≦*)ゝ

    • 博主
      GoodAN
      2 年前
      2023-1-09 19:36:27

      (ง •̀_•́)ง Waiting for you

  2. Jaanai
    2 年前
    2023-1-09 21:34:19

    ( ,,´・ω・)ノ”(´っω・`。)

  3. 上杉夏相
    2 年前
    2023-1-13 10:10:28

    ヾ(✿゚▽゚)ノ

  4. 上杉夏相
    2 年前
    2023-3-29 11:55:56

    视频自动播放吓我一跳2333,建议提醒。

    • 博主
      上杉夏相
      2 年前
      2023-3-30 0:51:34

      草,b站什么时候搞的

      • Azure Zeng
        3 月前
        2024-8-31 8:14:38

        可以在URL的传参字符后面加个 &autoplay=false 就能关掉自动播放了~

  5. Maxides
    2 年前
    2023-3-31 22:34:46

    謝謝博主寫出這麼好的教程,對小白幫助很大,感恩的心

  6. nicangtianws
    1 年前
    2023-7-03 21:37:40

    我执行了命令并重启了虚拟机,还是不能复制内容到虚拟机内,是不是寄了。

    • 博主
      nicangtianws
      已编辑
      1 年前
      2023-7-04 13:53:18

      目前KDE Wayland应该是没办法使用VMware Tools的剪贴板共享功能的,Xorg进KDE是正常的

  7. Ding
    10 月前
    2024-1-30 21:04:46

    感谢分享,很有帮助的博客(´இ皿இ`)

  8. Ygbs
    2 月前
    2024-9-21 5:18:27

    KDE 6.x 的 Wayland 支持实测需要使用 plasma-workspace 软件包,plasma-wayland-session 已无法在软件包仓库中被找到。
    解决办法:https://github.com/archlinux/archinstall/issues/2380

    • 博主
      Ygbs
      已编辑
      2 月前
      2024-10-03 13:48:31

      收到,因为最近有些事情,没看博客
      看了一下,现在wayland支持应该是默认安装了

  9. nanguo
    2 月前
    2024-10-06 15:04:16

    我是kde+i3,为啥他们数据无法互通啊,我在kde中设置了字体,语言,触摸板,到了i3又到了原样。虽然通过设置.xprofile文件设置了中文,但触摸板,蓝牙这些又得重复设置,有什么办法解决吗

    • 博主
      nanguo
      1 月前
      2024-10-07 14:52:31

      没用过i3,不过我猜测是KDE的配置文件和i3的不一样

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇