Installing firefox as deb package in Ubuntu jammy jellyfish (Linux Lite)

Hi all, :wave:

after six and a half years I´ve now changed from Lubuntu to Linux Lite and I´m glad to have a running system again. :blush:

Linux Lite comes with google-chrome preinstalled as its default browser (which I don´t like a lot) so I installed firefox again.

The thing is: even when trying to install it with
sudo apt install firefox
you´ll get it as a snap package now. :slightly_frowning_face: That´s a real shame and in order to avoid such a scenario I looked around the web beforehand.

Alas I cannot give you the link of the source as I forgot to take notes at the time. I just took notes of the commands. Sorry.

I found the following:

sudo snap remove firefox  # didn´t have to do that as Linux Lite hasn´t got snapd installed
sudo add-apt-repository ppa:mozillateam/ppa
sudo apt install -t 'o=LP-PPA-mozillateam' firefox

O.K. I performed steps 2 and 3 and everything went well. :+1:


In order to prevent the next apt update from installing the snap version of Firefox, you also need to change the priority settings for apt:

sudo sh -c 'cat > /etc/apt/preferences.d/mozilla-ppa' << EOF
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

Well, that´s the point. I´m not quite sure how to do that. I guess I have to use the terminal for that.

But I´m not quite sure: Is this a single command or do I have to to hit “enter” after each line :question:

Perhaps someone can help me with that one.


There already seem to be be updates available. Linux Lite update manager shows me:

Name: firefox INSTALLED: 109.0+build2-0ubuntu0.22.04.1~mt1 AVAILABLE: 1:1snap1-0ubuntu2

So the snap version would indeed be installed if I went along. That´s what I want to avoid.

Thanks a lot in advance and many greetings
Rosika :slightly_smiling_face:


Hi Rosika,
That is a multiline sh command which reads all lines down to the EOF as standard input to the first line command.
It is called a ‘here is’ script. The <<EOF means use all following lines as STDIN until the EOF line is encountered
You can just type it line by line into the terminal, and it will not run until you type the final EOF
you can put it on a file, and run it as a shell script. Put a !# /bin/sh on it and make it executable

All it is doing is catting those 3 lines onto a file.
You could just make the file with an editor instead
If the file is already present it will overwrite it. Check that.

By the way, is firefox-esr available?


I read up on Linux-Lite. It originates in New Zealand.

1 Like

Hi Rosika,
This is what I done in my customised Xubuntu made with Cubic Builder.

If you don’t use Snaps, then remove Snaps altogether with…
sudo apt purge snapd
Reboot then if your OS has the Gnome Software Plugin Snap installed, then remove it with…
sudo apt-get remove --purge gnome-software gnome-software-plugin-snap

Then to get Firefox installed add this repository…

sudo add-apt-repository ppa:mozillateam/ppa
Update package manager to add PPA…
sudo apt update

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 Foss Tips (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

To keep Firefox up to date from PPA add these two lines as one, not separately…

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

Finally install Firefox…
sudo apt install firefox

Hope this helps, as been doing this all week on my Xubuntu 22.04.1 custom build, with home made wallpapers, custom menu Icon, Nemo as default file manager, no Thunar installed anymore. Snaps completely gone, custom homepage in Firefox written using HTML code searching only with Duck Duck Go, Docklike Taskbar like you get in Cinnamon or KDE, just the icon of the app on the panel, instead of a windows list or window buttons. The only problem with Cubic builder is it doesn’t support other installs on the grub screen, which acts as another security thing actually, as Xubuntu is hidden away, meaning having to go into Bios to boot it up as Legacy, no UEFI support, when built with Cubic Builder. Anyway hope this helps.


Hi again, :wave:

thanks a lot for your help. :heart:

@nevj :

Thanks Neville for the explanation.
I already heard of the “here is” script in the past but never had occasion to use it - until now. So I had forgotten all about it. :blush:

That I did and it went well. In the respective folder (which was empty before) I´ve got the file now:

ll /etc/apt/preferences.d/
total 4,0K
-rw-r--r-- 1 root root 70 Jan 18 14:49 mozilla-ppa

with the contents:

cat /etc/apt/preferences.d/mozilla-ppa 
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

Splendid :+1:
After running

sudo apt update; and apt list --upgradable

there´s no mention of any firefox updates any more. So it really worked. :wink:
Thanks so much.

Hmm, I think I rember having read about that one before but I´m not sure about ESR.
Don´t want to say anything stupid.

Oh, I just took a look at my notes and found here :

Ubuntu 22.04 returns Firefox as a snap and no more than classic DEB file. You can uninstall the snap and install Firefox in the ESR version via a PPA. How you can do this and especially when you should do this is written in this article.

in German / (translation via “TranslateLocally for Firefox” add-on)

Right. And I´m pretty satisfied with it so far (except for a few quirks).

Alas it seems to use a bit more RAM than Lubuntu:
Taking a look at htop after cold start: 771 MB RAM. :slightly_frowning_face:
(I´ve got 4 GB of RAM available on my system).

@clatterfordslim :

Thanks, Mark, for your detailed account of what you did. Seems very interesting.
You certainly put a lot of work in the customization of your system. :+1:

I see you used a different priority

Kofler (see: below) says: “Pin-Priority: 501” …
I don´t know enough to evaluate the differences. Anyhow it seems to have worked well with 501.

BTW: I´ve found the original source of the commands I mentioned in post #1:

Ubuntu 22.04 | .

Thanks a lot to both of you @nevj and @clatterfordslim .:heart:

Many greetings from Rosika :slightly_smiling_face:

1 Like

Hi Rosika

Here are a few observations on firefox and snaps, there are some repeats of clatterfordsims reply. I have just installed xfce 22.04 which came with Firefox snap. I wanted to use firefox-esr which was referred to in What is Firefox ESR? How to Install it in Ubuntu? so uninstalled the snap by
sudo snap remove --purge firefox
It was interesting to watch the process of disentangling the firefox snap from other applications showing how much overhead there is with a snap. I have another application installed as a snap so did not remove snaps totally, maybe later.

I installed firefox -esr by
sudo add-apt-repository ppa:mozillateam/ppa
sudo apt update
sudo apt install firefox-esr
and checked the version by
firefox-esr -v

The esr version is currently 102 and I copied over data from a later version which I had been using previously. On starting firefox I got a lot of warnings about the ‘bad’ things that would happen if I ran an earlier version than the data had been copied from. I then restarted firefox-esr from the terminal with
firefox-esr --allow-downgrade
and all previous data was loaded.

One of the nice features of xfce is that firefox as a preferred application can be started by key shortcut ‘Super W’ (W for web), very convenient if using a laptop when I find keyboard shortcuts quicker tha using the touch-pad. Similarly ‘Super M’ for email etc.


Hi Clive, :wave:

thanks a lot for the detailed account of what you did.

I´ve heard of that aspect as well.
So for many people there seem to be a variety of aspects as far as snap is concerned.

The main reason for me is: I want to be able to run certain programmes (especially the browser and e-mail client) sandboxed within firejail
… which wouldn´t work with snaps.

I know snaps provide a certain degree of sandboxing as well but I definitively want to put my eggs in the firejail basket. :wink:

Therefore my desire to install firefox as an apt package.

Thanks a lot and many greetings
Rosika :slightly_smiling_face:

1 Like

I just keep a copy of Firefox-ESR x86_64 binary in $HOME/sbin/…


How do you know it will work when you update other packages it depends on?

1 Like

Good question - I’ve no idea…

It’s never happened.

It’s a tar.gz of the Firefox-ESR x86_64 binaries I downloaded…

Same deal with ToR on Linux - it’s a fork of Firefox with ToR extensions - I just keep it also, in ~/sbin/to-browser_en-US… This instance of ToR manages to keep itself updated. Note : I’ve stopped actually using the ToR browser, as Brave now has that feature built-in.

Both just “work”. Never had issues after updates…

I think in BOTH cases, all their libraries are in the same folder ???

╭─x@titan ~/sbin/f--kedfox  
╰─➤  ls
131px-f--kfox_logo,_2019.svg.png  defaults            firefox-bin.sig    gtk2               pingsender            removed-files
application.ini                   dependentlibs.list  firefox.sig        icons               platform.ini          Throbber-small.gif
browser                           distribution        fonts          plugin-container      updater
crashreporter                     firefox             f--kedfox.desktop    minidump-analyzer  plugin-container.sig  updater.ini
crashreporter.ini                 firefox-bin         gmp-clearkey  omni.ja            precomplete           update-settings.ini

I did this in a fit of apopleptic rage (hence the expletives) - as I was trying to work (the stuff that pays the bills) and using Firefox to run Service Now, and when I’d right click on a ticket and “open in new tab” it would REFUSE until I restarted Firefox after an update.

I later learned, this wasn’t necessarily Firefox themselves, this was BEHAVIOUR that Canonical forced on their users by ENFORCING Firefox as a f–king SNAP.

Note : it’s actually broken, firefox ESR as a “portable application”… No idea why, don’t need it, don’t use it… zero interest in trying to figure out why :smiley: - it just constantly, in every tab utters “Gah. Your tab just crashed.” But the help and settigns / preferences “Tabs” still work…

1 Like

If you could get a static binary of firefox-esr, you would be immune to dependency problems.
A static binary could be rather large.


Just for shits n giggles - I’m going to try to get another much later version of ESR (102) as a and see if that runs okay - I expect it will… For me this is the best way to run Firefox (and avoid using the SNAP version - which itself BREAKS vital things in Ubuntu - like the Gnome Extensions plugin for Firefox) - the version of ESR I have as a “portable” app is 78.6… That’s well old…

This is hilarious “Updates disabled by your system administrator” (i.e. “me”) :

Running applications this way (as essentially “portable apps”) is what some O/S vendors call “side loading” - and it’s almost a euphemism for “doing bad stuff we don’t like” when used by Apple, or Google, or Samsung - and - even to some extent Microsoft… to be fair to Apple, this mostly applies to iOS, and not MacOS…

1 Like

Linux-lite, huh?
I was getting ready to replace my old Lubuntu on an even older ASUS-eee 9 (2GB) with some newer minimal OS.
After looking at a dozen or so of them, I finally decided on Linux-Lite, then found out it came only with Chomium!
The comments here will be useful as I wish to use Firefox instead of Chrome.
FF is already the default browser on my laptop and desktop (each has both Win11 and Ubuntu 22.04), and on my Raspberries.
Thanks, everyone! .


Well, that is the old fashioned way of running all programs… before the advent of package systems. I install R that way.
The real source of problems is dynamic loading ( ie .so files) because that is what lets us share a library between 2 or more apps.
If we went back to static loading ( ie .a files) the dependencies would disappear, but binaries would be larger.

Your newer version has a beter chance of working, because it will match the newer .so files, maybe.

I dont get this Ubuntu issue. Debian and MX both still run firefox as a package. Why do Ubuntu find it so difficult?

1 Like

Note : I just downloaded and un-archived the tar.bz2 for ESR 102, into the same folder (same name - different actual folder) my old firefox-ESR was copied to… ran it… it worked… Copied my icon and .desktop file - and it runs… sync’d my bookmarks using Firefox’s sync feature.

Disabled automatic updates (so it can’t prevent me from opening new tabs when I’m in the MIDDLE OF DOING SOME WORK!) and all good…

Much better behaviour than what the fascists at Canonical FOIST onto their users…

1 Like

I used to like LL, it was my first Linux distro in a then 10 year old desktop. It was 18.03 (?) edition. I really loved it. Then it’s got worse every time I upgraded, thanks (mostly) to Ubuntu. You can only upgrade it in within the version, like 5.1,2,4,6, and so on, when 6.0 came out, I had to do a fresh install. I tried it, there were lots of changes, the more I played with it, the less I enjoyed it. I switched to Mint Xfce and I will never go back.
I know, upgrading to new versions is not a good idea, but this way you won’t lose your favorite apps, that Ubuntu, Canonical later decide to kick out of their repository.


Good Luck… dont upgrade anything.

1 Like

I haven’t prevented it updating, just prevented it updaiting in the middle of using it…

i.e. “Check for updates but let you choose to install them”…

If I’m not “working” or using it - I will let it update.

On Windows (mostly Windows 2012 and 2016 RDP “jumphosts” - I dont’ actually have a physical Windows machine anywhere) I use for work - I have to keep an absolutely ANCIENT version of Firefox i386 (like version 48 or something) for Windows as a portable app with Java and Flash enabled (one of the systems I manage is managed via Flash only web system [Ventyx for deploying/managing KVM guests])…


Yes the latest version with their Synaptic updater icon on the panel which runs in the background, but does not allow you to see it’s updating progress, is really weird. I found when I used it for a while that I could update quicker using the Terminal. Terminal would find the updates quicker than Synaptic. Also after installing NVIDIA drivers, the same splash screen at boot, rather than the name of your motherboard would take forever booting too.

1 Like

That happens in Solus too. Their Software Centre is beautiful but slow.
It does not hsppen in MX… their Mx Package Installer is just as speedy as using apt on the terminal