De temps à autre, après avoir réinstallé une Debian, mes fichiers mht s'ouvrent avec Icedove (alias Thunderbird) au lieu de Iceweasel (alias Firefox).
Je ne connais pas encore le moyen le plus rapide de régler le problème. On peut bien sûr utiliser le programme assogiate, présent dans les dépôts. Mais c'est dommage d'installer un programme quand on n'en a besoin qu'une seule fois.
1°) Premier élément de réponse: créer le mimetype des mht
Editer le fichier /etc/mimetypes, pour ajouter le type "message/web-archive mht"
2°) Second élément de réponse: expliciter le mimetype mht dans le dossier /usr/share/mime
Plus précisément, la référence 1. ci-dessous indique qu'une application qui utilise un nouveau mimetype doit créer un fichier xml dans /usr/share/mime/packages, pour autant que cette application soit de portée multi-utilisateurs. Cette référence indique un peu plus loint que c'est un fichier Override.xml, créé pour le besoin, qui doit recevoir les mimetypes personalisés.
Pour le mht, c'est utilisé par Iceweasel - Firefox. On va s'inspirer d'un fichier déjà présent. Les plus petits commencent à 250 octets; on passe ensuite à 500 octets, si l'application définit 2 mimetypes. Parmi ceux qu'on trouve probablement sur tous les ordis: apt.xml.
/usr/share/mime/packages# cat apt.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-apt-sources-list">
<sub-class-of type="text/plain"/>
<comment>Software sources list</comment>
<glob pattern="sources.list"/>
</mime-type>
</mime-info></pre>
<p>La troisième référence présente le mimetype messgae/web-archive comme un sous-type de message/rfc822. Ce qui va nous donner:</p>
<pre style="padding-left: 30px;">Override.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="message/web-archive">
<sub-class-of type="message/rfc822"/>
<comment>MHT Web archive</comment>
<glob pattern="*.mht"/>
<magic priority="50">
<match type="string" offset="0" value="From: <Saved by UnMHT>"/>
</magic>
<generic-icon name="text-html"/>
</mime-type>
</mime-info></pre>
<p>Une fois le fichier enregistré, il faut appliquer les modifications en lançant le programme:</p>
<pre style="padding-left: 30px;">update-mime-database /usr/share/mime
Et voilà, en principe le tour est joué. Maintenant je vais essayer de le faire...
3°) Ensuite, définir avec quelle application par défaut, un tel mimetype doit être ouvert.
A ce stade, il faut faire prendre en compte les modifications ci-dessus. La façon la plus simple c'est de redémarrer linux; mais on peut certainement faire mieux.
Une fois les modifications intégrées, enregistrer un fichier en mht à partir de Iceweasel (alias Firefox) pour tester. Puis dans votre navigateur (Thunar, sous Xfce), faites un clic droit pour voir avec quelle application il se propose de l'ouvrir.
Pour moi, c'est toujours Icedove (alias Thunderbird) qui s'affiche MAIS le type de fichier est bien devenu MHT web archive. Il a donc acquis son existence propre et indépendante. On peut donc maintenant sans souci sélectionner une autre application pour ouvrir de type de fichier, ce que je fais en sélectionnant Iceweasel.
Et là, en principe, c'est réglé. Pour vérifier: double-clic sur le fichier mht, et effectivement il s'ouvre avec Iceweasel. Gagné !
Eléments de bibliographie: