Arch|Arch Linux + KDE安装教程

玩转Arch Linux是一件非常有成就感的事情,尤其是自己动手一步步安装它、配置它、折腾它,把它打造成自己理想的操作系统。刚开始看似很难,官方提供的镜像就是一个没有任何桌面环境的bare system(裸系统)。但这正是Arch Linux的闪光点——高定制性,所有的组件均可以通过官方镜像,来给目标系统安装上,想要什么组件就装什么组件,系统归你掌握。
近日,我成功给我的上古ThinkPad X200装上了Arch Linux,并配置好了KDE,把经验总结如下。
下载Arch Linux镜像 Arch Linux的镜像可从官方网站下载:https://www.archlinux.org/download/
页面中提供了磁力链接、BT种子,而往下拉可以找到HTTP直链下载,其中包括中国大陆镜像源,如163、中科大、清华TUNA。推荐宽带用户选择163的源,教育网用户选择中科大的源。
下载完成后,用Rufus把镜像刷写到U盘中,然后用它启动电脑,进入安装环境。
连网 Arch Linux的安装需要全程联网,建议使用启用了DHCP的有线网,插上网线就可用,无需额外配置,且相对稳定。当然也可采用WLAN,但配置会复杂一些,可以参考一下这两个教程:《Ubuntu18.04命令行连接WiFi》,或者《Arch Linux无线联网教程》。
插上网线后,如果无法联网,则可重启一下DHCP客户端dhcpcd:

systemctl restart dhcpcd

如果还不行,则重新启用一下以太网接口:
# 查看网络接口状态,列表中以太网接口前缀是enp,如enp0s25 ip link # 重新打开网络接口 ip link set enp0s25 up

准备安装分区 Arch Linux搭配KDE,建议至少20GB的磁盘空间(如果要安装KDE全家桶)。
如果要与现在的系统共存,可在Windows的“磁盘管理”中,压缩出一个分区。新硬盘建议用图形化的cfdisk分区,同时支持GPT与MBR。老鸟可用命令行的fdisk、gdisk与parted。我的老笔记本是给整个硬盘都装上,所以直接给它重新分区。
笔者的分区方案
由于ThinkPad X200年代久远,不支持UEFI,所以只能选择MBR分区。110GB的固态硬盘,分区方案如下表。其中,系统、引导和用户文件放在同一个分区中。
分区用途 大小 设备路径 备注
目标分区 104GB /dev/sda1 主分区,活动分区
交换分区 ≈6GB /dev/sda5 逻辑分区
格式化并挂载
分区的文件系统选择上,通常用EXT4和BtrFS较多,老电脑+SSD建议选择BtrFS,BtrFS有专门的SSD优化选项,可在挂载时打开;而EXT4会因不明原因,时常导致笔记本死机。
格式化目标分区,然后挂载到/mnt/mnt就是我们系统安装的目标目录:
# 格式化目标分区为BtrFS mkfs.btrfs /dev/sda1# 挂载目标分区,并打开SSD优化 mount -t btrfs -o ssd /dev/sda1 /mnt

启用Swap
# 初始化交换分区 mkswap /dev/sda5 # 启用交换分区 swapon /dev/sda5# 检查交换分区使用情况 free

预安装过程 分区准备并挂载完成后,就可以开始安装了。安装过程用到的核心工具有pacstraparch-chroot
pacstrap用于把指定的包安装在指定目录,是pacman的离线版;而arch-chroot则用于把当前系统环境切换到指定的目录,通常是我们挂载目标分区的/mnt,由此可允许我们以新装系统的名义进行操作。
arch-chroot后,我们就可以向管理真实系统一样管理目标分区中的系统(目标系统),例如直接使用pacman等常用工具。运行exit可退回安装环境。
注意:
  • 安装基础组件后,pacstrap可在arch-chroot切换后,被pacman取代。其他一些操作也可以在目标系统中完成,只是要注意命令参数的变化。
提示:配置文件默认用vim打开。vim的基本操作方法:
  • 方向键移动光标;
  • i键进入编辑模式;
  • v键进入可视模式。此模式下按方向键可控制选区,y键复制。
  • ESC退出以上模式,返回一般模式;
  • 一般模式下,按p键粘贴,x键退格,按两下d键删除整行;
  • 一般模式下,输入:<命令>后回车,可执行内部命令。常用命令有:w(保存)、:x(保存并退出)、:q(直接退出)、:q!(不保存文件退出)。
  • 一般模式下,键入/,后跟关键字,可快速定位。
使用中国大陆镜像源
Arch Linux的默认服务器在国外,因此需要切换到中国大陆的服务器,以实现满速下载,提高效率。
使用Vim打开镜像源配置文件:
vim /etc/pacman.d/mirrorlist

然后在文件中定位到# China开头的项目(可输入),例如163(推荐,可满速)。可视模式下把它们所在的行复制,再粘贴到文件开头。下次就可以使用该镜像源进行下载。
安装基础组件
系统基础组件由三个包组成:核心包(base)、Linux内核(linux)与固件(linux-firmware)。安装后即可构成一个最基本的Arch Linux:
pacstrap /mnt base linux linux-firmware

添加用户
包括Arch Linux在内,裸安装的Linux发行版默认使用Root用户,显然不安全,因此要添加用户。(这与VPS中安装的Linux差不多。)
第一,安装sudo。没错,sudo并不是系统预装的组件,还是要用户手动安装的。顺便把vi和vim装上,用于编辑配置文件:
pacstrap /mnt sudo vim vi

第二,授予普通用户sudo权限。切换到目标系统,先打开sudo配置文件:
# 切换到目标系统中才能进行操作 arch-chroot /mnt # 打开配置文件。默认用vi打开 visudo

然后取消下面这行的注释,即删掉前面的#符号。这行语句允许wheel组的用户获取root权限。
取消注释以下指定行,并保存。
## Uncomment to allow members of group wheel to execute any command # ↓ 就是下面这行 ↓ %wheel ALL=(ALL) ALL

第三,再新建一个新用户:
使用useradd命令创建用户。假设新用户名为username
# -G参数设置用户组,-m开关建立用户目录,username为你的用户名 useradd -G wheel -m username

给新用户设置密码。密码要输入两次,没有回显:
passwd username

然后检查一下/home目录下有没有自动新建的用户主目录,如果没有,则手工创建。需要注意的是,主目录权限不当会导致很多组件运行异常,因为它们要读写主目录中的配置文件。
# 创建用户目录,并设定权限 mkdir /home/username chown -R username /home/username# 设置用户主目录 usermod -d /home/username username# 退回安装环境 exit

OK,下次即可用我们的新用户来登录。
安装启动器
Arch Linux可选的启动器有若干种,首选Grub。由于笔者的X200不支持UEFI,因此只能以MBR的形式安装。首先把Grub软件包安装到目标系统中:
# 安装Grub pacstrap /mnt grub

然后在安装环境下,把Grub启动器安装到硬盘中。注意最后一个参数为目标的磁盘设备,而不是分区。
# 配置Grub以实现硬盘启动(MBR) # 参数--target设置安装模式,值i386-pc为默认值,表示MBR安装 # 参数--root-directory设置安装目标磁盘的根目录。省略则表示当前根目录 # 【注意】这个工具已经内置在了安装环境中,无需切换到目标系统操作 grub-install --target=i386-pc --root-directory=/mnt /dev/sda

最后切换到目标系统,生成配置文件。实际上,前一步也可以在目标系统中进行,只需去掉--root-directory参数即可。
# 生成配置文件 arch-chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg# 退回安装环境 exit

EFI用户参照ArchWiki。
生成fstab
genfstab工具可把当前挂载磁盘的状态保存到fstab中,方便系统自动挂载。磁盘的参数也会保存于其中。
这个工具只在安装环境中提供。
genfstab /mnt > /mnt/etc/fstab

配置Locale(语言环境)
Locale是Linux系统的语言环境配置,决定了系统界面的语言、时间/日期/货币格式等,也在很大程度上影响终端和图形界面的显示。
一般Linux发行版隐含了配置Locale的过程,但在Arch Linux当中,需要我们自己来。
第一,切换到目标系统环境。
arch-chroot /mnt

第二,生成Locale数据。每启用一个Locale,都需先生成它。/etc/locale.gen包含了Linux支持的所有语言环境,默认情况下是被注释掉的。用Vim打开这个文件,然后根据需要取消注释以下这行。
比如说,如果我要使用英文、简体中文、繁体中文(台湾地区)和日文,就取消以下行的注释:
# /etc/locale.gen ... en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8 ja_JP.UTF-8 UTF-8 ...

保存后,用以下命令生成新的Locale:
locale-gen

第三,设置Locale。默认的Locale叫“C”——没错,就一个字母C,它是POSIX规范所规定的。一般需要将它改为对应具体国家或地区的Locale,否则如果保留默认值,就会导致界面上的各种Bug,比如我见过的这两个:
  • WPS无法使用中文输入法(如搜狗、Rime);
  • Konsole下输中文退格后,字符只有一半消失,再按退格键却连命令提示符一并被吞掉。
创建一个文件/etc/locale.conf,然后填入以下内容,设置Locale参数(去掉注释)。以简体中文为例:
LANG=zh_CN.UTF-8# 语言 LC_CTYPE="zh_CN.UTF-8"# 字符分类和字符串处理语言 LC_NUMERIC="zh_CN.UTF-8"# 数字格式 LC_TIME="zh_CN.UTF-8"# 时间格式 LC_COLLATE="zh_CN.UTF-8"# 排序格式 LC_MONETARY="zh_CN.UTF-8"# 货币格式# 下面这个参数是一个宏,可以一次性把所有LC_开头的值设置好 LC_ALL=zh_CN.UTF-8

也可以用localectl工具来设置:
localectl set-locale LANG=zh_CN.UTF-8 localectl set-locale LC_ALL=zh_CN.UTF-8 # 或者是其他LC开头的参数

如果想检查当前Locale配置,或查看其他可以设置的参数,请不带参数运行:
locale

提示:Locale也可在进入系统后,于KDE系统设置中更改,要更直观些。设置选项位于【KDE系统设置(System Settings)】--> 【区域设置(Regional Settings)】--> 【格式设置(Formats)】。
区域设置里还有一个“语言设置(Language)”,但它不是用来设置locale的,它设置的是KDE、GTK等图形界面的语言。
安装图形环境
接下来就是安装Xorg图形环境。xorg包包含了所有可能用到的组件,在此基础上再安装显卡驱动组件。
# 安装Xorg pacstrap /mnt xorg # 安装显卡组件 pacstrap /mnt xf86-video

xf86-video 貌似已经失效,可参考Arch Linux安装文档来决定安装哪个驱动。常见的选项如下:
# 英特尔 pacstrap /mnt xf86-video-intel # AMD/ATI pacstrap /mnt xf86-video-amdgpu pacstrap /mnt xf86-video-ati # NVIDIA开源驱动 pacstrap /mnt xf86-video-nouveau # NVIDIA闭源驱动 pacstrap /mnt nvidia pacstrap /mnt nvidia-390xx

安装网络组件
Arch Linux默认没有预装网络组件,因此也需要手动安装。一般安装三个组件即可:
  • dhcpcd:DHCP客户端。
  • wpa_supplicant:无线网服务端。
  • NetworkManager:网络管理器前端,KDE等桌面环境依赖它来管理网络,若不启用则会使KDE的网络管理器无法运作。
# 这三个包是网络的核心组件 pacstrap /mnt dhcpcd wpa_supplicant networkmanager# 启用上述组件。重启后一般可直接生效 arch-chroot /mnt systemctl enable dhcpcd systemctl enable wpa_supplicant systemctl enable NetworkManager# 注意大小写! exit

注意:
由于不明原因,dhcpcd在笔者的X200上会莫名crazy,导致KDE卡死。使用另一款DHCP客户端——dhclient,笔者完美地解决了这个Bug。
# 在安装完成的系统中,安装dhclient sudo pacman -S dhclient# 禁用dhcpcd的服务 sudo systemctl stop dhcpcd sudo systemctl disable dhcpcd# 卸载dhcpcd sudo pacman -Rs dhcpcd

dhclient无需注册服务,也不是后台服务。它在需要的时候会被调用。
安装声音支持
KDE等桌面环境使用PulseAudio作为音频后端,配合ALSA模块即可解决声音问题。
pacstrap /mnt alsa-utils pulseaudio pulseaudio-alsa

安装KDE Plasma
接下来就是安装KDE Plasma桌面环境,Plasma本身就是一个软件包。
首先安装桌面环境本体,以及桌面管理器SDDM:
# Plasma桌面环境 pacstrap /mnt plasma-meta sddm

然后,启用SDDM窗口管理器,以实现开机自动进入登录界面。
# 切换到已安装好的系统里 arch-chroot /mnt# 开启SDDM的服务 systemctl enable sddm# 退回安装环境 exit

进入系统后显示的所谓登录界面,实际上就是SDDM本身,通过登录验证后就由它来启动Plasma桌面环境。相应地,退出登录后就终止了Plasma,重新打开SDDM,以显示登录界面。在Linux发行版中切换用户时,会退回字符界面,屏幕上会显示一堆日志,就是因为这个过程。基于这个特性,SDDM还可以启动其他的桌面环境,例如OpenBox、Gnome、Xfce等。
安装Konsole
值得一提的是,Plasma只是一个桌面环境,没有包含任何其他的KDE应用(如文件管理器等),这些应用独立于Plasma,需要用户手动安装。我们见到的Kubuntu、Manjaro等包含的应用实际上是开发团队为我们事先装好的。
也正因如此,一些常用的应用需要我们手动安装,至少要安装Konsole终端,重启系统后要经常用到。
pacstrap /mnt konsole

也可以安装kde-utilities包,包含了Konsole、文件管理器Dolphin、文本编辑器Kate等必备工具:
pacstrap /mnt kde-utilities

如果不安装终端,就只能在进入Plasma后,按Ctrl+Alt+F2/F3/F4切换到TTY中操作。
安装中文字体和Emoji字体
中文字体默认没有安装。若不安装,会在中文显示的地方显示Unicode占位符。Emoji也是如此。
# 安装思源字体家族,包含中日韩字体,以及黑体、宋体、等宽体三种类型 pacstrap /mnt noto-fonts-cjk# 安装思源Emoji字体,安卓同款 pacstrap /mnt noto-fonts-emoji

重启后第一步:添加Archlinuxcn和AUR 经过以上的设置,重启电脑并由硬盘启动后(建议拔掉启动盘),就能看到登录界面了,用我们新建的用户即可直接登入系统。之后我们就可以在安装好的系统中,进行后续的操作。
为了能够获取更多软件,添加第三方软件源必不可少。Arch Linux用户常用的第三方软件源包括Archlinuxcn和AUR。
添加Archlinuxcn
Archlinuxcn是由来自我国的团队维护的软件源,主要提供官方源之外的以下实用软件:
软件类型 举例
闭源的免费软件 Google Chrome、Android Studio、WPS Office
商业软件 JetBrains全家桶(Intellij Idea、PyCharm、WebStorm)
开源软件的官方构建版 Visual Studio Code。Arch官方源也有,但界面和功能与微软官方版有明显区别
官方源未收录的实用软件 NVM(Node.js版本切换工具)、Oh My Zsh(火爆的zsh增强工具)、Logisim(电路仿真工具)
官方源也有,但影响用户体验 Pandoc,官方源提供的版本会捆绑Haskell的依赖,数百兆很臃肿,一般用户用不上。Archlinuxcn则提供了静态链接的版本pandoc-bin
从GitHub编译而来的自由软件,与官方源版本不兼容 一般包名有-git后缀。如Fcitx[1]。
添加方法很简单。首先打开/etc/pacman.conf
sudo vim /etc/pacman.conf

然后在文件末尾加上Archlinuxcn的软件源地址。这里采用清华大学TUNA的镜像源:
[archlinuxcn] Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

保存后,更新软件源并安装密钥环:
sudo pacman -Sy sudo pacman -S archlinuxcn-keyring

这样就可以使用了。
使用AUR
AUR是Arch Linux社区维护的软件源,是官方源甚至是Archlinuxcn的扩展,包罗万象。用Pacman搜不到的软件,可以去AUR找找看。
AUR的官方地址是https://aur.archlinux.org/,一般更为实用的使用方法是安装一款管理工具,主要包括yaourt(曾经主流,现已停止维护)和yay(Yet Another Yaourt)。yay是现在的首选。
首先安装yay。官方源未收录,只有Archlinuxcn收录了:
sudo pacman -S yay

然后用它来检索并安装软件包,命令格式是yay 关键字,不需要使用sudo来运行。比如,笔者想安装ntfs-3g驱动程序:
# 搜索ntfs-3g yay ntfs-3g# 然后得到以下搜索结果 9 aur/ntfs-3g-onedrive-bin 1.1.0-2 (+0 0.00) NTFS-3G plugin for reading OneDrive directories created by Windows 10 8 aur/libntfs-wii 2013.1.13-2 (+1 0.00) NTFS-3G filesystem access library (for Nintendo Gamecube/Wii homebrew development) 7 aur/libntfs-3g 2016.2.22-1 (+1 0.00) NTFS filesystem library and development headers. Does not include FUSE driver or utilities. 6 aur/ntfs-3g-system-compression-git 1.0.r13.3a474d4-1 (+3 0.00) NTFS-3G plugin for reading "system compressed" files 5 aur/ntfs-3g-wimlib-patched 2017.3.23-1 (+3 0.00) NTFS filesystem driver and utilities - with patch from https://wimlib.net/forums/viewtopic.php?f=1&t=4&p=693#p596 applied 4 aur/ntfs-3g-system-compression 1.0-1 (+10 0.12) NTFS-3G plugin for reading "system compressed" files 3 aur/ntfs-3g-ar 2017.3.23AR.5-4 (+40 0.00) NTFS filesystem driver and utilities with experimental features 2 aur/ntfs-3g-fuse 2017.3.23-1 (+78 0.41) (Installed) Stable read and write NTFS driver and ntfsprogs. This package will allow normal users to mount NTFS Volumes. 1 extra/ntfs-3g 2017.3.23-5 (551.2 KiB 1.7 MiB) NTFS filesystem driver and utilities ==> Packages to install (eg: 1 2 3, 1-3 or ^4) ==>

按照提示,输入包的编号来安装,比如第2个包。值得注意的是,yay的软件包是要从源代码编译的,所以一般安装流程如下:
  • 自动下载该AUR的源代码,可能会用到curlgit
  • 给源码打补丁;
  • 安装必要的软件包用于编译,用户可选是否在安装完成后卸载;
  • 把编译好的文件打包成Pacman安装包;
  • 用Pacman安装。
具体的安装过程可以自己尝试,体会一下。
安装其他组件 安装KDE全家桶
KDE组织旗下开发了大量的软件,涵盖系统应用的方方面面。用户可按自己的实际需要安装,或者安装下面这个分组(也称宏包),迎来KDE全家桶。
名词解释——宏包(meta package):软件包的一种,用于安装一组特定的软件包。它本身不包含任何软件相关文件,只包含对其他软件包的依赖关系。Pacman的软件包可以分组,组名也可以当成包名来安装软件,与宏包类似,笔者也以“宏包”称之。
sudo pacman -S kde-applications-meta

全家桶的体积非常大,包含各类应用,甚至涵盖了不少游戏和教育软件。大部分软件难以用上,因此虚拟机用户不建议安装,而以按需取用其中一类(或单个)组件来代替。
以下是我们在Arch Linux中可选的KDE软件套组分类:
组名/宏包名 类别介绍
kde-utilities 系统工具,包含了KDE桌面环境所需的基本应用,如文件管理器Dolphin、终端工具Konsole。应当安装。
kde-multimedia 多媒体工具,包含几款多媒体播放器(如Dragon)和编辑器等。
kde-graphics 图形工具,包含图片查看器Gwenview、PDF查看器Okular、截图工具Spectacle等。建议安装。
kde-education 教育工具,包括虚拟地球仪Marble、日语学习工具Kiten、海龟绘图工具KTurtle等。
kde-network 网络应用程序,包含全功能浏览器Konqueror、即时通讯工具Telepathy、远程桌面工具KRDC等。
kde-games KDE团队开发的一系列游戏,不妨一试。
虚拟机用户应至少安装一个终端、一个文件管理器和文本编辑器:
sudo pacman -S konsole dolphin kate

安装Fcitx
Fcitx是最常用的输入法框架之一。
第一,先安装Fcitx所需的包。下面的包中,fcitx-im是宏包,包含了fcitxfcitx-qt5,单独安装时会弹出提示要求选择,一般两个一起选。kcm-fcitx是给KDE使用的输入法配置模块,而fcitx-configtool则是Fcitx的配置工具。我们只需运行下面的命令。
# 安装必备的包 sudo pacman -S fcitx fcitx-im kcm-fxitx fcitx-qt5 fcitx-configtool# 安装GTK2和GTK3下的输入法组件,用来在GTK应用程序下使用输入法 sudo pacman -S fcitx-gtk2 fcitx-gtk3

注意:在Fcitx的新版本(4.2.9.8-1)中,fcitx-gtk2fcitx-gtk3这两个包已经与fcitx包合并,安装它们就相当于重新安装Fcitx本体,因此不用额外安装。
第二,设置fcitx作为我们默认的输入法框架。创建并编辑/home/用户名/.xprofile,然后在里面添加以下内容:
export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"

重新登录生效。
第三,安装输入法:在Arch Linux下,笔者首推的输入法是中州韵Rime输入法。安装后也是重新登录生效:
sudo pacman -S fcitx-rime

然后打开【系统设置】 --> 【区域设置】--> 【输入法设置】(或直接终端运行fcitx-configtool),打开Fcitx设置,在左侧【可用的输入法列表(Available Input Methods)】中找到“Rime”,双击,确定即可。
输入法指示器在任务栏右侧,按Ctrl+Space来开关输入法。
启用网络支持
若网络管理不起作用,KDE设置里网络管理部分显示为空白,且任务栏上没有网络图标,则手工启用网络管理器。立即生效。
sudo systemctl start NetworkManager sudo systemctl start wpa_supplicant

配置好休眠文件(可解决自动休眠时的卡死问题)
X200有一定几率会在关机时长时间挂起,在文字界面下可见,关机过程卡在以下地方:
[***]A stop job is running for device dev-disk-by/uuid-b072209d-279a-41cd-b4b3-16eab1a84d60.device. (1min 30s)

检查了一下fstab,发现日志中的UUID正是Swap分区的UUID,检索资料后查明是与休眠相关的参数没配置好。而此前偶有出现系统闲置时会莫名其妙卡死,疑为与自动休眠相关,自动休眠可能正触发了这个问题。
解决方法就是修改Grub默认配置文件。用Vim打开/etc/default/grub
sudo vim /etc/default/grub

把以下参数加进GRUB_CMDLINE_LINUX_DEFAULT字段里,注意包裹在原有的引号中:
resume=UUID=

其中,要获取Swap分区的UUID,可打开/etc/fstab,找到Swap分区那一项:
# UUID=99ec3c4a-01e6-487b-9fdd-fb81e6c5a482 /dev/sda5noneswapdefaults0 0

最后重新生成配置文件,重启后生效:
sudo grub-mkconfig -o /boot/grub/grub.cfg

启用NTFS支持
Linux下对NTFS的支持,借助于ntfs-3g,以及FUSE(用户态文件系统)。一般的Linux发行版都提供了它们,但在Arch Linux下,ntfs-3g默认不会安装;且FUSE默认也不会启用,须每次开机都手动用sudo modprobe fuse加载(要自动加载,可参考这篇文章的讲解)。
笔者推荐使用ntfs-3g-fuse这个包,它可以自动加载FUSE,还允许普通用户(而不限root)挂载NTFS分区,适合移动硬盘用户。使用yay安装:
yay ntfs-3g-fuse

启用蓝牙组件
Plasma会装上蓝牙服务程序Bluez,但默认不会启用,导致系统提示“找不到蓝牙适配器”。
先启用Bluez Daemon:
sudo systemctl enable bluetooth sudo systemctl start bluetooth

如果启动失败,则可能要手动安装Bluez:
sudo pacman -S bluetooth

安装蓝牙音频支持:
sudo pacman -S pulseaudio-bluetooth

高级玩家还可以安装高级蓝牙管理器:
sudo pacman -S blueman

【Arch|Arch Linux + KDE安装教程】Blueman可激活电脑蓝牙的隐藏功能,如把电脑当手机的蓝牙音箱、串口通信。需内核支持。
安装媒体组件
基本的媒体组件包括硬件加速库libva,以及媒体播放器。libva同时支持英特尔和NVIDIA的显卡(后者使用NVIDIA专有的VDPAU技术)。而在媒体播放上,Arch Linux和Manjaro均首推VLC,笔者也使用SMPlayer。这两款自由软件媒体播放器使用FFMpeg解码库,一般会自动安装上。
# 安装硬件加速库libva sudo pacman -S libva libva-intel-driver libva-vdpau-driver libva-utils # 检查硬件加速库状态,会显示libva库的版本与显卡信息 vainfo# VLC和SMPlayer,按需取用。 # 【注意】VLC也被包含在KDE全家桶中。 sudo pacman -S vlc smplayer

禁用蜂鸣器
默认情况下,进行一些操作时,电脑的蜂鸣器会响起,发出很刺耳的嘟嘟声,例如在TTY中光标的始末处按方向键或退格键。这时可以考虑禁用蜂鸣器。
蜂鸣器默认作为内核模块加载,因此只需把相应的模块加入黑名单中禁用即可。
# 切换到Root用户下 sudo -i # 卸载蜂鸣器模块 rmmod pcspkr # 把蜂鸣器模块添加到黑名单中,重启即可彻底禁用之 echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf

禁用重新登录时恢复上一次会话
默认情况下,KDE在重新登录后,会把用户之前打开的程序再重新打开(如果支持的话),方便用户马上开始工作。但这功能不实用,它不会恢复应用程序的状态(比如给你原封不动地显示之前的网页内容,以及你的文档编辑进度),拖慢启动速度。对PT党来说,它有时甚至会把qBittorrent这样的应用也恢复,不考虑电脑分区的挂载情况,导致异常(严重者甚至会导致种子重新下载)。
设置的方法是:打开【系统设置(System Settings)】 ->【 启动和关机(Startup and Shutdown)】 -> 【桌面会话(Desktop Session)】 -> 【以新会话启动(Start with an empty session)】。
安装打印机
Linux通过CUPS(Common Unix Printing Service)来提供打印功能。按照惯例,Arch Linux并不会附带它。
安装打印机服务 首先安装CUPS本体,以及实际使用时依赖的组件(如Ghostscript,它用于转换打印输出的格式):
sudo pacman -S cups ghostscript gsfont

然后启动CUPS服务:
# 启用并启动全部CUPS服务 sudo systemctl enable cups sudo systemctl start cups# 这个服务作用未知,但可能跟网络打印机有关。Arch Wiki没有讲 sudo systemctl enable cups-browsed.service sudo systemctl start cups-browsed.service

如果KDE设置中的“打印机设置”不可用,则安装:
sudo pacman -S print-manager# 包含在了kde-utilities套组中

这样,既可以在KDE设置的“打印机设置”中管理打印机,也可以登录http://localhost:631以使用CUPS的WebUI进行管理。
安装驱动 关于打印机驱动的安装,可参考以下的文章:
  • 《方法论:如何驱动各品牌打印机》。作者列举了惠普、三星、兄弟工业(Brothers),以及日系品牌(佳能、富士、爱普生等)的打印机驱动安装方法。首推惠普打印机,它对Linux的支持最完善,其次是三星和兄弟(其实兄弟工业也是日系,但对Linux支持较好)。
  • ArchLinux使用HP打印机。只需安装hpoj, hplip这两个包,即可驱动惠普主流型号的打印机。
也可自行搜索打印机驱动:
  • AUR,尝试yay 打印机品牌yay 打印机型号,往往可搜索到大量的打印机驱动。比如yay epson就搜到了近百款驱动。
  • ArchLinuxCN,收录了部分打印机的驱动。可尝试pacman -Ss 打印机品牌,比如兄弟工业就收录了两款。
  • Printer Listings,OpenPrinting 提供的打印机驱动,放在 /usr/share/cups/model/ 下。[2]
  • 从设备供应商网站获取,放在 /usr/share/cups/model/ 下。[2]
参考资料
  • ArchLinux安装KDE桌面
  • 给 GNU/Linux 萌新的 Arch Linux 安装指南
  • A start job is running for dev-disk-by... (1min 30s)
  • [Arch Linux Wiki对Locale的介绍](https://wiki.archlinux.org/index.php/Locale_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E7%94%9F%E6%88%90_locale
  • Linux下使用locale命令设置语言环境
  • sddm显示管理器设置“登录时恢复上一次会话”后遇到的问题
引用和脚注
  1. Archlinuxcn提供了一个定制版本fcitx-lilydjwg-git,减少了依赖,并增加对Lua的支持。它与官方源的Fcitx不兼容。 ?
  2. 漩涡的博客: Arch Linux连接并使用打印机 ? ?

    推荐阅读