Cómo forzar la recarga de Unity ~ / .local / share / aplicaciones /

66

Digamos que cambié / agregué algún myapp.desktoparchivo en ~/.local/share/applications/. Durante algún tiempo, Ubuntu Unity todavía me mostrará accesos directos a aplicaciones antiguas en la lente de Unity bajo el botón Ubuntu. Tomará algún tiempo (o solo un reinicio) para actualizar la lista de aplicaciones allí.

¿Cómo puedo forzar la recarga de Unity ~/.local/share/applicationsy reflejar los accesos directos correctamente en la lente?

vladimir
fuente
Has intentado unity --reset?
sayantankhan
Corrección. Solo debería ser unity. Presione alt + F2 y escriba el comando.
sayantankhan
Si. No sirvió de nada. Todavía muestra nombre de la aplicación de edad después unityo unity --reset(lo que era antes de que yo modifiqué archivo myapp.desktop).
Vladimir
Extraño, parece estar funcionando bien cuando hago exactamente lo mismo que tú estás haciendo. ¿Te has asegurado de que el .desktoparchivo sea ejecutable?
sayantankhan
Funciona solo después de cerrar sesión / reiniciar. Intente simplemente cambiar el nombre de la aplicación existente dentro del archivo de escritorio. No cambies nada más. Por ejemplo, agregue "Prueba" al nombre de alguna aplicación existente. Ahora presione el botón Ubuntu y comience a escribir el nombre de la aplicación; todavía muestra el nombre antiguo sin "Prueba" para mí. Lo reproduje tanto en el trabajo como en las máquinas domésticas y en la computadora portátil de mi esposa. Creo que es aproximadamente 100% reproducible.
Vladimir

Respuestas:

69

Un poco tarde, pero me topé con este hilo antes de encontrar una solución, al menos para mi problema, buscando en Google algo relacionado, casi dándome por vencido.

Según esta guía help.ubuntu.com , no solo edite o cree sus .desktoparchivos en /usr/local/share/applicationso ~/.local/share/applications. En su lugar, cree el archivo en otro lugar y use

desktop-file-install <your_file.desktop>

para agregar el archivo.

Por ejemplo, creas ~/myapp.desktopy haces

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

Los archivos existentes con el mismo nombre se sobrescribirán y la unidad se actualizará, puede usarlos --delete-originalsi la fuente ya no es necesaria, o

sudo desktop-file-install ~/myapp.desktop

instalarlo para todos los usuarios.

Rodin
fuente
+1 esto funciona. Un guión de edición aproximado que usa esta receta está en gist.github.com/hilbix/f468fcbb15c3f68670d8
Tino
44
simplemente poniendo una copia del archivo .desktop en ~ / .local / share / aplicaciones trabajaron para mí-
chrismarx
Por lo general, edito manualmente el archivo y lo agrego .local/share/applications/. Intentado utilizar el comando con --delete-originaly tengo una advertencia: warning: key "Keywords[uk]" is a list and does not have a semicolon as trailing character, fixing. El resultado fue el archivo fuente eliminado y nada copiado en el directorio de destino. Evil OS ... básicamente destruyó mi archivo y tuve que crear uno nuevo desde cero.
Daniel
2
Todavía recibo el problema que OP notó incluso cuando hago esto.
JAB
También sigo teniendo el problema que OP notó incluso al hacer esto (e incluso después de reiniciar) (Ubuntu 16.04).
Dan Nissenbaum
17

La forma de hacerlo es ejecutar el comando

killall unity-scope-home

Después de abrir el tablero, el proceso se inicia automáticamente de nuevo.

Luego se muestran los iconos correctos ...

wa4557
fuente
1
No funciona a mi lado. Eliminé un .desktoparchivo y todavía aparece en la compizbarra de inicio.
Tino
Bueno, pegado con ERROR 1287663 la solución era utilizar gsettings setseguido de( unity --replace & )
Tino
No sé a qué te refieres con compiz launch bar ?! Pensé que estabas hablando del guión?
wa4557
Funciona bien para mí, las aplicaciones se enumeran nuevamente
Sjaak Trekhaak
¿Alguna alternativa en 15.10? Me estoy poniendounity-scope-home: no process found
ardila
10

update-desktop-databasees el comando para actualizar la .desktopbase de datos.

Pekka Kuronen
fuente
Esto no funcionó para mí. Ejecutando Ubuntu 16.04. Todavía no veo en el icono del iniciador los cambios realizados en el archivo .desktop.
RichArt
2
Este comando solo actualiza las bases de datos de tipo MIME. No actualiza ningún otro cambio. Ver: manpages.ubuntu.com/manpages/zesty/man1/…
hife
Funcionó para mí
aless80
funciona para mí con sudo
Mahoor13
8

De acuerdo con esta respuesta (y puede encontrar muchas otras en el mismo sentido), desafortunadamente parece que no hay ningún comando para permitir que el demonio de aplicaciones unitarias actualice su caché de aplicaciones. Pero puedo confirmar que unity detectará automáticamente cualquier cambio con los .desktoparchivos ~/.local/share/applications. Si estos cambios no están disponibles de inmediato, intente cerrar la sesión y volver a iniciarla para actualizarla.

Radu Rădeanu
fuente
3
Sí, detectará automáticamente ... en una hora ...
Vladimir
@vladimir Como dije, si desea que los cambios estén disponibles de inmediato, intente cerrar sesión y volver a iniciarla para actualizarla.
Radu Rădeanu
3
Recibí tu respuesta y probablemente la acepte. Comprende las desventajas de cerrar sesión: todas las aplicaciones abiertas se cerraron. No es una solución, es una solución alternativa y no fácil de usar. ¿Eres desarrollador por casualidad? En caso afirmativo, ¿podría señalarme las fuentes del demonio? Supongo que esto es todo: unity-lens-aplicaciones daemon.vala
vladimir
3

Esta respuesta no implica un reinicio del escritorio.


Aunque es bastante tarde, hay un comando de utilidad para actualizar el caché de la base de datos de escritorio llamado update-desktop-database.

Actualizando las cosas agregadas $HOME/.local/share/applications/, use:

>> update-desktop-database

Actualización de telas addded en los globales, como /usr/share/ubuntu/applications, /usr/share/gnome/applications, /usr/share/applications, etc, utilice:

>> sudo update-desktop-database
Adán
fuente
Esto funciona para mi.
Honghe.Wu
0

Algunas aplicaciones pueden dejar de funcionar correctamente después de este comando. Chrome, por ejemplo, se volvió totalmente negro.

unity --replace
Juliano ENS
fuente
¿Podría aclarar su advertencia (?)?
Zanna
0

Tuve un problema similar, solucionado al reiniciar. Yo uso ubuntu 16.04

Por lo general, creo .desktoparchivos /usr/share/applications/si quiero compartir los archivos de escritorio con otros usuarios y ~/.local/share/applicationssolo para un usuario. Y generalmente reinicio.

Saahithyan Vigneswaran
fuente