# Firefox

Related articles

- Browser plugins
- Firefox/Tweaks
- Chromium
- Opera

Firefox is a popular open-source graphical web browser from Mozilla.

## Installing

Firefox can be installed with the firefox package.

Other alternatives include:

- Firefox Extended Support Release — long-term supported version

  https://www.mozilla.org/firefox/organizations/ || firefox-esrAUR or firefox-esr-binAUR

- Firefox Beta — cutting-edge version

  https://www.mozilla.org/firefox/channel/#beta || firefox-betaAUR or firefox-beta-binAUR

- Firefox Developer Edition/Aurora — for developers

  https://www.mozilla.org/firefox/channel/#developer || firefox-auroraAUR

- Firefox Nightly — nightly builds for testing (experimental features)

  https://nightly.mozilla.org/ || firefox-nightlyAUR

- Firefox KDE — Version of Firefox that incorporates an OpenSUSE patch for better KDE integration than is possible through simple Firefox plugins.

  https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox || firefox-kde-opensuseAUR

- On top of the different Mozilla build channels, a number of forks exist with more or less special features; see List of applications#Gecko-based.

Here you can find an overview of Mozilla's releases.

There are a number of language packs available for Firefox, other than the standard English. Language packs are usually named as `firefox-i18n-languagecode` (where `languagecode` can be any language code, such as de, ja, fr, etc.). For a list of available language packs see this.

## Add-ons

Firefox is well known for its large library of add-ons which can be used to add new features or modify the behavior of existing features of Firefox. You can find new add-ons or manage installed add-ons with Firefox's "Add-ons Manager."

For a list of popular add-ons, see Mozilla's add-on list sorted by popularity. See also List of Firefox extensions on Wikipedia.

### Adding search engines

Search engines can be added to Firefox through normal add-ons, see this page for a list of available search engines.

A very extensive list of search engines can be found here.

Also, you can use the add-to-searchbar extension to add a search to your search bar from any web site, by simply right clicking on the site's search field and selecting Add to Search Bar...

#### arch-firefox-search

Install the arch-firefox-search package to add Arch-specific searches (AUR, wiki, forum, etc, as specified by user) to the Firefox search toolbar.

### GNOME Keyring integration

Install mozilla-extension-gnome-keyring-gitAUR (all-JavaScript implementation) to integrate Firefox with GNOME Keyring. To make firefox-gnome-keyring use your login keychain, set extensions.gnome-keyring.keyringName to "login" (without the double quotes) in about:config. Note the lowercase 'l' despite the the keychain name having an uppercase 'L' in Seahorse.

## Configuration

Firefox exposes a number of configuration options. To examine them, enter:

    about:config

in the Firefox address bar.

Once set, these affect the user's current profile, and may be synchronized across all devices via Firefox Sync. Please note that only a subset of the `about:config` entries are synchronized by this method, and the exact subset may be found by searching for `services.sync.prefs` in `about:config`. Additional preferences and 3rd party preferences may be synchronized by creating new boolean entries prepending the config value with `services.sync.prefs.sync` (documentation is still applicable.) To synchronize the whitelist for the extension NoScript:

    services.sync.prefs.sync.capability.policy.maonoscript.sites

The boolean `noscript.sync.enabled` must be set to true to synchronize the remainder of NoScript's preferences via Firefox Sync.

Firefox also allows configuration for a profile via a `user.js` file: user.js kept in the profile folder, usually `~/.mozilla/firefox/some name.default/`. For a useful starting point, see e.g custom user.js which is targeted at privacy/security conscious users.

One drawback of the above approach is that it is not applied system-wide. Furthermore, this is not useful as a "pre-configuration", since the profile directory is created after first launch of the browser. You can, however, let firefox create a new profile and, after closing it again, copy the contents of an already created profile folder into it.

Sometimes it may be desired to lock certain settings, a feature useful in widespread deployments of customized Firefox. In order to create a system-wide configuration, follow the steps outlined in Locking preferences:

1. Create `/usr/lib/firefox/defaults/pref/local-settings.js`:

    pref("general.config.obscure_value", 0);
    pref("general.config.filename", "mozilla.cfg");

2. Create `/usr/lib/firefox/mozilla.cfg` (this stores the actual configuration):

    //
    //...your settings...
    // e.g to disable Pocket, uncomment the following line
    // lockPref("browser.pocket.enabled", false);

Please note that the first line must contain exactly `//`. The syntax of the file is similar to that of `user.js`.

### Multimedia playback

Firefox will try to use FFmpeg for playing multimedia inside HTML5 `<audio>` and `<video>` elements. For this to work, the ffmpeg package needs to be installed.

Restart Firefox, and go to YouTube's HTML5 page, video-test page or audio-test page to check which formats are actually supported.

Since Firefox 49 HTML5 DRM playback is supported by the Google Widevine CDM, it is however not enabled by default. See Preferences > Content > DRM content if you want to learn more.

See Firefox tweaks#Enable additional media codecs for advanced configuration and enabling support for Widevine (Netflix, Amazon Video, etc.).

### Dictionaries for spell checking

To enable spell checking for a specific language right click on any text field and check the Check Spelling box. To select a language for spell checking to you have right click again and select your language from the Languages sub-menu.

To get more languages just click Add Dictionaries... and select the dictionary you want to install from the list.

Alternatively, you can install the hunspell package. You also need to install dictionaries for your language, such as hunspell-fr (for the French language) or hunspell-he (for Hebrew).

By default, Firefox will try to symlink all your hunspell dictionaries in `/usr/lib/firefox/dictionaries`. If you want to have less dictionaries offered to you in Firefox, you can remove some of those links. Be aware that it may not stand an upgrade of Firefox.

When your default language choice does not stick, see #Firefox does not remember default spell check language.

### KDE integration

Warning: Since GTK3 was updated to 3.20.x, there are several broken themes. Including Breeze, the recommended theme for integration between KDE and GTK styles. Some of the issues are invisible scroll bars, no text highlight on selection, invisible checkboxes, among others. As a workaround while the themes are upgraded you can do the following after installing kde-gtk-config, go to `System Settings` -> `Application Style` -> `GNOME Application Style (GTK)` and choose in the Select a GTK3 Theme dropdown choose the Default theme, also make sure Show icons in GTK buttons and Show icons in GTK are checked. For further information on the compatibility issue above visit the GTK3 3.20 upgrade thread in the Arch Forums.

- To bring the KDE look to GTK apps (including Firefox), install breeze-gtk and kde-gtk-config. Afterwards, go to `System Settings` -> `Application Style` -> `GTK`. Be sure to choose 'Breeze' in 'Select a GTK2/GTK3 Theme' and check 'Show icons in GTK buttons' and 'Show icons in GTK'.

- For integration with KDE’s mime type system and file dialogs, one can use firefox-kde-opensuseAUR variant from AUR with OpenSUSE’s patches applied.

- Add-ons may provide some integration, such as KWallet integration, Unityfox Revived, and Plasma notifications.

## Plugins

Note: Firefox will remove support for plugins (except for Flash) in Firefox 52 (March 2017).[1][2]

See the main article: Browser plugins

To find out what plugins are installed/enabled, enter:

    about:plugins

in the Firefox address bar or go to the Add-ons entry in the Firefox Menu and select the Plugins tab.

## Tips and tricks

For general enhancements see Firefox/Tweaks, for privacy related enhancements see Firefox/Privacy.

### Screenshot of webpage

To use Firefox to take a screenshot of a webpage open the developer console using `Shift+F2`. Then type in:

    screenshot filename

where filename is optional.

To take a screenshot of the entire page, not just the section displayed on the screen, use the `--fullpage` option:

    screenshot --fullpage filename

## Troubleshooting

### Firefox startup takes very long

If Firefox takes much longer to start up than other browsers, it may be due to lacking configuration of the localhost in `/etc/hosts`. See Network configuration#Local network hostname resolution on how to set it up.

### Font troubleshooting

See Font configuration.

### Setting an email client

Inside the browser, `mailto` links by default are opened by a web application such as Gmail or Yahoo Mail. To set an external email program, go to Preferences > Applications and modify the action corresponding to the `mailto` content type; the file path will need to be designated (e.g. `/usr/bin/kmail` for Kmail).

Outside the browser, `mailto` links are handled by the `x-scheme-handler/mailto` mime type, which can be easily configured with xdg-mime. See Default applications for details and alternatives.

### File association

See Default applications.

#### File association problems

This article or section needs expansion.

Reason: Mention `xdg-open` trick in `Preferences > Applications`, and possible mistakes with `octet/binary-stream` [3] (Discuss in Talk:Firefox#)

This section is being considered for removal.

Reason: firefox does not use libgnome for version 50 and later. Waiting for Firefox 50 and then remove it. See this bug for detail. (Discuss in Talk:Firefox#)

For non-GNOME users, Firefox may not associate file types properly or at all (in the "Open With" part of the download dialog). Installing libgnome amends the problem.

See also [4].

### Firefox keeps creating ~/Desktop even when this is not desired

Firefox uses `~/Desktop` as the default place for download and upload files. To change it to another folder, set the `XDG_DESKTOP_DIR` option as explained in XDG user directories.

### Make plugins respect blocked pop-ups

Some plugins can misbehave and bypass the default settings, such as the Flash plugin. You can prevent this by doing the following:

1. Type `about:config` into the address bar.
2. Right-click on the page and select `New` and then `Integer`.
3. Name it `privacy.popups.disable_from_plugins`.
4. Set the value to 2.

The possible values are:

- 0: Allow all popups from plugins.
- 1: Allow popups, but limit them to dom.popup_maximum.
- 2: Block popups from plugins.
- 3: Block popups from plugins, even on whitelisted sites.

### Middle-click errors

A common error message you can get while using the middle mouse button in Firefox is:

    The URL is not valid and cannot be loaded.

Another symptom is that middle-clicking results in unexpected behavior, like accessing a random web page.

The reason stems from the use of the middle mouse buttons in UNIX-like operating systems. The middle mouse button is used to paste whatever text has been highlighted/added to the clipboard. Then there is the possibly conflicting feature in Firefox, which defaults to loading the URL of the corresponding text when the button is depressed. This can be easily disabled by going to `about:config` and setting the `middlemouse.contentLoadURL` option to false.

Alternatively, having the traditional scroll cursor on middle-click (default behavior on Windows browsers) can be achieved by searching for `general.autoScroll` and setting it to true.

### Backspace does not work as the 'Back' button

As per this article, the feature has been removed in order to fix a bug. To re-introduce the original behavior go to `about:config` and set the `browser.backspace_action` option to 0 (zero).

### Firefox does not remember login information

It may be due to a corrupted `cookies.sqlite` file in Firefox's profile folder. In order to fix this, just rename or remove `cookie.sqlite` while Firefox is not running.

Open a terminal of choice and type the following:

    $ cd ~/.mozilla/firefox/xxxxxxxx.default/
    $ rm -f cookies.sqlite

Note: xxxxxxxx represents a random string of 8 characters.

Restart Firefox and see if it solved the problem.

### Unreadable input fields with dark GTK+ themes

This article or section is a candidate for merging with Firefox tweaks#Appearance.

Notes: Anything on that page might be in troubleshooting section as well, so let us keep the info in one place. (Discuss in Talk:Firefox#)

When using a dark GTK+ theme, one might encounter Internet pages with unreadable input and text fields (e.g. Amazon can have white text on white background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme.

A work around is to explicitly setting standard colors for all web pages in `~/.mozilla/firefox/xxxxxxxx.default/chrome/userContent.css` or using stylish add-on.

The following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:

Note: If you want `urlbar` and `searchbar` to be `white` remove the two first `:not` css selectors.

    input:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']) {
        -moz-appearance: none !important;
        background-color: white;
        color: black;
    }

    #downloads-indicator-counter {
        color: white;
    }

    textarea {
        -moz-appearance: none !important;
        background-color: white;
        color: black;
    }

    select {
        -moz-appearance: none !important;
        background-color: white;
        color: black;
    }

Another workaround is to force Firefox to use a light theme (e.g. "Adwaita:light"):

1. Copy `/usr/share/applications/firefox.desktop` to `~/.local/share/applications/firefox.desktop` and replace all occurrences of `Exec=firefox` with `Exec=env GTK_THEME=Adwaita:light firefox`.
2. Close all running instances of Firefox and restart your window manager/desktop environment.

### "Do you want Firefox to save your tabs for the next time it starts?" dialog does not appear

From the Mozilla support site:

1. Type `about:config` in the address bar.
2. Set `browser.warnOnQuit` to true.
3. Set `browser.showQuitWarning` to true.

### Silently fails when installing desktop apps from marketplace

Installation of apps from firefox os marketplace will silently fail if there is no `~/.local/share/applications` folder.

### Firefox detects the wrong version of my plugin

When you close Firefox, the latter saves the current timestamp and version of your plugins inside `pluginreg.dat` located in your profile folder, typically in `~/.mozilla/firefox/some name.default/`.

If you upgraded your plugin when Firefox was still running, you will thus have the wrong information inside that file. The next time you will restart Firefox you will get that message `Firefox has prevented the outdated plugin "XXXX" from running on ...` when you will be trying to open content dedicated to that plugin on the web. This problem often appears with the official Adobe Flash Player plugin which has been upgraded while Firefox was still running.

The solution is to remove the file `pluginreg.dat` from your profile and that is it. Firefox will not complain about the missing file as it will be recreated the next time Firefox will be closed. [5]

### Javascript context menu does not appear on some sites

In `about:config`, unset the `dom.w3c_touch_events.enabled` setting.

### Firefox does not remember default spell check language

The default spell checking language can be set as follows:

1. Type `about:config` in the address bar.
2. Set `spellchecker.dictionary` to your language of choice, for instance `en_GB`.
3. Notice that the for dictionaries installed as a Firefox plugin the notation is `en-GB`, and for hunspell dictionaries the notation is `en_GB`.

When you only have system wide dictionaries installed with hunspell, Firefox might not remember your default dictionary language settings. This can be fixed by having at least one dictionary installed as a Firefox plugin. Notice that now you will also have a tab Dictionaries in add-ons.

Related questions on the StackExchange platform: [6], [7], [8]

Related bug reports: Bugzilla 776028, Ubuntu bug 1026869

### Some MathML symbols are missing

You need some Math fonts, namely Latin Modern Math and STIX (see this MDN page: [9]), to display MathML correctly.

In Arch Linux, these fonts are provided by texlive-core and texlive-fontsextra, but they are not available to fontconfig by default. See TeX Live#Fonts for details. You can also try other Math fonts.

### Picture flickers while scrolling

The factual accuracy of this article or section is disputed.

Reason: Most likely a driver issue, useless without reference (Discuss in Talk:Firefox#)
Note: Problem available in some MATE desktops

Uncheck the "smooth scrolling" settings:

    Edit > Settings > Advanced > General > Use smooth scrolling

### Tearing video in fullscreen mode

If you are using the Xorg Intel or Nouveau drivers and experience tearing video in fullscreen mode, try Firefox tweaks#Enable OpenGL Off-Main-Thread Compositing (OMTC).

### Firefox looks bad with GTK+ >=3.20

Firefox (as of version 47) does not support GTK+ >=3.20 and may look unsightly as a result. A possible resolution is compiling Firefox against GTK2 instead, see firefox-gtk2AUR. Alternatively, you may use markzz's repository or archlinuxcn's (x86_64 only) for pre-built GTK2 Firefox packages.

## See also

- Official website
- Mozilla Foundation
- Firefox wiki
- Firefox Add-ons
- Firefox themes

Category:

- Web browser

Hidden categories:

- Pages or sections flagged with Template:Expansion
- Sections flagged with Template:Remove
- Pages or sections flagged with Template:Merge
- Pages or sections flagged with Template:Accuracy