目录: - [设置全局默认文本编辑器](#设置全局默认文本编辑器) - [创建普通用户](#创建普通用户) - [开启32位源](#开启32位源) - [archlinuxcn源](#archlinuxcn源) - [AUR助手](#aur助手) - [字体](#字体) - [音视频固件和服务](#音视频固件和服务) - [性能模式切换](#性能模式切换) - [蓝牙](#蓝牙) - [Flatpak软件](#flatpak软件) - [可选:休眠到硬盘](#可选休眠到硬盘) - [重启电脑生效](#重启电脑生效) --- >如果你想省事,在这个节点已经可以使用[我的 Arch 一键配置脚本](一键配置桌面环境.md)迅速获得可以日用的桌面环境。 ## 设置全局默认文本编辑器 通过 `EDITOR` 环境变量设置默认编辑器。如果不设置的话有些程序会默认调用 `vi` 编辑器。Arch 默认是没有安装 `vi` 的,会报错。 ``` sudo vim /etc/environment ``` ``` EDITOR=vim # 如果你使用neovim的话填入nvim,nano填入nano ``` 由于是全局变量,需要 `exit` 注销后重新登录才能生效。 ``` exit ``` ## 创建普通用户 很多软件会拒绝在 root 权限下运行,所以普通用户是必须的。 1. 新建用户 ``` useradd -mG wheel 你的用户名 ``` >`-m` 代表创建用户的时候创建 `home` 目录。 >`-G` 代表设置组。 2. 设置密码 ``` passwd 你的用户名 ``` - 可选:取消多次输错密码后的锁定时间 >这步牺牲安全性以提高日用体验和软件兼容 ``` vim /etc/security/faillock.conf ``` 把 `deny = 3` 改成 `deny = 0` 3. 编辑权限 ``` visudo ``` >此时编辑的文件本体是 `/etc/sudoers`,`visudo`是在有安全机制的情况下进行编辑。 搜索 `wheel`,取消注释。 ``` %wheel ALL=(ALL:ALL) ALL ``` - 可选:配置 `pacman` 免密 >这步牺牲安全性获得更流畅的安装软件体验 ``` visudo -f /etc/sudoers.d/10-pacman-nopasswd ``` ``` %wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/pacman ``` >如果你要给其他命令配置免密可以以逗号隔开 `/usr/bin/pacman, /usr/bin/systemctl` 保存后修改权限 ``` chmod 440 /etc/sudoers.d/10-pacman-nopasswd ``` 1. 退出 root 使用普通用户登录 ``` exit ``` 接下来需要管理员权限运行的命令要加上 `sudo`。 ## 开启32位源 运行 Windows 软件通常需要各种 32 位的依赖,想玩游戏的话 Steam 客户端也在 32 位源里,所以建议开启 32 位源。 1. 编辑 pacman 配置文件 ``` sudo vim /etc/pacman.conf ``` 去掉 `[multilib]` 两行的注释。 ``` [multilib] Include = /etc/pacman.d/mirrorlist ``` 2. 同步数据库 ``` sudo pacman -Syu ``` ## archlinuxcn源 archlinuxcn 源是由 archlinuxcn 维护的软件仓库,可以丰富我们安装软件的手段。 1. 编辑 pacman 配置文件添加 archlinuxcn 源 ``` sudo vim /etc/pacman.conf ``` 2. 文件底部写入 ``` [archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch ``` 上面这两个是国内镜像,ustc(中科大)和 tuna(清华),如果你在海外的话可以直接使用官方: ``` Server = https://repo.archlinuxcn.org/$arch ``` 3. 同步数据库并安装 archlinuxcn 密钥 ``` sudo pacman -Sy archlinuxcn-keyring sudo pacman -Syu ``` ## AUR助手 >[ArchWiki AUR Helpers](https://wiki.archlinux.org/title/AUR_helpers) AUR 是 Arch 最强大的软件仓库。这个仓库里通常只存放软件的`PKGBUILD`,可以将其理解为一个自动化安装脚本。通常的流程是从 AUR 上拉取`PKGBUILD`,然后`makepkg -si`打包软件,再用`pacman -U`安装,但这太过繁琐。通过社区做好的 AUR 助手可以更方便地从 AUR 安装软件。archlinuxcn 上有编译好的版本,可以直接从 archlinuxcn 安装。 ``` sudo pacman -S --needed base-devel yay paru ``` >`base-devel` 是编译软件时必须的;`yay` 和 `paru` 都是常用的助手,任选其一,也可以都装。 ## 字体 通常安装以下字体包: ``` sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-jetbrains-mono-nerd ``` >`noto-fonts` 包含大部分外文字体。 >`noto-fonts-cjk` 最常用的中日韩字体,但是因为同时包含中日韩,所以不正确设置系统字体的话会出现中文以日文的字体显示之类问题。有关 `fontconfig 字体设置` 的内容可以看[附录-字体设置](附录.md#字体设置)。 >`noto-fonts-emoji` emoji 表情。 >`ttf-jetbrains-mono-nerd` 最常用的等宽字体,用于终端字体显示。`nerd` 代表包含了字符字体。 ## 音视频固件和服务 让音频设备和屏幕分享正常工作。 1. 可选:安装音视频固件 ``` sudo pacman -S --needed sof-firmware alsa-ucm-conf alsa-firmware ``` >`sof-firmware` 为现代音视频设备提供固件,通常装这个就可以了。 >`alsa-ucm-conf` 提供必要的配置文件。 >`alsa-firmware` 为不常见或者较旧的设备提供固件。 2. 安装音视频服务 ``` sudo pacman -S --needed pipewire wireplumber pipewire-pulse pipewire-alsa pipewire-jack ``` >`pipewire` 是由 Red Hat 主导开发的现代音视频服务。 >`wireplumber` 会智能管理 pipewire。 >`pipewire-pulse`、`pipewire-alsa`、`pipewire-jack` 分别为 PulseAudio、ALSA、JACK 提供兼容。 3. 启用服务 ``` systemctl --user enable --now pipewire pipewire-pulse wireplumber ``` ## 性能模式切换 `power-profiles-daemon` 是各个桌面环境通用的性能模式切换服务,有三个档位,`performance` 性能、`balance` 平衡、`powersave` 省电。 1. 安装 ``` sudo pacman -S power-profiles-daemon ``` 2. 启动服务 ``` sudo systemctl enable --now power-profiles-daemon ``` >这个已经足够了,不建议折腾 `tlp` 或者 `auto-cpufreq`,功耗上不会有明显区别。 ## 蓝牙 1. 安装 ``` sudo pacman -S --needed bluez ``` 2. 启动服务 ``` sudo systemctl enable --now bluetooth ``` ## Flatpak软件 Flatpak 是全发行版通用的打包方式。依赖和插件比较多的软件 Flatpak 版本通常更好用,比如 OBS 和 Easyeffects。如果 AUR 和仓库的软件都不太正常,也可以尝试 Flatpak 版本。 1. 安装 `flatpak` ``` sudo pacman -S flatpak ``` 2. 可选:更换国内源 - 上交大 ``` sudo flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub ``` - 中科大 ``` sudo flatpak remote-modify flathub --url=https://mirrors.ustc.edu.cn/flathub ``` ### 可选:休眠到硬盘 > [ArchWiki Power management/Suspend and hibernate](https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate) 如果需要休眠到硬盘功能,且之前设置了硬盘 swap 的话。 查看 `/etc/mkinitcpio.conf` 这个文件的 `HOOKS` 部分: ``` grep ^HOOKS /etc/mkinitcpio.conf ``` >`grep ^HOOKS` 筛选以 `HOOKS` 开头的行。 - 如果是 `HOOKS(base systemd ...)` 的话无须手动配置。 - 如果是 `HOOKS(base udev ...)` 的话: 1. 添加 hook ``` sudo vim /etc/mkinitcpio.conf ``` 在 `HOOKS()` 内添加 `resume`,注意需要添加在 `udev` 的后面。 2. 重新生成 initramfs ``` sudo mkinitcpio -P ``` 3. 重启电脑 ``` reboot ``` 4. 使用命令进行休眠 ``` systemctl hibernate ``` ## 重启电脑生效 ``` reboot ``` >顺便一提,`poweroff`关机、`suspend`挂起到内存 下一节:[显卡驱动和硬件编解码](显卡驱动和硬件编解码.md)