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. Il reste possible de décompresser la dernière version de Firefox dans /opt, mais suite à cela, Thunderbird n’ouvre plus les liens http ou https.

Sommaire

Problème : Thunderbird n’ouvre plus les liens web

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

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

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.

Solution retenue

La solution 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’occurrence 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.

Script qui automatise cette opération :

Les mises à jour de Firefox latest se feront dans /opt/firefox. Si l’utilisateur qui lance firefox a accès en écriture dans /opt/firefox, la mise à jour pourra se faire via Aide > A propos > Redémarrer pour mettre à jour. Sinon, il faudra décompresser une archive à jour 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.

Autres 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.

Ressources externes