Killing Snap on Ubuntu 20.04
Ubuntu 20.04 is a GNOME distro, running the GNOME 3.26.1 stack, but Canonical always has to do something different. To fight Flatpak they cooked up a thing called Snappy, which these days seems to be called Snap.
I’m not saying Snap is a bad idea. I’m saying Snap as it exists now is bad, and Canonical has gone back to its old tricks:
Force-bundling and pushing it while the ecosystem is immature and the performance and features are both mediocre.
Remember Unity? Late-stage Unity was actually pretty decent, but the early forced push still earned it a mountain of hate.
Personally I’d like Canonical to make Snap good, but right now there are way too many problems:
- The packages are huge. Running a single package seems to require mounting an image. They say it’s to solve dependency issues, but…
- Font rendering support is terrible
- Input method support isn’t great either
- Startup is absurdly slow. Turns out Snap really does pack and compress the whole app into an image, then decompress and mount it every time… hence the speed
Startup speed alone plus the font rendering and input method support are enough to put me off, though Snap does have one upside: thanks to Canonical’s operations in mainland China, download speeds are actually okay. Apparently there’s a CDN.
If Canonical supported Snap in Ubuntu, encouraged users to use it, and fixed all the problems, it could probably spread gradually. But no, they went and replaced the store in Ubuntu 20.04 with the Snap Store, and installing Chrome force-feeds you Snap, and whatever you install with apt it suggests Snap. Fuck that.
So let’s kill these goddamn Snaps together and get the original store back.
for p in $(snap list | awk '{print $1}'); do
sudo snap remove $p
done
Remove all installed Snap packages.
sudo systemctl stop snapd
for m in /snap/core/*; do
sudo umount $m
done
sudo snap remove core
Kill Snap’s core files. They’re big.
sudo apt autoremove --purge snapd
Kill Snap’s management tools.
rm -rf ~/snap
sudo rm -rf /snap
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
sudo rm -rf /var/cache/snapd
Kill Snap’s directories.
sudo bash -c "cat > /etc/apt/preferences.d/no-snapd.pref" << EOL
Package: snapd
Pin: origin ""
Pin-Priority: -1
EOL
Kill Snap’s update sources.
Then just install Chrome, or use Google’s official deb directly.

Of course, just because I’ve been cursing Snap out doesn’t mean I think Flatpak is great. That thing has even worse input method and font rendering support than Snap, only with smaller size, and it’s a “fucking Red Hat” industry standard. All these package management schemes pushed by Westerners always selectively ignore the needs of CJK users. Bring up input method support and they say open input methods are insecure. Ask what to do and they tell you to use iBus. Say iBus is shit and they say “well, it works, doesn’t it.” Fuck off.
Method reference: https://dr-knz.net/ubuntu-without-snap.html
Comments are hosted on the Chinese main site. This mirror is read-only.