玩转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
预安装过程
分区准备并挂载完成后,就可以开始安装了。安装过程用到的核心工具有pacstrap
和arch-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的源代码,可能会用到
curl
或git
; - 给源码打补丁;
- 安装必要的软件包用于编译,用户可选是否在安装完成后卸载;
- 把编译好的文件打包成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
是宏包,包含了fcitx
和fcitx-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-gtk2
和fcitx-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/sda5 none swap defaults 0 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
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显示管理器设置“登录时恢复上一次会话”后遇到的问题
引用和脚注
-
Archlinuxcn提供了一个定制版本
fcitx-lilydjwg-git
,减少了依赖,并增加对Lua的支持。它与官方源的Fcitx不兼容。 ↩ -
漩涡的博客: Arch Linux连接并使用打印机 ↩ ↩