June 19, 2025

Fedora 42 -- Thunderbird and browser links

This isn't the first time I have been annoyed and dissapointed by Thunderbird. I wish there was something better -- and maybe there is, but I haven't been willing to take the time to test fly each and every email client available.

The situation now is that I just did a full fresh install of Fedora 42. Fedora installs with Firefox set up as the default browser. I immediately install Chrome, as well as Thunderbird. Thunderbird gets set up to send and receive mail without hassle, but links in mail I receive don't do anythings. They should (and used to) open up in the Chrome browser.

How chrome gets installed

None of this actually matters, so skip this section unless you are curious.

The way Chrome gets installed is a bit of a tangled business.

The actual files go into /opt/google/chrome and there are two files to consider:

/opt/google/chrome/chrome is the ELF executagle (262M in size)
/opt/google/chrome/google-chrome is a bash script

We have two symbolic links in /usr/bin:

google-chrome-stable -> /opt/google/chrome/google-chrome
google-chrome -> /etc/alternatives/google-chrome
And in /etc/alternatives we have one link:
google-chrome -> /usr/bin/google-chrome-stable
This is all a weird tangle, but it works -- as far as launching chrome is concerned.

How do we get Thunderbird to cooperate

None of the above details really matter. We have any number of ways that we could launch chrome and pass a link to it. I don't know what Thunderbird is trying to do that does not work. You will read online to make sure chrome is your default browser and that Thunderbird is using your default browser. All of that has been useless advice.

Go to Edit -- Settings in Thunderbird. Select "General" if it is not already selected. Go down and find "Files and Attachments". Links embedded in mail are neither links nor attachments, but the Thunderbird morons apparently think they are. Scroll down and find both http and https (they are right next to each other). Ignore whatever it has set, regardless of whether it looks correct. Select "Use other" and navigate to /usr/bin/google-chrome and make that your selection. Do this for both http and https. When you are done it should display "Use google-chrome".

Troubleshooting tricks

Before I discovered the above, I did the following to try to get more information. I wrote a short bash script I called /home/tom/pogo (for no particular reason).
#!/bin/bash
echo "Zonk" >>/home/tom/glog
date >>/home/tom/glog
echo "cmd: " $0 >>/home/tom/glog
echo "args: " $* >>/home/tom/glog
echo "---" >>/home/tom/glog
Then I did this:
chmod a+x /home/tom/pogo
su
cd /usr/bin
mv google-chrome google-chromeX
mv google-chrome-stable google-chrome-stableX
cp /home/tom/pogo google-chrome
cp /home/tom/pogo google-chrome-stable
tail -f /home/tom/glog
This allowed me to see if and how google-chrome was being invoked. It ultimately was not the tool that solved the problem, but it is worth knowing about that sort of approach.

Once I was done I put things back as they were in /usr/bin


Have any comments? Questions? Drop me a line!

Adventures in Computing / tom@mmto.org