GitHub
logo SHORiNのARCH
安装桌面环境前的准备

安装桌面环境前的准备

目录:


如果你想省事,在这个节点已经可以使用我的 Arch 一键配置脚本迅速获得可以日用的桌面环境。

设置全局默认文本编辑器

通过 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/sudoersvisudo是在有安全机制的情况下进行编辑。

    搜索 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
      
  4. 退出 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
    Server = https://mirrors.hit.edu.cn/archlinuxcn/$arch
    Server = https://repo.huaweicloud.com/archlinuxcn/$arch
    

    不用全写,一般用 ustc(中科大)和 tuna(清华)的镜像即可。如果你在海外的话可以直接使用官方源:

    Server = https://repo.archlinuxcn.org/$arch
    
  3. 同步数据库并安装 archlinuxcn 密钥

    sudo pacman -Sy archlinuxcn-keyring
    sudo pacman -Syu 
    

AUR助手

ArchWiki 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 是编译软件时必须的;yayparu 都是常用的助手,任选其一,也可以都装。

字体

通常安装以下字体包:

sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-jetbrains-mono-nerd

noto-fonts 包含大部分外文字体。

noto-fonts-cjk 最常用的中日韩字体,但是因为同时包含中日韩,所以不正确设置系统字体的话会出现中文以日文的字体显示之类问题。有关 fontconfig 字体设置 的内容可以看附录-字体设置

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-pulsepipewire-alsapipewire-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

如果需要休眠到硬盘功能,且之前设置了硬盘 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挂起到内存

下一节:显卡驱动和硬件编解码