在安装好 Arch 后,需要进行一些设置,才能更方便地使用它。这里记录了对 Arch 的常用更改。
用户设置
允许 root 远程登录
修改配置文件/etc/ssh/sshd_config,允许 root 远程登录。
开启 sshd 服务
1
2
|
systemctl enable sshd.service
systemctl start sshd.service
|
创建新用户,并赋予权限
请使用新的用户名替换$new_user
1
2
|
useradd $new_user -G wheel -m
passwd $new_user
|
修改/etc/sudoers,将下面代码添加到文件末尾,使wheel组的用户执行sudo时不用输入密码。
1
|
%wheel ALL=(ALL:ALL) NOPASSWD: ALL
|
设置 Pacman
Pacman 是 Arch 上一个方便易用程序包管理器,我们可以用它来下载、安装、更新和删除电脑上的软件。相当于 iOS 上
AppStore 或者安卓上的应用市场,但对于 Arch 而言,Pacman 还承担了对系统软件进行更新的重任。Arch 滚动更新的特
点很大一部分是由 Pacman 体现的。
更改源
由于国内特殊的网络环境,想要流畅地下载软件并不容易,因此我们应该将 Pacman 的软件仓库地址更改成国内便于访问的
地址,这里我们使用阿里云镜像地址。
编辑 /etc/pacman.d/mirrorlist,将如下代码添加到所有其它镜像服务器地址之前。
1
|
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
|
添加 multilib
multilib 包含了32位软件和库,可以用来在64位的机器上构建32位的应用。
在 /etc/pacman.conf 文件里把下面两行代码解除注释。
1
2
|
[multilib]
Include = /etc/pacman.d/mirrorlist
|
添加 archlinuxcn
archlinuxcn 是一个非官方的软件仓库,由中文社区维护。里面包含了软件、工具、字体等。
将如下代码添加到 /etc/pacman.conf:
1
2
|
[archlinuxcn]
Server = https://mirrors.aliyun.com/archlinuxcn/$arch
|
安装钥匙串 archlinuxcn-keyring:
1
|
sudo pacman -S archlinuxcn-keyring
|
如果在安装 archlinuxcn-keyring 过程中发生error: archlinuxcn-keyring: signature from "Jiachen YANG (Arch Linux Packager Signing Key) <farseerfc@archlinux.org>" is marginal trust错误,需要对签名添加信任后再安装钥匙串:
1
|
sudo pacman-key --lsign-key "farseerfc@archlinux.org" && sudo pacman -S archlinuxcn-keyring
|
安装 yay
yay 是一个非常好用的软件,可以用来安装 Arch 用户仓库里的包。
安装 yay:
1
2
|
sudo pacman -Sy
sudo pacman -S yay
|
安装字体
安装编程字体以及相关的字体图标
1
|
sudo pacman -S ttf-jetbrains-mono-nerd noto-fonts
|
安装中文字体
1
|
sudo pacman -S noto-fonts-cjk
|
安装编程语言
C#
1
|
sudo pacman -S dotnet-sdk aspnet-runtime
|
Rust
使用 pacman 来安装 rustup。要记住,通用这种方式来安装 rustup,rustup 的自我更新不会生效,需要通过 pacman 来升级
rustup。
为了安装工具链 toolchain,我们得告诉 rustup 使用哪种版本,可以在 stable 和 nightly 之间做出选择。
安装NVIDIA显卡驱动
如果使用的显卡是Turing或者更新的架构,使用以下命令安装驱动
1
|
sudo pacman -S nvidia-open nvidia-settings lib32-nvidia-utils
|
老一点的显卡使用这个命令
1
|
sudo pacman -S nvidia nvidia-settings lib32-nvidia-utils
|
为了避免官方驱动和开源驱动起冲突,我们需要编辑/etc/mkinitcpio.conf,删除以HOOKS开头的那一行里的kms,然后运行命令sudo mkinitcpio -P。
使用nvidia-smi查看驱动是否安装成功。
安装图形界面
Hyprland
如果我们使用的是NVIDIA显卡,我们应该先安装NVIDIA驱动。
1
|
sudo pacman -S hyprland
|
tofi, waybar, alacritty, hyprpaper
1
|
sudo pacman -S tofi waybar alacritty hyprpaper
|
安装命令行工具
fd, fzf, ripgrep, zip, unzip, git-delt
1
|
sudo pacman -S fd fzf ripgrep zip unzip git-delt
|
tldr
1
2
|
sudo pacman -S tldr
tldr --update
|
starship, bat, btop, alacritty
1
|
sudo pacman -S starship bat btop alacritty
|
zsh
1
2
|
sudo pacman -S zsh
chsh -s /bin/zsh
|
yazi
Yazi (means “duck”) is a terminal file manager written in Rust, based on non-blocking async I/O. It aims to provide an efficient, user-friendly, and customizable file management experience.
1
|
sudo pacman -S yazi ffmpegthumbnailer p7zip jq poppler fd ripgrep fzf zoxide imagemagick
|
安装中文输入法
1
|
sudo pacman -S fctix5-im fctix5-chinese-addons
|
剪贴板
wl-clipboard 是 wayland 显示服务器下的剪贴板工具,安装即可正常使用。cliphist是 wayland 下剪贴板历史管理工具。
1
|
sudo pacman -S wl-clipboard
|
声音
我的台式机安装完ArchLinux后没有声音声音,排查发现是因为默认声音输出设备没有设置正确
使用aplay -l查看所有的音频设备。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
❯ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 3: HDMI 0 [M27P20]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 7: HDMI 1 [OLEDG48P5]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 2: USB Audio [USB Audio #2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 3: USB Audio [USB Audio #3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: Audio_1 [UGREEN CM564 USB Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
|
这里我打算使用OLEDG48P5设备播放音频,这个设备是我的显示器上的音频输出。新建并编辑文件.asoundrc,其中1为上面输出的声卡ID,7为设备ID。
1
2
3
|
defaults.pcm.card 1;
defaults.pcm.device 7;
defaults.ctl.card 1;
|
安装alsa-utils,使用alsamixer来设置声音。
1
|
sudo pacman -S alsa-utils
|
防火墙
1
2
3
4
|
sudo pacman -S ufw
sudo systemctl enable ufw
sudo systemctl start ufw
sudo ufw enable
|
KDE Plasma
最小安装,再按需要安装其它应用。
1
|
sudo pacman -S plasma-desktop
|
kwallet-pam 不用每次询问密码
kscreen 多屏幕
bluedevil 蓝牙
plasma-pa 声音
plasma-nm 网络
plasma-firewall 防火墙
plasma-systemmonitor 系统监控
kinfocenter 系统信息
dolphin 文件浏览器
使用下面的命令启动Plasma
1
|
dbus-run-session startplasma-wayland
|
登录管理器
SDDM 是 KDE Plasma 推荐的登录管理器。
1
2
|
sudo pacman -S sddm
sudo systemctl enable sddm
|
安装KVM
安装一堆软件
1
|
sudo pacman -S qemu-full virt-manager virt-viewer dnsmasq bridge-utils libguestfs ebtables vde2 openbsd-netcat
|
启动 libvirtd 服务
1
2
|
sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service
|
编辑 /etc/libvirt/libvirtd.conf,取消下面两行的注释
1
2
|
unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"
|
将当前用户加入到libvirt用户组里
1
|
sudo usermod -aG libvirt $USER
|
代理
1
2
3
|
sudo pacman -S daed
sudo systemctl start daed
sudo systemctl enable daed
|
然后在浏览器中打开链接