How to Install Firefox as a .Deb on Ubuntu 22.04 (Not a Snap)

In this guide I detail how to install Mozilla Firefox as a .deb package on Ubuntu 22.04 LTS or above and not as a snap app.

This guide is needed because Ubuntu 22.04 and later comes with the Firefox snap package by default. The snap is the only version of Firefox included ‘out of the box’. But even if you run apt install firefox it will NOT install a Deb version as before. Instead, it’ll re-install the snap.

If you specifically don’t want to use the Firefox Snap — and there are reasons you might not — this can be frustrating.

Snap apps have their pluses (no, really) there are some oft-mentioned negatives:

  • Snap apps update automatically in the background
  • Snap app startup times are slower than regular software
  • Some third-party integrations are (currently) broken

All of these are surmountable; there are command line options to adjust, pause, or delay snap updates; slow app start up times are being worked on; and issue regarding broken desktop integrations (e.g, GNOME extensions, third-party password managers, etc) are also in various stages of being fixed.

But still…

Installing Firefox via Apt (Not Snap)

image showing a deb package with a tick, the firefox logo, and the snap app icon with a cross

The good news is that you can install a Firefox deb on Ubuntu 22.04 (or 22.10, or 23.04) with a couple of commands. First you add the Mozilla Team PPA, then you install the Firefox deb from the PPA, and then you ‘pin’ the package to ensure that the Firefox Snap is NOT reinstalled at a later date.

However, before going further you should backup/export any important browser settings, bookmarks, and other data from Firefox — just incase anything goes rogue.

When you’re reading to proceed do the following:

Step 1: Remove the Firefox Snap by running the following command in a new Terminal window:

sudo snap remove firefox

Step 2: Add the (Ubuntu) Mozilla team PPA to your list of software sources by running the following command in the same Terminal window:

sudo add-apt-repository ppa:mozillateam/ppa

Step 3: Next, alter the Firefox package priority to ensure the PPA/deb/apt version of Firefox is preferred. This can be done using a slither of code from FosTips (copy and paste it whole, not line by line):

echo ‘
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
‘ | sudo tee /etc/apt/preferences.d/mozilla-firefox

Step 4: Since you’ll (hopefully) want future Firefox upgrades to be installed automatically, Balint Reczey shares a concise command on his blog that ensures it happens:

echo ‘Unattended-Upgrade::Allowed-Origins:: “LP-PPA-mozillateam:${distro_codename}”;’ | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox

Step 5: Finally, install Firefox via apt by running this command:

sudo apt install firefox

Once Firefox installation is complete you can pop open the app launcher (click the icon in the Ubuntu Dock or click press the super key on your keyboard). Now when you click on the Firefox icon it will launch a de-Snapped version you can then pin to the Ubuntu dock.

Sidenotes…

If your main reason for wanting a .deb version of Firefox is so you can install GNOME extensions I will point out there is a simpler workaround: install the (fantastic) GNOME Extension Manager app from the repo using sudo apt install gnome-shell-extension-manager.

Want to install GNOME extensions? Try the new extension manager app instead!

That tool renders the need for browser integration totally moot which is why it’s on our list of things to do after installing Ubuntu 22.04. It lets you search, browse, update, install, and manage your extensions within an app not a browser.

Also, keep in mind that the “bug” that means some third-party apps and extensions (like password managers) don’t work with the Firefox snap are being addressed and will be fixed in the future — so consider hanging tight for a solution!

Finally, the Mozilla Team PPA was initially designed to provide Extended Support Release (ESR) versions of the browser. I haven’t been able to locate any statement to say whether the PPA will get new builds of Firefox ASAP (as with the Snap version) or merely at a later date, volunteer dependent. Keep this in mind.

But hey: I know many of you have been asking how to replace the Firefox Snap with a deb version and, short of downloading and linking the Firefox binary — not the worst way to run it; it was my workaround during 21.10 — this method is arguably the most analogous drop-in for the (now gone) old apt build.

Similar Posts

  • Intel e1000e Linux Driver

    Linux* e1000e Base Driver overview and installation   Using the e1000e Base Driver for Gigabit Intel® Network Connections The e1000e driver supports PCI Express* Gigabit Network Connections except the 82575, 82576, 82580, and I350. Download e1000e here Overview Building and installation Command line parameters Speed and duplex configuration Additional configurations Overview The Linux base drivers support the 2.4.x…

  • Invalid or Missing Entitlement Certificates

    How to turn off the warning message, “Invalid or Missing Entitlement Certificates” last modified by Moritoshi Oshiro on 09/21/11 – 04:29Issue We manage entitlement/subscription in RHN Classic (not Customer Portal) The system is not connected to the Internet with RHN Classic (in disconnected mode), therefore the system is not registered in RHN Classic When the…

  • Configure redhat remote printers

    On system connected to printer In system-config-settings under server settings check Share published printers connected to this system. On system connecting to remote printer Using makePrinter, create a printer using the same printer name as server. Also, hostname of server must be in /etc/hosts.  The UIR(port) should be ipp-1. Using system-config-printers, modify Device URI to read ipp//host-IP:631/printers/printer-name This allows for remote printing using the internet printer protocol.

  • Make Bootable USB Drive

    Make Bootable USB Drive with RHEL 6.3 Copy all files for image to a directory, RHEL63KS. Make the iso image file by typing the following command: mkisofs -o boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -V RHEL63KS -T ./RHEL63KS This will create a file called boot.iso. Rename this file, RHEL63KS.iso. Insert…