web-dev-qa-db-fra.com

Pourquoi y a-t-il deux cas de "okulaire" et comment puis-je me débarrasser de l'autre?

J'ai remarqué que lorsque je fais une recherche de programme dans Ubuntu 20.04, il y a deux instances du programme Okular. Un avec une icône et un qui a l'icône d'application générique (engrenage). J'ai installé Okular du logiciel Ubuntu. Cela ne semble pas se produire avec d'autres applications que j'ai également installées à partir du logiciel Ubuntu. Je rechercherais cela sur Google moi-même mais je ne suis pas tout à fait sûr comment décrire ce problème. Toute aide serait appréciée. Merci.

Je dois noter que c'était une nouvelle installation.

Liens vers des captures d'écran concernées ... (Je n'ai pas encore de réputation pour incorporer des images)

Deux icônes à la recherche

Two icons in search

Sortie de snap list

Output of <code>snap list</code>

Sortie de apt policy okular

Output of <code>apt policy okular</code>

3
seeyanara

Remarque: Cette réponse fonctionne pour le snap okulaire à Xubuntu 20.04 et à Ubuntu 20.04

Après avoir installé okular comme un package d'instantané, je vois deux icônes dans le lanceur de menu Whisker: on semble représenter okular et l'autre est générique, mais les deux montrent la même info-bulle (Universal Document Viewer).

Two okular icons

L'Iran locate -i okular | grep -i desktop Pour identifier les fichiers .desktop correspondants. ( Les utilisateurs Ubuntu peuvent avoir besoin d'installer le package mlocate pour accéder à la commande locate _.) il y avait plusieurs hits mais

/var/lib/snapd/desktop/applications/okular_okular.desktop
/var/lib/snapd/desktop/applications/okular_org.kde.okular.desktop

sont pertinents.

  • J'ai copié ces deux fichiers .desktop sur ~/.local/share/applications. Le sous-dossier applications peut ne pas exister à l'origine auquel cas il convient de créer.

  • J'ai édité les deux fichiers pour supprimer des noms supplémentaires, des noms génériques et des commentaires, puis comparé les deux fichiers.

dkb@dkb-xubuFF:~/.local/share/applications$ ls
okular_okular.desktop  okular_org.kde.okular.desktop
dkb@dkb-xubuFF:~/.local/share/applications$ diff *.desktop
7,8c7
< Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/okular_okular.desktop /snap/bin/okular %U
< Icon=/snap/okular/98/usr/share/icons/hicolor/64x64/apps/okular.png
---
> Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/okular_org.kde.okular.desktop /snap/bin/okular %U
12d10
< 
dkb@dkb-xubuFF:~/.local/share/applications$ 

Comme vous pouvez le voir à partir de la sortie,

  • les Exec= lignes des deux fichiers .desktop lance /snap/bin/okular %U
  • un fichier .desktop, okular_org.kde.okular.desktop, manque la ligne commençant par Icon et explique l'icône "générique" dans le menu de l'application.
  • étant donné que les deux fichiers .desktop semblent être équivalents, nous pouvons simplement "cacher" celui qui montre l'icône générique en ajoutant NoDisplay=true comme la dernière ligne de ce fichier .desktop.

Maintenant, il y a juste le seul "okulaire" quand un type oku dans la barre de recherche de lanceur:

Just one okular

Remarque :

  • aucune des opérations ci-dessus n'a besoin que l'utilisateur soit root ou d'invoquer Sudo
  • modifications apportées aux fichiers .desktop dans ~/.local/share/applications survivra les mises à jour des forfaits parents.

n bug a été déposé.

3
DK Bose