The snap packaging system is a convenient way to install containerised applications.
However, containerisation of applications has drawbacks, including an inability to communicate directly with other applications on the system (after all, that's kind of the point of process isolation).
In Ubuntu 22.04 (Jammy Jellyfish), the Firefox browser has been moved over to using a
snap package rather than a
.deb, and the package in the repos is now just a wrapper triggering install of the
Whilst process isolation does bring some security benefit, it also means that password managers such as KeepassXC are rendered useless because the Firefox extension can no longer communicate with the database.
Frustratingly, this isn't a surprise: a lot of things broke when Canonical moved Chromium to snap a couple of years back. That browsers are being moved over without the underlying problems being fixed is troubling.
However, it is possible to remove the Firefox snap and install as a native package instead.
This documentation details the process of uninstalling the Firefox snap, adding a repository and giving it's Firefox package priority over the one in the default repos.
Remove the snap
snap remove firefox
Add the Mozilla Team PPA
Increase the priority of it's firefox package
printf 'Package: firefox\nPin: release o=LP-PPA-mozillateam\nPin-Priority: 1500\n' | tee /etc/apt/preferences.d/mozilla-firefox
Note: If you also want to take
thunderbird from the PPA, set
Package: * in the string above instead
apt-get -y install firefox
If you launch Firefox, you should now have the non-snap version installed.
Because we've added the PPA,
unattended-upgrades (if enabled) should automatically install updates for you.
Snap packages undoubtedly have their place, but (IMO) they're extremely poorly suited for applications that are often extended.
They're also a terrible option for browsers, not just because of things like extension communications but also because they also tend to bundle in things like certificate stores: ignoring the system's trust-store in favour of one outside the control of the end-user.
Back in 2020, moving Chromium from snap was a hacky mess, thankfully, moving Firefox back out of snap is much less painful and can be completed in a couple of quick steps.