Comment forcer Unity reload ~ / .local / share / applications /


66

Disons que j'ai changé / ajouté un myapp.desktopfichier à ~/.local/share/applications/. Pendant un certain temps, Ubuntu Unity me montrera toujours d'anciens raccourcis d'applications sous Unity sous le bouton Ubuntu. Il faudra un certain temps (ou juste un redémarrage) pour obtenir la liste des applications mise à jour à cet endroit.

Comment puis-je forcer Unity à recharger ~/.local/share/applicationset à refléter correctement les raccourcis dans l'objectif?


Avez-vous essayé unity --reset?
Sayantankhan

Correction. Ça devrait juste être unity. Appuyez sur alt + F2 et tapez la commande.
sayantankhan

Oui. Cela n'a pas aidé. Il affiche toujours l'ancien nom de l'application après unityou unity --reset(ce qui était avant la modification du fichier myapp.desktop).
Vladimir

Bizarre, cela semble bien fonctionner lorsque je fais exactement la même chose que vous. Vous êtes-vous assuré que le .desktopfichier est exécutable?
sayantankhan

Cela ne fonctionne qu'après la déconnexion / le redémarrage. Essayez simplement de changer le nom de l’application existante dans le fichier du bureau. Ne changez rien d'autre. Par exemple, ajoutez "Test" au nom d'une application existante. Maintenant, appuyez sur le bouton Ubuntu et commencez à taper le nom de l'application - il affiche toujours l'ancien nom sans "Test" pour moi. Je l'ai reproduit sur les machines de travail et à la maison et sur l'ordinateur portable de la femme. Je pense que c'est à peu près 100% reproductible.
Vladimir

Réponses:


69

Un peu en retard, mais je suis tombé sur ce fil avant de trouver une solution, du moins à mon problème, googler quelque chose lié, presque abandonner.

Selon ce guide, help.ubuntu.com , ne modifiez pas et ne créez pas vos .desktopfichiers dans /usr/local/share/applicationsou ~/.local/share/applications. Au lieu de cela, créez le fichier ailleurs et utilisez

desktop-file-install <your_file.desktop>

ajouter le fichier.

Par exemple, vous créez ~/myapp.desktopet faites

desktop-file-install --dir=$HOME/.local/share/applications ~/myapp.desktop

Les fichiers existants du même nom seront écrasés et mis à jour, vous pouvez les utiliser --delete-originalsi la source n’est plus nécessaire, ou

sudo desktop-file-install ~/myapp.desktop

installer pour tous les utilisateurs.


+1 cela fonctionne. Un script de montage approximatif utilisant cette recette est disponible à l' adresse suivante
Tino

4
je viens de mettre une copie du fichier .desktop dans ~ / .local / share / applications a fonctionné pour moi
chrismarx

Je généralement éditer manuellement le fichier et l'ajouter à .local/share/applications/. Essayé d' utiliser la commande avec --delete-originalet je suis un avertissement: warning: key "Keywords[uk]" is a list and does not have a semicolon as trailing character, fixing. Le fichier source a été supprimé et rien n'a été copié dans le répertoire cible. Evil OS ... a essentiellement modifié mon dossier et je devais en créer un nouveau à partir de zéro.
Daniel

2
Je comprends toujours le problème OP même quand je le fais.
JAB

Je vois toujours le problème OP remarqué même en faisant cela (et même après le redémarrage) (Ubuntu 16.04).
Dan Nissenbaum

17

Pour ce faire, exécutez la commande

killall unity-scope-home

après ouverture du tiret, le processus est automatiquement relancé.

Les icônes correctes sont ensuite affichées ...


1
Ne travaille pas à mes côtés. J'ai supprimé un .desktopfichier et il apparaît toujours dans la compizbarre de lancement.
Tino

Eh bien, coincé avec le bug 1287663 la solution était d'utiliser gsettings setsuivi de( unity --replace & )
Tino

Je ne sais pas ce que vous entendez par barre de lancement Compiz?! Je pensais que tu parlais du tableau de bord?
wa4557

Fonctionne bien pour moi, les applications sont à nouveau répertoriées
Sjaak Trekhaak

Des alternatives dans 15.10? Je vais avoirunity-scope-home: no process found
ardila

10

update-desktop-databaseest la commande pour actualiser la .desktopbase de données.


Cela n'a pas fonctionné pour moi. Exécuter Ubuntu 16.04. Je ne vois toujours pas sur l'icône du lanceur les modifications apportées au fichier .desktop.
RichArt

2
Cette commande ne met à jour que les bases de données de type MIME. Il ne met à jour aucune autre modification. Voir: manpages.ubuntu.com/manpages/zesty/man1/…
hife

Cela a fonctionné pour moi
aless80

travaille pour moi avec sudo
Mahoor13

8

Selon cette réponse (et vous pouvez trouver beaucoup d'autres dans le même sens), malheureusement, il semble n'y avoir aucune commande permettant au démon d'unité-applications-démon d'actualiser son cache d'applications. Mais je peux confirmer que l’unité détectera automatiquement les modifications apportées aux .desktopfichiers ~/.local/share/applications. Si ces modifications ne sont pas immédiatement disponibles, essayez de vous déconnecter puis de vous reconnecter pour l'actualiser.


3
Ouais, il va automatiquement détecter .... dans une heure ...
vladimir

@vladimir Comme je l'ai dit, si vous souhaitez que les modifications soient immédiatement disponibles, essayez de vous déconnecter puis de vous reconnecter pour l'actualiser.
Radu Rădeanu

3
J'ai parfaitement compris votre réponse et je l'accepterai probablement. Vous comprenez les inconvénients de la fermeture de session - toutes les applications ouvertes sont fermées. Ce n'est pas une solution, c'est une solution de contournement et non une solution conviviale. Êtes-vous développeur par hasard? Si oui, pourriez-vous m'indiquer les sources du démon? Je suppose que ça y est: unité-objectif-applications daemon.vala
vladimir

3

Cette réponse n'implique pas un redémarrage du bureau.


Bien que tardivement, il existe une commande utilitaire pour mettre à jour le cache de la base de données de bureau nommé update-desktop-database.

Mise à jour des éléments ajoutés $HOME/.local/share/applications/, utilisez:

>> update-desktop-database

Mise à jour des étoffes addded dans les normes mondiales, comme /usr/share/ubuntu/applications, /usr/share/gnome/applications, /usr/share/applications, etc., utilisez:

>> sudo update-desktop-database

Cela fonctionne pour moi.
Honghe.Wu

0

Certaines applications peuvent ne plus fonctionner correctement après cette commande. Chrome, par exemple, est devenu totalement noir.

unity --replace

Pourriez-vous clarifier votre avertissement (?)?
Zanna

0

J'ai eu un problème similaire, résolu lors du redémarrage. J'utilise Ubuntu 16.04

Je crée généralement des .desktopfichiers /usr/share/applications/si je souhaite partager les fichiers du bureau avec d'autres utilisateurs et ~/.local/share/applicationssi cela ne concerne qu'un utilisateur. Et je recommence habituellement.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.