Translation(s): English - Español - Français - Italiano - Português (Brasil) - Русский
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, Mozilla Corporation. Firefox is available for many Operating Systems, on desktop and mobile.
Contents
Installing Firefox
From Debian packages
On DebianStable, Install the firefox-esr package.
This installs the Extended Support Release of Firefox. ESRs are not updated with new features every six weeks. They are instead supported for more than a year, updating with major security or stability fixes.
Support for languages other than English is available in packages named firefox-esr-l10n*.
On DebianUnstable, to install the Release version of Firefox, install the firefox package.
From Mozilla APT repository (recommended by Mozilla)
Starting with Firefox version 122, Mozilla provides an apt repository for Debian. Mozilla recommends this installation method above the others, listed below. Installation instructions are available online.
From Mozilla binaries
Since the APT repository was published, this method is now obsolete.
Mozilla's Firefox binaries can be downloaded here:
https://www.mozilla.org/en-US/firefox/ - Release
https://www.mozilla.org/en-US/firefox/channel/desktop/#beta - Beta
https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly - Nightly
To install any of them on DebianStable:
- Download the Firefox version you want directly from the official website
- Uncompress the archives:
in the /opt directory (system-wide installation - requires Root privileges)
- in your home directory (install only for the current user)
Create a file firefox-stable.desktop (replace stable with beta or nightly if needed) with the contents below:
in the /usr/share/applications directory (system-wide installation - requires Root privileges)
in the ~/.local/share/applications directory (install only for the current user)
[Desktop Entry] Name=Firefox Stable Comment=Web Browser Exec=/opt/firefox/firefox %u Terminal=false Type=Application Icon=/opt/firefox/browser/chrome/icons/default/default128.png Categories=Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https; StartupNotify=true Actions=Private; [Desktop Action Private] Exec=/opt/firefox/firefox --private-window %u Name=Open in private mode
Replace /opt/firefox with the path to the directory where you extracted the archive.
If you want to be able to launch Firefox from a CommandLineInterface, create a symlink to the firefox executable in /usr/local/bin/. For example: sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox
If you want to use your manually installed Firefox as the default DebianAlternatives browser (x-www-browser), run sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /opt/firefox/firefox 200 && sudo update-alternatives --set x-www-browser /opt/firefox/firefox
In order for the application file to correctly show when using the Gnome application switcher (usually Alt+Tab), you need to copy the icon to your local icons: cp /opt/firefox/browser/chrome/icons/default/default128.png ~/.local/share/icons/firefox-stable.png (You can replace stable with beta or nightly if needed)
For the Firefox icon to appear correctly in the Task Manager for KDE Plasma and Wayland, you will need to add StartupWMClass=firefox under the [Desktop Entry] section of the .desktop file created.
For the Firefox icon to appear correctly in the Task Switcher for KDE Plasma and Wayland, you will need to configure an Application Specific-Setting. To do so, with a Firefox window open, press ALT+F3, go under "More Actions" and click on "Configure Application-Specific Settings". Add a new property for "Desktop file name" and set the value to the name of the .desktop file (without a file extension) with the action set to Force.
From Flathub
Mozilla provides an official FlatPak at FlatHub.
CAVEAT: Flatpaks don't support native messaging. Therefore, add-ons which rely on it such as KeePassXC Browser don't work. A workaround for KeePassXC is described in the Flathub forum. Since the KeePassXC's socket has been renamed in KeePassXC 2.6, for this version you need to tweak the solution as described in comment #3
If you haven't already set up flatpak, run
sudo apt install flatpak flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Install it:
flatpak install flathub org.mozilla.firefox
Run it:
flatpak run org.mozilla.firefox
If you have added /var/lib/flatpak/exports/bin to your PATH, you can also run it with the command
org.mozilla.firefox
If you want to use your Firefox flatpak as the default DebianAlternatives browser (x-www-browser), run
sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /var/lib/flatpak/exports/bin/org.mozilla.firefox 200 && sudo update-alternatives --set x-www-browser /var/lib/flatpak/exports/bin/org.mozilla.firefox
Using snap
Mozilla provides an official Snap package for Firefox:
If you haven't already installed snapd, run
sudo apt install snapd
Install it:
sudo snap install firefox
Run it:
snap run firefox
Snaps support native messaging, so no extra steps are required to enable support for add-ons such as KeePassXC Browser.
Migrating from Debian's Firefox to Upstream's
First install Firefox as described in this Mozilla knowledge base article
Upon first starting the new upstream Firefox, the new upstream Firefox will start with a new, fresh, empty profile. If you do not want that, but want to keep using your previous bookmarks, settings, extensions and so on, then terminate Firefox and start it like this:
firefox --ProfileManager
You'll be presented with available profiles. The new, fresh profile will probably be named default-esr-1 (if you are using an ESR release Firefox). The profile that you were using before, with Debian's Firefox, will probably be named default-esr (if you had not renamed it in the past). Select the default-esr profile. Now check that everything works fine, because it might be that a new Firefox will not be able to cope with the profile of an old Firefox. If you are happy, then next time you start Firefox, then do it again by running firefox --ProfileManager and make sure your old profile is selected as the default one.
Attention: when terminating Firefox cleanly, Firefox will ask you if you really want to close the N currently open tabs. If you confirm then on the next start Firefox will have lost your currently open tabs. What you can do instead to terminate Firefox and preserve your session - that is the currently open tabs - is to look up the main Firefox process and to kill it. That way Firefox will ask you next time, whether you want to restore the session and tabs it had before it was killed. All this might be not clean and you might loose data that you were entering in forms before you killed Firefox, so think about it before killing Firefox this way.
Hardware Video Acceleration
Setup your system and install required packages: HardwareVideoAcceleration
Starting around version 95 Firefox has enabled hardware video acceleration via VA-API but still needs to be manually turned on. firefox-esr version 102 is available from the Debian Security repositories for Debian 11 since 2022-09-23.
Enter about:config in address bar:
media.ffmpeg.vaapi.enabled |
true |
AVC/h.264 HEVC/h.265 works |
media.ffvpx.enabled |
false |
disables firefox internal software decoding of VP8/VP9 and forces hardware decoding |
Then launch firefox based on whether you use X11 or Wayland:
X11 |
MOZ_X11_EGL=1 |
Wayland/Xwayland |
MOZ_ENABLE_WAYLAND=1 |
e.g. .desktop launcher command for X11 and Mozilla binary:
Exec=env MOZ_X11_EGL=1 /home/user/firefox/firefox
For version 96 and above, the above settings may change.
Intel
# intel_gpu_top
intel_gpu_top will show the video engine being used if hardware video acceleration is working. So long as it is above 0%, it is working.
Nvidia
When using Nvidia proprietary drivers, package nvidia-vaapi-driver must be additionally installed. Refer to project's README file for necessary configuration. There were reports from some users that it didn't work for them with driver versions older than 570.
Disable AV1 codec
If vainfo shows your hardware supports AV1 decoding, leave this enabled.
A lot of hardware does not support hardware decoding of AV1. You can disable the codec, so sites like youtube will fall back to h.264/h.265 or VP8/VP9 which is supported. This will save your battery and/or reduce power consumption/CPU load.
Enter about:config in address bar:
media.av1.enabled |
false |
Note: If the website only has AV1 video available, no video will be displayed at all.
Profile
Firefox user data (your home page, toolbars, installed extensions, passwords, bookmarks...) are stored in a profile folder. (See this Mozilla support page).
~/.mozilla/firefox/: location of profile directory; for flatpak installations, it is ~/.var/app/org.mozilla.firefox/.mozilla/firefox/
/etc/firefox-esr/default/profile/: Files to copy to newly created profiles. Use this location to preconfigure Firefox.
~/.mozilla/firefox/*.*/user.js: firefox preferences for each profile. These preferences can also be set from the browser interface, or from the about:config page.
/etc/firefox-esr/firefox-esr.js: default Firefox system-wide preferences. Each profile/user can override these preferences.
You can start the Profile Manager from Firefox or from the command line: firefox --no-remote -P
- If firefox refuses to start with the existing profile because the version of firefox launched is supposedly not compatible, you can try removing the file compatibility.ini within the profiles directory. You may want to back up the profiles directory first, in case of an actual incompatibility.
find ~/.mozilla.firefox/ -name compatibility.ini -exec rm '{}' \;
or, if you are using flatpak
find ~/.var/app/org.mozilla.firefox/.mozilla/firefox/ -name compatibility.ini -exec rm '{}' \;
Disabling automatic connections
Firefox makes a number of automated connections to Mozilla's (and other's) servers without explicitly asking the user for approval. Mozilla documents that list in the How to stop Firefox from making automatic connections page. Here is a table of the above parameters and how Debian diverges from the upstream default:
The table below may be out of date. It was created on 2018-09-23 from the upstream page by looking at an empty profile on Firefox ESR 60.2.1esr-1. Mozilla's documentation itself may be missing some parameters as well.
Feature |
Parameter |
Mozilla |
Debian |
Auto-update checking |
app.update.enabled |
true |
false |
Auto-update search engines |
browser.search.update |
true |
true |
Blocklist updating |
extensions.blocklist.enabled |
true |
true |
Anti-phishing and malware protection lists |
browser.safebrowsing.downloads.remote.enabled |
true |
true |
Tracking protection |
privacy.trackingprotection.enabled |
false |
false |
Secure website certificates (OCSP) |
security.OCSP.enabled |
1 |
1 |
Link prefetching |
network.prefetch-next |
true |
true |
DNS prefetching |
network.dns.disablePrefetch |
false (means enabled) |
false |
Speculative pre-connections |
network.http.speculative-parallel-limit |
6 |
0 |
Add-on list prefetching |
N/A (can't be turned off) |
enabled |
enabled |
Extensions update check |
extensions.update.enabled |
true |
true |
Live Bookmarks updating |
N/A (user-enabled) |
none by default |
none by default |
Downloads restarted |
N/A (user-enabled) |
N/A |
N/A |
Search plugin icon loading |
? |
? |
? |
Firefox Sync |
? (needs user to opt-in) |
N/A |
N/A |
Snippets |
browser.aboutHomeSnippets.updateUrl |
enabled |
enabled |
Geolocation for default search engine |
browser.search.geoip.url |
enabled |
enabled |
"What's new" page |
browser.startup.homepage_override.mstone |
enabled |
enabled |
Add-on metadata updating |
extensions.getAddons.cache.enabled |
enabled |
enabled |
Telemetry |
browser.selfsupport.url |
N/A? |
N/A? |
Telemetry |
toolkit.telemetry.enabled |
false in releases, true in nightly |
false? there are other parameters |
toolkit.telemetry.coverage.opt-out |
not present (means enabled) |
not present |
|
OpenH264 plugin download |
media.gmp-gmpopenh264.enabled |
true |
false |
WebRTC |
multiple |
enabled |
enabled? |
Send Video To Device |
browser.casting.enabled |
false |
N/A? |
Captive portal detection |
network.captive-portal-service.enabled |
true |
true |
Loopback connection |
can't be disabled |
disabled on Linux |
disabled |
Other projects aim at improving security and privacy in Firefox:
NoScript - addon JavaScript monitor written by Giorgio Maone.
TorBrowser - Firefox-based Web browser aimed at defending against tracking, surveillance, and censorship.
https://github.com/pyllyukko/user.js - Firefox configuration hardening
https://gitlab.com/anarcat/scripts/blob/master/firefox-tmp - Anarcat's firefox-tmp script
uMatrix (pronounced micromatrix) add-on written by Raymond Hill.
Plugins
NPAPI plugins are no longer supported in Firefox as of version 85: Mozilla Firefox no longer supports NPAPI plugins
Troubleshooting
Firefox is consistently crashing on a website:
- Update Firefox.
- Run the latest version of the application.
Run firefox in safe mode (extensions and themes disabled): firefox --safe-mode
- If safe mode fixes the problem, one of your extensions may be the root cause, update or disable the extension.
Create a new firefox profile: firefox --no-remote -P (or from the about:profiles page)
- Disable hardware acceleration (see below).
- If hardware acceleration fixes the problem, then the video driver may need updating.
Also see [https://support.mozilla.org/en-US/kb/troubleshoot-extensions-themes-to-fix-problems Troubleshoot extensions, themes and hardware acceleration issues to solve common Firefox problems].
No sound:
Go through the general Sound troubleshooting steps. If this fails, reinstall alsa and pulseaudio:
sudo apt remove --purge alsa-base pulseaudio sudo apt install alsa-base pulseaudio
Bad rendering performance:
If Firefox performs poorly when rendering webpages or playing full-screen videos, a first step before setting up Hardware Video Acceleration is to switch gfx.webrender.all to true in about:config. Depending on your graphics card and drivers, this may or may not have a positive effect on performance.
Security error when navigating to a website whose certificate is signed by a private Certificate Authority
Verify if following the steps at Adding a private / custom Certificate Authority to Firefox help
Iceweasel
From Debian Etch through Debian Jessie (9th June 2016), Mozilla Firefox was not available in Debian with the official name or branding. Instead, Debian shipped a free-software version rebranded by Debian, named Iceweasel. This fork was maintained because of a disagreement with Mozilla regarding backporting of the security fixes to DebianStable, and as the result could not use trademarked Mozilla artwork.
Starting from DebianStretch, the iceweasel package has been made a transitional package for firefox-esr. Normal Debian support policies, including patches for bug fixes, apply to the package.
https://lists.debian.org/debian-devel/2006/10/msg00665.html - Will IceWeasel be based on a fork or on vanilla FireFox?
https://lwn.net/Articles/676799/ - The end of the Iceweasel Age
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006 - Renaming Iceweasel to Firefox
Iceweasel used to require gstreamer1.0-libav gstreamer1.0-plugins-good packages for good video playback support.
External links
CategoryWebBrowser | CategorySoftware | CategoryNetworkApplication