77

I want to be able to click links in Thunderbird emails and have them open in Chromium (package name chromium-browser). Instead, they open in Firefox.

I have tried the following:

  1. xfce preferred applications (Chromium is not listed, so I had to hunt down the executable) -- next time I run chromium, it complains that it is no longer the default browser.

  2. Telling Chromium to set itself as the default browser. Thunderbird opens links in Firefox.

  3. update-alternatives. It's already listed as an alternative at the same priority as Firefox. The "open web browser" app menu item opens Chromium. Thunderbird opens links in Firefox.

I have looked through the entire preferences gui in Thunderbird (but not the advanced config editor yet) and seen nothing that mentions what browser to open links in.

Please note that this is not Google Chrome.

13 Answers 13

126

This is what I found working for me: You will need to access the "config editor" in Thunderbird itself.

Open Thunderbird. In 24.6.0, the menu can be accessed on the right hand side of the top menu bar (next to the search bar and is represented by three horizontal lines).

Click Edit > then click Preferences >, a new window will open. You will need to select the Advanced tab, at the bottom of that tab Open the Config Editor.

Then, search for both network.protocol-handler.warn-external.http and network.protocol-handler.warn-external.https.

These two are most likely to have a current value of false. Change the value to true (do this by simply right clicking on them) and the next time you try to open a link from some e-mail it'll ask you which browser to use. Chromium isn't likely to be shown in the list of choices, so use the navigate button. You can find Chromium at /usr/bin/chromium-browser.

If using google chrome as your browser of choice you may want to make it /usr/bin/google-chrome or /usr/bin/google-chrome-stable If Thunderbird doesn't ask you which browser to use when you click on a link after doing this, you can try deleting mimeTypes.rdf file in your profile folder to reset it. The profile folder is typically found as ~/.thunderbird/xxxxxxxx.default/

Original text by Htbaa

| improve this answer | |
  • 6
    Removing the mimeTypes.rdf files was necessary for this to work for me. I used locate mimeTypes.rdf to find all of them. – Mitch May 5 '14 at 14:30
  • 1
    This worked for me+1. Finally. System default setting is not properly taken into account as documented on kb.mozillazine.org/Default_browser#KDE for Kubuntu. – hakre Jan 13 '15 at 11:51
  • 3
    Confirmed to work as of Thunderbird 31.7.0. The handlers for https and http respectively can be set in Options -> Attachments -> Incoming (loo for the protocol name there). – 0xC0000022L Jun 12 '15 at 6:40
  • 1
    This is supposed to make it prompt for the browser. The requirement is to force Tbird to open chromium-browser always, never Firefox. – Peter Flynn Apr 25 '17 at 13:56
  • This is still how you do it in version 68.8.0 – user1491929 Jun 3 at 14:48
12

In Thunderbird 11.0.1, it is simple, yet not intuitive:

  1. Go to Preferences (Menu EditPreferences).

  2. Click on the Attachments tab.

  3. In the Content Type and Action section set HTTPS, HTTP, and FTP to Use google-chrome (or other desired browser).

That worked for me after trying numerous things in terminal that did not work.

| improve this answer | |
  • 1
    Found this here and can confirm that it works. This was necessary for me after installing Firefox. Before it worked for me using the warn-external config approach. – zeratul021 Sep 1 '14 at 9:45
  • NIce, works for me too. – diosney Jul 4 '16 at 18:19
  • 1
    Does not work for me on Ubuntu16.04: the "Content Type" does not contain "HTTPS, HTTP and FTP". Instead it only contains "plain text document". – Étienne Apr 20 '18 at 10:13
9

Edit -> Preferences -> Advanced -> General -> Config Editor...

Right click -> New -> String

Enter the preference name:

network.protocol-handler.app.http

Value:

/usr/bin/x-www-browser

Setting Default Browser

In the command line, type

sudo update-alternatives --config x-www-browser && sudo update-alternatives --config gnome-www-browser

| improve this answer | |
  • 1
    Helpful to use x-www-browser; however setting the above preference didn't make a difference for me - setting the warn value as recommended by Vitaly did – David Fraser May 13 '14 at 14:46
  • The handlers for https and http respectively can be set in Options -> Attachments -> Incoming (loo for the protocol name there). – 0xC0000022L Jun 12 '15 at 6:40
  • Strange, AKSiS's method doesn't work on my Windows 7 system(Thunderbird 24), and Vitaly's method works fine. – ollydbg23 Oct 14 '15 at 2:31
  • 4
    "network.protocol-handler.app.http" has been removed. I did this first step with "vi" instead (as recommended at mozillazine.com) and found the result in Invalidprefs.js. – Bruce Mar 18 '16 at 21:25
3

Solution for the newest Thunderbird version 68.10 and upwards

There is a file now called handlers.json in your ????????.default profile directory under ~/.thunderbird.

Edit or create this file with a text editor while Thunderbird is closed.

Setting "action": 2 and adding {"name":"xdg-open","path":"/usr/bin/xdg-open"} to the first position of the pertaining HTTP and/or HTTPS "handlers: []" list, will launch the default browser or program as specified by the desktop environment.

The handlers.json file should look then like this for the Vivaldi browser:

{"defaultHandlersVersion":{},"mimeTypes":{"text/plain":{"action":2,"handlers":[{"name":"gvim","path":"/home/bin/gvim"}],"extensions":["asc","txt","text","pot","brf","srt"]},"application/pdf":{"action":4,"ask":true,"extensions":["pdf"]}},"schemes":{"https":{"action":2,"handlers":[{"name":"vivaldi-stable","path":"/usr/bin/vivaldi-stable"}]},"http":{"action":2,"handlers":[{"name":"vivaldi-stable","path":"/usr/bin/vivaldi-stable"}]}}}

Preceding mimetypes are for text and PDF.

Solution for newer Thunderbird versions

enter image description here

Solution for older versions using find

1.Thunderbird → Edit → Preferences → Advanced → Config Editor…:

network.protocol-handler.warn-external.http = true
network.protocol-handler.warn-external.https = true

2.Close Thunderbird.

3.At the command line, type:

$ find ~/.thunderbird/ -name mimeTypes.rdf -delete

4.Reopen Thunderbird and click on an HTTP(S)-link. A Launch Application window will open. Click on Choose….

5.Use Ctrl+L to directly enter a /usr/bin/ path to your favourite browser executable, e.g.: /usr/bin/vivaldi-stable

6.Check 🗹 Remember my choice for http(s) links.

7.Open link

| improve this answer | |
  • would you mind to specify the version of the newest Thunderbird version as a number? Mine is 68.10.0 (64-bit) and I don't see a file called handlers.json on ubuntu 16.04 – woodz Jul 15 at 11:49
  • @woodz I have added the version number and provided a detailed example. – Serge Stroobandt Jul 26 at 10:34
1

Well, I have never used thunderbird but, this looks right -->

When you click on a web link in Thunderbird, it invokes the default web browser for the operating system. It is possible to change this behavior by changing the default browser. On Linux, another way (tried with TB1.5 under Suse and Debian) is to insert the following line in Thunderbird's prefs.js or user.js file (of course put in the correct path to your firefox):

user_pref("network.protocol-handler.app.http", "/usr/bin/firefox");

You can find where Chromium is by typing -->

which chromium

into the terminal.

Source -->

http://kb.mozillazine.org/Changing_the_web_browser_invoked_by_Thunderbird

| improve this answer | |
  • 1
    Option (1) in my original question worked -- I previously allowed Chromium to set itself as default, which makes exo-open think there's no default browser. If I point the system default at the Chromium executable, and tell Chromium to stfu, then Thunderbird happily opens it for urls in emails. Obviously Chromium and Ubuntu are thinking two different things about the concept of default browser. Thanks! – ikmac May 3 '12 at 6:32
  • PS -- this answer also worked, which is why I marked it correct. I just prefer not editing files that say DO NOT EDIT THIS FILE at the top if I can beat the problem into submission another way. – ikmac May 3 '12 at 6:35
1

I tried this solution and it worked:

1) In Settings Manager switch your favourite browser as default browser.

2) update-alternatives --config x-www-browser

3) Follow steps written here

| improve this answer | |
  • Step #2, replacing the content of mimeTypes.rdf with that given is what did the trick for me. – Serge Stroobandt Sep 19 '18 at 22:12
1

Because none of the listed solutions worked for me, here a different, very drastic way of getting the application to open links in Thunderbird changed:

(E.g. if links currently are opened with Firefox)

sudo apt-get remove firefox-esr

--> open Thunderbird and click on some link --> you can choose a different browser now. Now we can re-install Firefox

sudo apt-get install firefox-esr
| improve this answer | |
  • 1
    Or like this: sudo mv /usr/bin/firefox /usr/bin/firefox-saved then open link in thunderbird. Choose Chrome, then sudo mv /usr/bin/firefox-saved /usr/bin/firefox. – guettli Nov 1 '19 at 8:26
0

None of these solutions worked for me. I ran thunderbird using strace, and discovered, that regardless of what value I chose for network.protocol-handler.app.http, it was always attempting to launch /usr/bin/google-chrome. I searched the preferences, and was unable to find any place where this was defined. In the end, I just did: ln -s chromium-browser /usr/bin/google-chrome , and that seemed to fix it.

| improve this answer | |
  • hmm, a slimy hack to handle what seems to be a slimy hack in Thunderbird, lol. – ikmac Jun 6 '12 at 15:44
  • 1
    This will have quite the side effect! Use Vitaly's solution below. – dotancohen Jun 4 '13 at 12:07
0

There is one other Thunderbird setting you need to check.

Preferences - Attachments - Incoming

The http and https settings there override the OS default and telling Chromium to make itself the default browser.

See this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=724461

And this for the gory details about how the default browser is determined in Thunderbird: http://kevinlocke.name/bits/2012/07/18/thunderbird-default-browser-linux/

| improve this answer | |
0

This may help anyone stumbling across this later who has it stuck to Firefox

Go to settings control panel, System -> MIME Type Editor, and set each to 'Web Browser':

application/x-extension-html, application/x-extension-shtml, application/x-extension-xhtml, application/xhtml+xml, text/html

Then in settings control panel, Personal -> Preferred Applications, choose chrome

Run sudo update-alternatives --config x-www-browser and choose Chrome

Then launch /usr/bin/x-www-browser and it should start chrome

Then try in Thunderbird.

| improve this answer | |
  • No wonder my CPU usage went crazy when i was clicking on links in TB, those settings were sending it to Thunderbird making a inf loop – GM-Script-Writer-62850 Dec 5 '14 at 15:04
  • sudo update-alternatives --config x-www-browser I get update-alternatives: error: no alternatives for x-www-browser – matteo Oct 14 at 8:37
0

I have never posted to any message board ever for over 10 years, but I thought I should share a solution here.

I only switched to linux (mint, cinnamon at first and now xfce) 1.5 years ago.

For that entire time, I have been on a never-ending quest to somehow force thunderbird to open web links in the browser of my choice and always in a new window, not a new tab.

Many times I have read about changing the settings of these to true:

network.protocol-handler.warn-external.http = true network.protocol-handler.warn-external.https = true

This never did anything for me, until today, when I finally tried something new. I have tried many, many times to edit my handlers.json file in my thunderbird user dir, and I was able to change the default browser for web links (my choice was chromium-browser), but I could never get it to accept the --new-window switch.

TWO DISCOVERIES:

  1. If you rename the handlers.json, thunderbird WILL ask you what program to use to open your web link with, as the two above settings tell it to, because thunderbird makes a new handlers.json file and creates its contents from scratch.

  2. If you create a bash script file (that you make sure to make executable) with these two lines as its contents:

!/bin/bash

chromium-browser --new-window "$@"

and tell thunderbird to open web links with this script file, this works beautifully.

Sorry for the brute amateur posting and information, but this problem has haunted me for EVER, and I imagine that someone else out there might appreciate knowing about these two discoveries.

:-)

| improve this answer | |
  • Linux Mint is not Ubuntu. It is of topic here. – mikewhatever May 25 at 22:08
0

I was attempting to do the same with Chrome and none of the answers worked for me.

What did work was running this single command from a terminal:

xdg-settings set default-web-browser google-chrome.desktop

Note that it did not work without the .desktop extension. I have no idea why and I do not have a google-chrome.desktop file in my home folder (which was the current directory while running the above command) or anywhere in my path. It probably does exist somewhere.

This setting has persisted across reboot.

Note that Chrome was already my default browser, in that Chrome itself said it was the default browser, and every other application except from thunderbird was opening links in Chrome. However I did find out that xdg-open was opening urls in Firefox, and indeed the output of xdg-settings get default-web-browser was firefox (I had never set that and I had never chosen Firefox as browser for anything; this is a very recent fresh install of OpenSUSE; that either came out of the box or was set by Thunderbird itself).

So maybe there are two or more concepts of "default browser": the one defined by xdg-utils, which I haven't found a single application depending on except for Thunderbird, and then a more widely recognized one which I have no idea where it is stored, which Chrome itself recognizes as the way to establish itself as the default browser and that every other application I've ever clicked a link in understands.

I realize I provide no background and I'm asking more questions than I answer, however this does provide an answer that worked for me, and the only one that did.

Actually this is for Chrome, so I cannot guarantee this works for Chromium, but it definitely seems like it's applicable.

| improve this answer | |
-1

I also had the same issue. And the "network.protocol-handler.warn-external.http" change did not work for me.

After some Googling i found the setting in the thunderbird preferences > Attachments > incoming.

There i changed the http and the https to the browser of my desire. And it works now.

| improve this answer | |
  • Please do not repost answers to multiple questions. If a question is solved by the same answer, then please mark those questions as duplicates instead. – Thomas Ward Dec 25 '16 at 16:04
  • -1: another answer that was already posted 3 years before you posted this answer already gave this information. – Étienne Apr 20 '18 at 10:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.