thunderbird / opening links / ubuntu
For some reason, opening links from Thunderbird stopped working. When clicking a URL, I expected Chromium to open the website, but nothing happened.
After visiting a few bug reports and the Thunderbird advanced
configuration, I turned my attention to xdg-open
:
$ xdg-open 'https://wjd.nu'
ERROR: not connected to the gnome-3-38-2004 content interface.
Okay. So it wasn't a Thunderbird problem at all.
The culprit was that I had been doing some housekeeping in snap. (I
could fill a rant about what I dislike about snap/snapcraft, by the
way: silent automatic
updates
(you can only make it
non-silent
but still automatic), lots of squashfs mounts/directory
entries
when not used (why not mount on application startup?), recurring broken
fonts, flaky
GNOME integration,
not enough revisions accessible to go back to a working
version,
and those are merely UX complaints. Trying to fix a broken snap is near
impossible (first
verify, but
then what?), while with apt-get source
+ dpkg-buildpackage
you can
rebuild a modified package in minutes. And then I didn't even bring up
the controversy of why there is only one snap
store,
on which I — for once — do not have a strong opinion.)</rant>
Fixing the opening of links was a matter of:
$ snap install gnome-3-38-2004
gnome-3-38-2004 0+git.1f9014a from Canonical✓ installed
And now opening links works again. I have no idea why I need an extra 260MiB just to be able open links. We can chalk it up to “another great advantage of snap”.
$ df -h | grep gnome
/dev/loop10 163M 163M 0 100% /snap/gnome-3-28-1804/145
/dev/loop32 165M 165M 0 100% /snap/gnome-3-28-1804/161
/dev/loop0 249M 249M 0 100% /snap/gnome-3-38-2004/99
Sigh..
Update 2022-08-27
The most prominent list of why Snapcraft/snap is One Giant Disappointment in 2022:
- Chromium not having read permissions on readable files;
- recurring broken fonts;
- silent/uncontrollable automatic updates (and no, refresh-app-awareness is not a solution, even those working at Canonical dislike it);
- not enough revisions accessible to go back to a working version;
- missing udev rules that are hard to debug;
- confinement without telling the users (if we don't know we're being confined, we run into very obscure problems).
Apart from the actual bugs, they boil down to losing control on your own Linux system: losing control of building/rebuilding of packages; losing control of when/how to update; losing control over permissions through the extra sandboxing.