Firefox: Difference between revisions
(→KDE/GNOME integration: add required packages xdg-desktop-portal & xdg-desktop-portal-kde) |
Tairosonloa (talk | contribs) (Added a new troubleshooting, input boxes seems black when desktop dark theme is applied.) |
||
Line 336: | Line 336: | ||
This can also help if you are using the PulseAudio [[PulseAudio/Troubleshooting#Enable Echo/Noise-Cancellation|module-echo-cancel]], and Firefox does not recognise the virtual echo canceling source. | This can also help if you are using the PulseAudio [[PulseAudio/Troubleshooting#Enable Echo/Noise-Cancellation|module-echo-cancel]], and Firefox does not recognise the virtual echo canceling source. | ||
=== Input boxes seems black with white text when desktop dark theme is applied === | |||
If you have a dark theme applied on your desktop environment ([[Gnome]], [[KDE]], [[XFCE]], ...) Firefox will show input boxes (such a text input box) with dark or black background and white or gray text. You can prevent Firefox from doing that if you edit the following key in {{ic|about:config}} to {{ic|false}}: | |||
# Type {{ic|about:config}} | |||
# Ensure {{ic|widget.content.allow-gtk-dark-theme}} is set to {{ic|false}} | |||
If that doesn't work or if it is already set to false, you can force Firefox to use a light gtk theme as follow. This should fix the issue. | |||
# Type {{ic|about:config}} | |||
# Add a new text chain key (right click > new > text chain) | |||
# Add the key {{ic|widget.content.gtk-theme-override}} | |||
# Set it to {{ic|Adwaita:light}} or whatever other light gtk theme you have installed on your system. | |||
== See also == | == See also == |
Revision as of 10:32, 16 December 2018
Firefox is a popular open source graphical web browser from Mozilla.
Installing
Firefox can be installed with the firefox package.
Other alternatives include:
- Firefox Developer Edition — for developers
- Firefox Extended Support Release — long-term supported version
- Firefox Beta — cutting-edge version
- Firefox Nightly — nightly builds for testing (experimental features)
- Firefox KDE — Version of Firefox that incorporates an OpenSUSE patch for better KDE integration than is possible through simple Firefox plugins.
- 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.
A number of language packs are 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 firefox-i18n for firefox and firefox-developer-edition-i18n for firefox-developer-edition.
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. Firefox's "Add-ons Manager" is used to manage installed add-ons or find new ones.
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 at the Mycroft Project.
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.
Configuration
Firefox exposes a number of configuration options. To examine them, enter in the Firefox address bar:
about:config
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 third 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/xxxxxxxx.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 uses FFmpeg for playing multimedia inside HTML5 <audio>
and <video>
elements. Go to YouTube's HTML5 page, video-test page or audio-test page to check which formats are actually supported.
HTML5 DRM playback is supported by the Google Widevine CDM, it is however not enabled by default. See Preferences > General > Digital Rights Management (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.).
Firefox uses PulseAudio for audio playback and capture. For sound to work, you need to install the pulseaudio package.
In case, for whatever reason, PulseAudio is not an option for you, you can use apulse instead. To make this work, it is necessary to exclude /dev/snd/
from Firefox' sandboxing by adding it to the comma-separated list in about:config
:
security.sandbox.content.write_path_whitelist
/dev/snd/
is important, otherwise apulse will report "Permission denied" errors.If you have no audio even when using apulse, try adding 16
to security.sandbox.content.syscall_whitelist
in about:config
.
Open-with extension
- Install Open-with add-on.
- Open
about:openwith
, select Add... - In the dialog select a video streaming capable player (e.g. /usr/bin/mpv).
- (Optional step) Add needed arguments to the player (e.g. you may want
--force-window --ytdl
for mpv) - (Optional step) Choose how to display the dialogs using the left panel.
- Right click on links or visit pages containing videos. If the site is supported, the player will open as expected.
The same procedure can be used to associate video downloaders such as youtube-dl.
Spell checking
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).
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.
When your default language choice does not stick, see #Firefox does not remember default spell check language.
KDE/GNOME integration
- 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'.
- To make the left mouse button warp the scrollbar instead of the middle one on KDE, go to System Settings > Application Style > GTK and set the checkbox for "Left mouse button warps scrollbar".
- To use the KDE file selection and print dialogs in Firefox 64 or newer:
- Install xdg-desktop-portal and xdg-desktop-portal-kde,
- Copy the Firefox desktop entry
/usr/share/applications/firefox.desktop
to~/.local/share/applications/firefox.desktop
, - Edit
~/.local/share/applications/firefox.desktop
and addGTK_USE_PORTAL=1
to allExec
lines before the actual command. E.g.:Exec=GTK_USE_PORTAL=1 /usr/lib/firefox/firefox %u
.
- For integration with KDE mime type system and file dialog, one can use firefox-kde-opensuseAUR variant from AUR with OpenSUSE’s patches applied.
- Extensions/add-ons may provide additional integration, such as:
- Browser integration in Plasma: requires plasma-browser-integration and the plasma-integration add-on.
- 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
tologin
inabout:config
. Note the lowercase 'l' despite the the keychain name having an uppercase 'L' in Seahorse.
Smooth Scrolling
In order to get smooth physics-based scrolling in Firefox, the general.smoothScroll.msdPhysics
configurations can be changed to emulate a snappier behaviour like in other web browsers. For a quicker configuration, append the following to ~/.mozilla/firefox/your-profile/user.js
(requires restart):
user_pref("general.smoothScroll.lines.durationMaxMS", 125); user_pref("general.smoothScroll.lines.durationMinMS", 125); user_pref("general.smoothScroll.mouseWheel.durationMaxMS", 200); user_pref("general.smoothScroll.mouseWheel.durationMinMS", 100); user_pref("general.smoothScroll.msdPhysics.enabled", true); user_pref("general.smoothScroll.other.durationMaxMS", 125); user_pref("general.smoothScroll.other.durationMinMS", 125); user_pref("general.smoothScroll.pages.durationMaxMS", 125); user_pref("general.smoothScroll.pages.durationMinMS", 125);
Additionally the mouse wheel scroll settings have to be changed to react in a smooth way as well:
user_pref("mousewheel.min_line_scroll_amount", 30); user_pref("mousewheel.system_scroll_override_on_root_content.enabled", true); user_pref("mousewheel.system_scroll_override_on_root_content.horizontal.factor", 175); user_pref("mousewheel.system_scroll_override_on_root_content.vertical.factor", 175); user_pref("toolkit.scrollbox.horizontalScrollDistance", 6); user_pref("toolkit.scrollbox.verticalScrollDistance", 2);
If you have troubles on machines with varying performance, try modifying the mousewheel.min_line_scroll_amount
until it feels snappy enough.
Plugins
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.
Dark themes
If a dark GTK theme is in use (e.g. Arc Dark), it is recommended to start Firefox with a brighter one (e.g. Adwaita). See GTK#Themes for more information.
Screenshot of webpage
You can Take a Screenshot by either clicking the Page actions button (the three horizontal dots) in the address bar or by right-clicking on the webpage. See [1] for more information.
- The Save button misleadingly uploads your screenshot to a firefox.com subdomain. Set
extensions.screenshots.upload-disabled
totrue
to disable this behaviour. [2] - If privacy.resistFingerprinting is enabled, to take a screenshot of a website using the above method, you need to grant it Extract Canvas Data permission.
As an alternative you can use the full-page screenshot button in the Developer Tools, which you can open with F12
(you might need to enable the button first).
Window manager rules
To apply different configurations to Firefox windows, change the WM_CLASS string by using Firefox's --class
option, to a custom one. [3]
To start new Firefox instances, multiple profiles are required. To create a new profile:
$ firefox --ProfileManager
Class can be specified when launching Firefox with a not-in-use profile:
$ firefox -P profile_name --class=class_name
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.
Firefox has a setting which determines how many replacements it will allow from fontconfig. To allow it to use all your replacement-rules, change gfx.font_rendering.fontconfig.max_generic_substitutions
to 127
(the highest possible value).
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.
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:
- Type
about:config
into the address bar. - Right-click on the page and select New > Integer.
- Name it
privacy.popups.disable_from_plugins
. - Set the value to
2
.
The possible values are:
0
: Allow all popups from plugins.1
: Allow popups, but limit them todom.popup_maximum
.2
: Block popups from plugins.3
: Block popups from plugins, even on whitelisted sites.
Middle-click behavior
To use the middle mouse button to paste whatever text has been highlighted/added to the clipboard, as is common in UNIX-like operating systems, set either middlemouse.contentLoadURL
or middlemouse.paste
to true
in about:config
. Having middlemouse.contentLoadURL
enabled was the default behaviour prior to Firefox 57.
To scroll on middle-click (default for Windows browsers) set general.autoScroll
to true
.
Backspace does not work as the 'Back' button
According to mozillaZine, the Backspace
key was mapped based on which platform the browser was running on. As a compromise, this preference was created to allow the Backspace
key to either go back/forward, scroll up/down a page, or do nothing.
To make Backspace
behave like the back button and go back one page in the session history, set browser.backspace_action
to 0
in about:config
.
To have the Backspace
key scroll up one page and Shift+Backspace
scroll down one page, set browser.backspace_action
to 1
. Setting this property to any other value will leave the key unmapped (Arch Linux defaults to 2
, in other words, it is unmapped by default).
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:
$ rm -f ~/.mozilla/firefox/<profile id>.default/cookies.sqlite
The profile id is a random 8 character string.
Restart Firefox and see if it solved the problem.
"Do you want Firefox to save your tabs for the next time it starts?" dialog does not appear
From the Mozilla support site:
- Type
about:config
in the address bar. - Set
browser.warnOnQuit
totrue
. - Set
browser.showQuitWarning
totrue
.
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/xxxxxxxx.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. [4]
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:
- Type
about:config
in the address bar. - Set
spellchecker.dictionary
to your language of choice, for instanceen_GB
. - Notice that the for dictionaries installed as a Firefox plugin the notation is
en-GB
, and for hunspell dictionaries the notation isen_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: [5], [6], [7]
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: [8]), 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#Making fonts available to Fontconfig for details. You can also try other Math fonts.
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 WebRTC module cannot detect a microphone
WebRTC applications for instance Firefox WebRTC getUserMedia test page say that microphone cannot be found. Issue is reproducible for both ALSA or Pulseaudio setup. Firefox debug logs show the following error:
$ NSPR_LOG_MODULES=MediaManager:5,GetUserMedia:5 firefox
... [Unnamed thread 0x7fd7c0654340]: D/GetUserMedia VoEHardware:GetRecordingDeviceName: Failed 1
You can try setting media.navigator.audio.full_duplex
property to false
at about:config
Firefox page and restart Firefox.
This can also help if you are using the PulseAudio module-echo-cancel, and Firefox does not recognise the virtual echo canceling source.
Input boxes seems black with white text when desktop dark theme is applied
If you have a dark theme applied on your desktop environment (Gnome, KDE, XFCE, ...) Firefox will show input boxes (such a text input box) with dark or black background and white or gray text. You can prevent Firefox from doing that if you edit the following key in about:config
to false
:
- Type
about:config
- Ensure
widget.content.allow-gtk-dark-theme
is set tofalse
If that doesn't work or if it is already set to false, you can force Firefox to use a light gtk theme as follow. This should fix the issue.
- Type
about:config
- Add a new text chain key (right click > new > text chain)
- Add the key
widget.content.gtk-theme-override
- Set it to
Adwaita:light
or whatever other light gtk theme you have installed on your system.