Réponses:
Cette liste est créée en analysant les fichiers .desktop situés à:
/usr/share/applications
~/.local/share/applications
Il peut y avoir plus d'un cas d'utilisation par application, prenez par exemple le lecteur multimédia banshee
qui a trois fichiers .desktop par défaut:
$ ls -1 /usr/share/applications/banshee*
/usr/share/applications/banshee-1-audiocd.desktop
/usr/share/applications/banshee-1.desktop
/usr/share/applications/banshee-1-media-player.desktop
La seule différence entre ces fichiers est le paramètre de départ et la liste MimeType.
banshee-1.desktop
: Fichiers multimédias générauxbanshee-1-audiocd.desktop
: CD audiobanshee-1-media-player.desktop
Lecteur audio (également utilisé par rhythmbox
, vlc
et d' autres)Nous avons donc trois «Banshee Media Player» dans la liste «Ouvrir avec» (et peut-être aussi dans le «Menu principal»).
L'autre façon de remplir cet espace est de créer des fichiers .desktop personnels dans ~/.local/share/applications
. Soit manuellement, soit en utilisant un outil. alacarte
(ou faites un clic droit sur 'Menu principal' -> 'Menu Édition') en fait partie.
Chaque fois que vous créez ou déplacez une application dans alacarte
, un nouveau fichier .desktop est placé à l'intérieur ~/.local/share/applications
. La désactivation d'une application la "supprimera" du "Menu principal", mais pas de la liste "Ouvrir avec".
Mais le bouton «Supprimer» le fait, en créant une copie identique de /usr/share/applications
dans ~/.local/share/applications
et en ajoutant Hidden=true
au fichier .desktop, «écrasant» ainsi les valeurs héritées à l'échelle du système.
La suppression de deux de ces entrées des alacarte
résultats entraîne:
$ ls -1 ~/.local/share/applications/banshee*
/home/user/.local/share/applications/banshee-1-audiocd.desktop
/home/user/.local/share/applications/banshee-1-media-player.desktop
La suppression des entrées de ~/.local/share/applications
sera inversée à l'état préexistant (trois banshee
éléments).
Si vous n'avez vraiment aucun doublon dans ces deux dossiers, essayez de supprimer les doublons alacarte
ou de jouer avec l' Hidden=true
option dans les fichiers .desktop correspondants.
Si vous regardez ~/.local/share/applications
et /usr/share/applications
vous pouvez supprimer les doublons de ces deux endroits. Ça l'a fait pour moi.
Reconnaissant que ce fil est vieux, j'étais moi-même perplexe face à ce problème. Personnellement, je pensais que la suppression des fichiers ou la lecture du "nettoyage" n'était pas nécessaire, tout comme le fait de peaufiner les choses pour l'utilisateur actuel. S'il existe plusieurs fichiers .desktop, chacun ne peut-il pas avoir une description unique? En ce qui concerne Linux, certains développeurs d'applications ont-ils vraiment négligé des choses simples comme celle-ci?
J'ai trouvé que si vous ouvrez les fichiers .desktop dans un éditeur de texte, le champ Nom est ce qui s'affiche dans le menu "Ouvrir avec". Donc pour moi, j'ai cherché les fichiers .desktop que je savais créer le problème (par exemple, les 3 fichiers Banshee). En regardant chacun d'eux, la différence était presque toujours liée aux types de mimiques que le raccourci gère. Cela est dû au fait que certains programmes préfèrent passer différents paramètres en fonction du type MIME. Ce n'est que dans 1 cas que j'ai trouvé des entrées en double le résultat d'une mise à niveau d'application ne nettoyant pas son ancien fichier .desktop
Armé de cette découverte, je l' ai changé les noms des champs des entrées en double connues pour refléter ceci. Par exemple, en éditant le fichier .desktop que Banshee a spécifiquement pour gérer les CD audio , j'ai fait lire le nom comme tel:
Banshee (CD audio)
Rhythmbox est également un bon exemple, car il a un fichier .desktop séparé spécifiquement pour gérer les lecteurs CD + MP3, mais chacun s'affiche de la même manière. Je suppose que le fichier 1 charge l'application et met l'accent sur l'unité plutôt que sur votre bibliothèque. Cela vaut la peine d'être renommé, car vous ne voudriez pas que cela se produise lors de la manipulation de vos fichiers MP3 / OGG.
Quoi qu'il en soit, je pense que cela rend le menu Ouvrir avec un aspect propre sans simplement supprimer les fichiers qui semblent utiles. Il reste à voir si ces changements persistent entre les mises à jour d'application ... mais ce sont des modifications simples et rapides qui pourraient même être scriptées. La coquille aide énormément dans ce cas. Par exemple, pour voir tous les noms de fichiers (avec chemin) avec de telles entrées en double:
grep -rl "^Name=Banshee$" /usr/share/applications
Où "Banshee" est bien sûr ce qui apparaît plus d'une fois dans le menu Ouvrir avec. Dans l'exemple fourni en haut, l'application s'appelait Geany.
Avec cela, vous pouvez envoyer les fichiers résultants directement à votre éditeur. Si vous n'êtes pas un expert des expressions reg, les symboles ^ et $ spécifient respectivement le début et la fin de la ligne. Cela empêche le système de trouver des lignes comme XGnome-FullName=Banshee Media Player
Cela l'empêche également de trouver des entrées que vous avez peut-être déjà corrigées.
Vous pouvez également regarder dans l'éditeur de menu "Applications" de Gnome et supprimer les doublons d'ici.
jhbuild.desktop
etmimeapps.list
dans ~ / .local / share / applications . Et, il n'y a pas de dupes dans / usr / share / applications , et je rencontre toujours le problème.