This page last modified: Jun 08 2007
title:Firefox disable Evolution enable Thunderbird KDE description:KDE settings can be overridden by Gnome gconfd values. This shows how to find them and fix the problem. keywords:kde,gnome,evolution,firefox,thunderbird How to get Firefox to use Thunderbird instead of trying to launch Evolution. The quick fix is to avoid messing with gconf and use Firefox's internal config features. Use the about:config feature of Firefox. In the URL window, enter about:config. Right click in the blank space and create a new setting. Name the new setting: network.protocol-handler.app.mailto and set its value to: thunderbird Do not use a %s since that is a gconf specific feature. At this point you should be able to click a mailto: link in Firefox and have Thunderbird launch and open an email compose window to the specified recipient. (if Thunderbird is already open, it just opens a compose window) If you want to know about Firefox and gconf, read on. It is kind of interesting. This document applies to Fedora, and it targeted mostly at KDE people who have to use gconfd for some config because some applications ignore the KDE preferences. I got all this to work at the command line with gconftool-2 (yes, the application name has a hyphen and a digit two). After doing a bunch of work at the command line, I installed gconf-editor. It seems pretty nice. With KDE, gconf-editor shows up in my start menu under "System", and is called "Configuration Editor". yum install gconf-editor (Of course you have to run yum as root.) Evolution seems to be installed by default with Fedora. I don't use it but the default configuration is for Firefox to call Evolution for mailto: links. It is possible to remove Evolution without losing much other functionality, but that still leaves the config problem. Using rpm and grep, I found everything called "evolution" and removed it. I don't need gaim since I use Gmail for chat, and I don't have any idea what ekiga is. yum remove evolution evolution-webcal evolution-data-server ============================================================================= Package Arch Version Repository Size ============================================================================= Removing: evolution i386 2.8.3-2.fc6 installed 36 M evolution-data-server i386 1.8.3-4.fc6 installed 9.9 M evolution-webcal i386 2.7.1-6 installed 265 k Removing for dependencies: ekiga i386 2.0.5-3.fc6 installed 13 M gaim i386 2:2.0.0-0.31.beta6.fc6 installed 18 M gnome-panel i386 2.16.3-2.fc6 installed 10 M gnome-pilot i386 2.0.15-1.fc6 installed 1.9 M Removing Evolution saves a small amount of disk space, but is hardly worth the effort. Firefox (even under KDE) uses gconfd, the Gnome configuration system, to get values. Many, many packages require gconfd, so this isn't limited to Firefox. This KDE/Firefox/gconfd system is fairly convoluted, and as a result Firefox may have behaviors which cannot be tracked down using the about:config feature. In my instance, Firefox tried to open Evolution for mailto: links, instead of Thunderbird. KDE's email client was set to Thunderbird, and that was fine. Firefox has no way of answering the question, "Why are you trying to open Evolution?" In dealing with previous irritating gconfd issue, I found the gconftool-2 utility. Sure enough it has a man page, and after trying a few unsuccessful commands, I was able to get it to spew out all it's settings: gconftool-2 -R /desktop/gnome | less A search for 'evol' turns up this: /desktop/gnome/url-handlers/mailto: needs_terminal = false command = evolution --component=mail %s enabled = true Using the about:config feature in Firefox, and filtering on mail (I think), I had managed to get Firefox to prompt before launching mailto: links. The dialog box said it was about to launch "evolution --component=mail %s" so that all fits. After more reading of the man page and some trial and error, gconftool-2 gives me the full set of values for /desktop/gnome/url-handlers/mailto. Here is a snipped of a session transcript: [zeus ~]$ gconftool-2 -a /desktop/gnome/url-handlers/mailto needs_terminal = false command = evolution --component=mail %s enabled = true [zeus ~]$ gconftool-2 --type bool --set /desktop/gnome/url-handlers/mailto/enabled false [zeus ~]$ gconftool-2 -a /desktop/gnome/url-handlers/mailto needs_terminal = false needs_terminal = false command = evolution --component=mail %s enabled = false [zeus ~]$ Setting enabled to false will disable Firefox from running Evolution. But that's no good because now Firefox won't launch anything for a mailto link (Firefox isn't smart enough to use the KDE prefs). We must enable the setting, and change the value to "thunderbird %s". You don't need the full path as long as thunderbird is in your default path, but you do need the %s or nothing happens. If the setting has a space in it, you must double-quote the string. Another session transcript: [zeus ~]$ gconftool-2 --type string --set /desktop/gnome/url-handlers/mailto/command "thunderbird %s" [zeus ~]$ gconftool-2 --type bool --set /desktop/gnome/url-handlers/mailto/enabled true [zeus ~]$ gconftool-2 -a /desktop/gnome/url-handlers/mailto needs_terminal = false command = thunderbird %s enabled = true [zeus ~]$ All done. Below are some extra notes. You may be wondering where gconfd saves all the settings. After looking around for 'desktop' with the "locate" utility, and then using grep -r, I finally found this file: /etc/gconf/gconf.xml.defaults/%gconf-tree.xml It is likely that editing that xml file directly will change values, but since the gconf daemon is probably running, bad things could happen. You could exit all applications and kill off any running gconf daemons. One web page mentions writing changed values to disk with the following command, but any time I changed the setting, the change was instantaneous. gconftool-2 --shutdown