虽然 Ubuntu 20.04 是一个 Gnome 发行版,用了 Gnome 3.26.1 套件,但是 Canonical 总是想要搞点不一样的,为了和 Flatpak 对抗,它们弄出一个叫做 Snappy 的东西,现在似乎被称为 Snap 了。

我不是说搞 Snap 不好,而是这个 Snap 现在真的不好,同时 Canonical 又开始了以往的骚操作:

在生态没有完善而且性能功能都不怎么样的情况下强行捆绑推广

还记得 Unity 吗?虽然 Unity 后期还是很不错的,但前期的强行推广,依然让它拉满了仇恨。

我个人是希望 Canonical 把 Snap 搞好的,但目前看来问题太多了:

  • 软件包巨大,好像运行一个软件包都需要挂载一个镜像,说是为了解决依赖问题,但……
  • 字体渲染支持很烂
  • 输入法支持也不咋样
  • 启动速度巨慢,了解后发现这个 Snap 果然还是把软件全部打包并压缩做成镜像,每次都要解压缩再挂载……那速度

单单是起动速度慢加上字体渲染和输入法支持这三个就已经足够劝退了,不过 Snap 还是有好处的,那就是得益于 Canonical 在中国大陆的运营,下载速度还是可以的,好像是有 CDN 的。

如果 Canonical 在 Ubuntu 里支持包括 Snap 支持,并且鼓励用户去用 Snap,同时完善并解决 Snap 的各种问题,应该还是可以慢慢推开的,但是丫们居然在 Ubuntu 20.04 里把商店都改成了 Snap Store,而且你安装 Chrome 还会强制你用 Snap,无论你用 apt 安装啥都会建议你用 Snap,我就日你马了。

所以一起来干掉这些傻逼的 Snap,恢复原有的商店。

for p in $(snap list | awk '{print $1}'); do
  sudo snap remove $p
done

删掉所有的已经安装的 Snap 软件。

sudo systemctl stop snapd
for m in /snap/core/*; do
   sudo umount $m
done
sudo snap remove core

干掉 Snap 的 Core 文件,很大哟。

sudo apt autoremove --purge snapd

干掉 Snap 的管理工具。

rm -rf ~/snap
sudo rm -rf /snap
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
sudo rm -rf /var/cache/snapd

干掉 Snap 的目录。

sudo bash -c "cat > /etc/apt/preferences.d/no-snapd.pref" << EOL
Package: snapd
Pin: origin ""
Pin-Priority: -1
EOL

干掉 Snap 的更新源。

然后安装 Chrome 就可以了,也可以直接用 Google 的官方 deb。

photo_2020-05-06_09-23-48.jpg

当然了,我虽然骂了半天 Snap,但不表示我觉得 Flatpak 就有多好,那个玩意比起 Snap 有更差的输入法和字体渲染支持,只是容量好一点,同时有那么点“傻逼红帽子”推行的业界标准罢了。那些欧美人推广的什么包管理,总是会选择性无视掉 CJK 用户的需求,你提输入法支持,它就说开放输入法不安全,你问怎么办,它就让你用 iBus,你说 iBus 不好用,它就说“又不是不能用”,去你妈的吧。


方法参考:
https://dr-knz.net/ubuntu-without-snap.html