OS=Debian stretch, running LXDE

Clicking on URL links from within non-browser programs, such as pidgin or Thunderbird does not open the links. I discovered that the default browser is set to thunderbird.desktop ... very odd... don't ask me how that got set.

$ xdg-settings get default-web-browser thunderbird.desktop 

Trying to set the default browser with xdg-settings does not work:

xdg-settings set default-web-browser firefox-esr.desktop $ xdg-settings get default-web-browser thunderbird.desktop 

Interestingly update-alternatives --get-selections shows firefox-esr as the default browser.

$ update-alternatives --get-selections |grep browser gnome-www-browser auto /usr/bin/firefox-esr infobrowser auto /usr/bin/info www-browser auto /usr/bin/w3m x-www-browser auto /usr/bin/firefox-esr 

I also tried an entry in ~/.local/share/applications/defaults.list

$ cat ~/.local/share/applications/defaults.list text/html=firefox-esr.desktop; 

Nothing is working. Any help appreciated.

Update:

These lines in ~/.config/mimeapps.list were set to thunderbird.desktop. I changed them to firefox-esr.desktop, but still no change.

application/x-extension-htm=firefox-esr.desktop application/x-extension-html=firefox-esr.desktop application/x-extension-shtml=firefox-esr.desktop application/xhtml+xml=firefox-esr.desktop application/x-extension-xhtml=firefox-esr.desktop application/x-extension-xht=firefox-esr.desktop 

Update:

The command xdg-mime query filetype index.html comes back empty. In fact it comes back empty with other filetypes as well. This has to mean something. However mimetype works.

$ mimetype index.html index.html: text/html 

[SOLVED] as per Xen2050's answer

Here is a summary of what I did, in case others have a similar problem:

I had to find all ''mimeapps.list'' and ''defaults.list'' files:

locate mimeapps.list locate defaults.list 

Then delete them...

rm ~/.config/mimeapps.list ... 

Then run:

update-desktop-database 

In my case I got an error message about a faulty mime-type with evince (sorry, can't remember the exact message). So i purged evince:

apt-get purge evince apt-get purge thunderbird #just for good measure 

Try again:

update-desktop-database 

The problem was still not solved, so I went on to install ''exo-preferred-applications'', which in Debian is the package ''exo-utils''. Then reinstall thunderbird. I don't need evince so didn't reinstall it.

apt-get install exo-utils apt-get install thunderbird 

Then ran ''exo-preferred-applications''. Firefox was not listed under "Web Browsers", so I chose ''other'' and pasted in ''firefox-esr.desktop''. Then ran:

update-desktop-database 

Working!!!:

$ xdg-mime query default x-scheme-handler/http firefox-esr.desktop $ xdg-mime query default x-scheme-handler/https firefox-esr.desktop 

The original problem of clicking on links in non-browser applications is also now solved.

2

3 Answers

The GUI's "Settings" -> "Preferred applications" looks like it sets xdg-settings get default-web-browser also, perhaps differently and definitely with an easier interface, so try there.

  • It looks like it runs exo-preferred-applications
  • Might rely on the file /usr/share/applications/exo-web-browser.desktop (or corresponding file in /usr/local/ or ~/.local) containing Exec=exo-open --launch WebBrowser %u

Also try

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

Also, checking the default mimetypes command you were looking for was probably one of these:

xdg-mime query default x-scheme-handler/http xdg-mime query default x-scheme-handler/https 

If MIME types were changed, the command [sudo] update-desktop-database might help.

  • More info on mimetypes & file associations:
2

Problem already known in Debian GNU/Linux 8 alias Jessie. No matter whether you LXDE or Gnome. :-(

Here ist the Evince error message:

~$ sudo update-desktop-database 

Error in file "/usr/share/applications/evince.desktop": "" is an invalid MIME type ("" does not contain a subtype)

I purged evince. Not needed, too...

My System:

~$ uname -a 

Linux 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3 (2019-09-02) x86_64 GNU/Linux

For what it's worth: I've also just faced this problem, and solved it by overriding, as user root, /usr/share/applications/mimeinfo.cache with the appropriate values for x-sceheme-handler/http, etc.

For some reason it seems that this file takes precedence over any local, user-writable files.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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