Come forzare Unity ricaricare ~ / .local / share / applicazioni /


66

Diciamo che ho cambiato / aggiunto alcuni myapp.desktopfile su ~/.local/share/applications/. Per un po 'di tempo Ubuntu Unity mi mostrerà ancora vecchie scorciatoie di applicazioni sull'obiettivo Unity sotto il pulsante Ubuntu. Ci vorrà del tempo (o solo un riavvio) per ottenere l'aggiornamento dell'elenco delle applicazioni lì.

Come posso forzare la ricarica di Unity ~/.local/share/applicationse riflettere correttamente le scorciatoie nell'obiettivo?


Ci hai provato unity --reset?
sayantankhan,

Correzione. Dovrebbe essere unity. Premi alt + F2 e digita il comando.
sayantankhan,

Sì. Non ha aiutato Mostra ancora il vecchio nome dell'applicazione dopo unityo unity --reset(che era prima della modifica del file myapp.desktop).
Vladimir

Strano, sembra funzionare bene quando faccio esattamente la stessa cosa che stai facendo. Hai verificato che il .desktopfile sia eseguibile?
sayantankhan,

Funziona solo dopo la disconnessione / riavvio. Prova solo a cambiare il nome dell'applicazione esistente all'interno del file desktop. Non cambiare nient'altro. Ad esempio, aggiungi "Test" al nome di alcune app esistenti. Ora premi il pulsante Ubuntu e inizia a digitare il nome dell'applicazione - mostra ancora il vecchio nome senza "Test" per me. L'ho riprodotto sia su macchine da lavoro che da casa e sul laptop della moglie. Penso che sia riproducibile al 100%.
Vladimir

Risposte:


69

Un po 'tardi, ma mi sono imbattuto in questo thread prima di trovare una soluzione, almeno per il mio problema, cercare su Google qualcosa di correlato, quasi rinunciare.

Secondo questa guida help.ubuntu.com , non solo modificare o creare i tuoi .desktopfile in /usr/local/share/applicationso ~/.local/share/applications. Invece, crea il file altrove e usalo

desktop-file-install <your_file.desktop>

per aggiungere il file.

Ad esempio, crei ~/myapp.desktope fai

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

I file esistenti con lo stesso nome verranno sovrascritti e l'unità verrà aggiornata, è possibile utilizzare --delete-originalse l'origine non è più necessaria oppure

sudo desktop-file-install ~/myapp.desktop

per installarlo per tutti gli utenti.


+1 funziona. Uno script di modifica approssimativa che utilizza questa ricetta è disponibile all'indirizzo gist.github.com/hilbix/f468fcbb15c3f68670d8
Tino,

4
solo mettendo una copia del file .desktop in ~ / .local / share / applicazioni ha funzionato per me-
chrismarx

Di solito modifico manualmente il file e lo aggiungo a .local/share/applications/. Provato ad utilizzare il comando con --delete-originaled ho ottenuto un avvertimento: warning: key "Keywords[uk]" is a list and does not have a semicolon as trailing character, fixing. Il risultato è stato il file di origine eliminato e nulla è stato copiato nella directory di destinazione. Evil OS ... fondamentalmente ho rovinato il mio file e ho dovuto crearne uno nuovo da zero.
Daniel

2
Ottengo ancora il problema riscontrato dall'OP anche quando lo faccio.
JAB

Ottengo anche il problema riscontrato dall'OP anche quando lo faccio (e anche dopo il riavvio) (Ubuntu 16.04).
Dan Nissenbaum,

17

Il modo per farlo è eseguire il comando

killall unity-scope-home

dopo aver aperto il trattino il processo viene riavviato automaticamente.

Vengono quindi visualizzate le icone corrette ...


1
Non funziona al mio fianco. Ho rimosso un .desktopfile e viene ancora visualizzato nella compizbarra di avvio.
Tino,

Bene, bloccato con BUG 1287663, la soluzione doveva essere gsettings setseguita da( unity --replace & )
Tino,

Non so cosa intendi con la barra di avvio di Compiz ?! Pensavo stessi parlando del trattino?
wa4557,

Funziona bene per me, le domande sono di nuovo elencate
Sjaak Trekhaak,

Qualche alternativa in 15.10? Ricevounity-scope-home: no process found
ardila il


8

Secondo questa risposta (e puoi trovarne molte altre nello stesso senso), sfortunatamente non sembra esserci alcun comando per consentire al daemon unity-applicazioni-rinfrescare la sua cache dell'applicazione. Ma posso confermare che l'unità rileverà automaticamente eventuali modifiche con i .desktopfile in ~/.local/share/applications. Se queste modifiche non sono immediatamente disponibili, provare a disconnettersi e riconnettersi per aggiornarlo.


3
Sì, rileverà automaticamente ... tra un'ora ...
Vladimir

@vladimir Come ho detto, se si desidera che le modifiche siano immediatamente disponibili, provare a disconnettersi e riconnettersi per aggiornarlo.
Radu Rădeanu,

3
Ho pienamente ricevuto la tua risposta e probabilmente la accetterò. Comprendi gli svantaggi della disconnessione: tutte le app aperte sono chiuse. Non è una soluzione, è una soluzione alternativa e non è facile da usare. Sei uno sviluppatore per caso? Se sì, potresti indicarmi le fonti dei demoni? Immagino che sia così: unity-lens-applicazioni daemon.vala
vladimir

3

Questa risposta non comporta un riavvio del desktop.


Anche se abbastanza tardi, c'è un comando di utilità per aggiornare la cache del database desktop denominata update-desktop-database.

Aggiornando gli elementi aggiunti in $HOME/.local/share/applications/, usa:

>> update-desktop-database

Aggiornamento animali addded a quelle globali, come /usr/share/ubuntu/applications, /usr/share/gnome/applications, /usr/share/applications, ecc, l'uso:

>> sudo update-desktop-database

Questo funziona per me.
Honghe, il

0

Alcune applicazioni potrebbero smettere di funzionare correttamente dopo questo comando. Chrome, ad esempio, è diventato totalmente nero.

unity --replace

Potresti chiarire il tuo avviso (?)?
Zanna,

0

Ho avuto un problema simile, risolto al riavvio. Uso Ubuntu 16.04

Di solito creo i .desktopfile /usr/share/applications/se voglio condividere i file desktop con altri utenti e ~/.local/share/applicationsse solo per un utente. E di solito ricomincio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.