如何在 Arch Linux 中启用 Snap 支持

Snap 是由 Ubuntu 的母公司 Canonical 设计的通用包格式。有些人不喜欢 Snap,但它有一些优势。
通常,某些应用仅以 Snap 格式提供。这为你提供了在 Arch Linux 中启用 Snap 的充分理由。
我知道 AUR 拥有大量应用,但 Snap 应用通常直接来自开发人员。
如果你希望能够在 Arch Linux 中安装 Snap 应用,你需要先启用 Snap 支持。
有两种方法可以做到:
- 使用 AUR 助手启用 Snap 支持(更简单)
- 通过从 AUR 获取包,手动启用 Snap 支持
让我们看看怎么做。
方法 1、使用 AUR 助手启用 Snap
Snap 支持在 Arch 用户仓库中以 snapd
包的形式提供。你可以使用 AUR 助手轻松安装它。
有 许多 AUR 助手,但yay
是我更喜欢的,因为它的语法类似于pacman 命令。
如果你还没有安装 AUR,请使用以下命令安装 Yay(需要事先安装 git
):
git clone https://aur.archlinux.org/yay
cd yay
makepkg -si

现在 yay
已安装,你可以通过以下方式安装snapd
:
yay -Sy snapd

每当你 更新 Arch Linux系统时,yay
都会启用snapd
的自动更新。
验证 Snap 支持是否有效
要测试 Snap 支持是否正常工作,请安装并运行 hello-world
Snap 包。
sudo snap install hello-world
hello-world
(或者)
sudo snap run hello-world

如果它运行良好,那么你可以轻松安装其他 Snap 包。
方法 2、从 AUR 手动构建 snapd 包
如果你不想使用 AUR 助手,你仍然可以从 AUR 获取 snapd
。让我展示详细的过程。
你需要先安装一些构建工具。
sudo pacman -Sy git go go-tools python-docutils

完成依赖项安装后,现在可以克隆 snapd
的 AUR 目录,如下所示:
git clone https://aur.archlinux.org/snapd
cd snapd

然后构建 snapd
包:
makepkg -si
当它要求安装其他依赖包时输入 yes
。

你已安装 snapd
守护程序。但是,需要启用它以在启动时自动启动。
sudo systemctl enable snapd --now
sudo systemctl enable snapd.apparmor --now #start snap applications
sudo ln -s /var/lib/snapd/snap /snap #optional: classic snap support

手动构建包的主要缺点是每次新更新启动时你都必须手动构建。使用 AUR 助手为我们解决了这个问题。
总结
我更喜欢 Arch Linux 中的 pacman 和 AUR。很少能看到不在 AUR 中但以其他格式提供的应用。尽管如此,在某些你希望直接从源获取它的情况下,使用 Snap 可能是有利的,例如 在 Arch 上安装 Spotify。