Sur Debian le paquet pour Firefox est un ESR, c’est à dire une version ancienne et éprouvée dont le support est prévu à long terme. Cela n’arrange pas les utilisateurs qui voudraient utiliser la dernière version en date, et bénéficier des performances améliorées de Quantum dès la version 57. Mais suite à l’utilisation de la dernière archive Firefox en navigateur par défaut, Thunderbird n’ouvre plus les liens http ou https.

Contexte du bug

  • OS : Debian 9.3
  • Thunderbird 52.8.0-1~dev9u1
  • Firefox ESR 52.8.1esr1~deb9u1
  • Firefox (archive) 60.0.1

Sur Debian 9.3 avec Thunderbird 52 et Firefox ESR 52, les liens s’ouvrent correctement avec le navigateur par défaut Firefox ESR.

Suite à l’installation de l’archive de Firefox latest (version 60 à ce jour) dans /opt/firefox, puis à la création d’un lanceur Gnome avec alacarte , et enfin à l’utilisation de ce lanceur comme navigateur par défaut dans Gnome, le logiciel de messagerie Thunderbird n’est plus capable d’ouvrir des liens. A la place il ouvre un navigateur vierge ou consomme 100% d’un CPU sans autre action.

Je remarque que thunderbird lance la commande thunderbord <lien> . Cette commande ne fonctionne pas non plus en ligne de commande.

Pistes envisagées

  • Modification des navigateurs par défaut dans Gnome. Menu Paramètres > Détails > Applications par défaut > Sites Web. Cela fonctionne avec les navigateurs installés sous forme de paquets Chromium et Firefox ESR. Mais pas avec le lanceur Firefox latest (créé avec alacarte).
  • Modification du paramètre Thunderbird network.protocol-handler.app.http et network.protocol-handler.app.https (chemin absolu de firefox à la place de x-www-browser).
  • Modification des paramètres network.protocol-handler.warn-external.http et network.protocol-handler.warn-external.https à true puis sélection du navigateur souhaité. Dans le meilleur des cas cela fonctionne avec les liens http mais pas https.
  • Modification de /usr/bin/firefox et /usr/bin/firefox-esr avec des liens pointant vers le navigateur souhaité.
  • Modification de /etc/alternatives/gnome-www-browser et x-www-browser avec des liens pointant vers le navigateur souhaité.

Aucune de ces pistes n’a fonctionné.

Je constate que dans la situation où les liens ne s’ouvrent pas, une intense charge CPU est produite. Si vous cliquez 20 fois sur un lien sans qu’aucune action visible ne se produise, vous aurez de nombreux processus /usr/bin/thunderbird <lien>  avec tous vos cœurs CPU à 100%. Voilà pourquoi je qualifie ceci de bug.

Solution retenue

La rustine retenue consiste à faire croire au système qu’il lance firefox-esr alors qu’il lance en fait Firefox latest. Cela revient à installer Firefox en suivant cette méthode. En l’occurence je transforme le binaire /usr/lib/firefox-esr/firefox-esr en lien symbolique qui pointe vers le binaire /opt/firefox/firefox. Le navigateur par défaut de Gnome devra rester Firefox ESR.

Les mises à jour manuelles de Firefox latest se feront dans /opt/firefox.

Effet de bord : le Firefox latest demandera systématiquement à repasser en navigateur par défaut car il croira que Firefox ESR est le navigateur par défaut dans Gnome. Il faudra désactiver cette vérification de navigateur par défaut.

Ressources externes