¿Cómo actualizo el caché de iconos?

17

En primer lugar, no estoy 100% seguro de que la pregunta principal que he escrito aquí sea en realidad el problema, pero tengo el presentimiento de que lo es. Hace un tiempo escribí una simple aplicación Gtk # en Mono y le di una ICO personalizada como archivo de icono. Funcionó muy bien.

Recientemente fui a cambiar este ícono por uno diferente, pero cuando compilo y ejecuto el programa, todavía muestra el ícono. Me aseguré de haber actualizado cada referencia al archivo de ícono al nuevo y de haber eliminado por completo el ícono anterior del disco duro. Pero todavía aparece en el Iniciador cuando ejecuto el programa.

Supongo que esto significa que Gtk almacena en caché los iconos en algún lugar de Ubuntu y probablemente necesite forzarlo a actualizar. ¿Algún consejo?

Soapergem
fuente

Respuestas:

25

ejecuta lo siguiente en una terminal:

sudo update-icon-caches /usr/share/icons/*
Timo Kluck
fuente
+1, funciona perfectamente en wayland.
ankostis
Aun relevante. Solo solucioné el problema del icono de mi aplicación en Ubuntu 19.04.
Jamie Carl
4

Necesitas:

  • Actualice la marca de tiempo en el directorio de iconos de nivel superior
  • correr gtk-update-icon-cache

Nota: hicolor es el tema predeterminado que los desarrolladores de aplicaciones deberían usar. Si está creando un tema de icono, actualice la carpeta de su tema de icono.

sudo touch /usr/share/icons/hicolor ~/.local/share/icons/hicolor
sudo gtk-update-icon-cache

Ver (la única documentación que puedo encontrar para esto): https://fedoraproject.org/wiki/Packaging:Scriptlets#Icon_Cache

Brendan Long
fuente
2

En el símbolo del sistema de terminal escriba:

$ unity

Esto actualizará tus iconos * .desktop en el Iniciador.

Si el problema no es Ubuntu Launcher, sino la aplicación en sí, eche un vistazo a http://stackoverflow.com para ver las resoluciones de programación.

Un problema similar a este se responde en /programming/5315359/custom-libindicator-icon-is-not-displayed/6503807#6503807

También mira: https://developer.gnome.org/gtk3/stable/gtk-update-icon-cache.html

LD James
fuente
Esto no funcionó
soapergem
@SoaperGEM El unityproblema con el iniciador real. La ejecución de la unidad en un símbolo del sistema actualizará los iconos del iniciador de Ubuntu. Mi respuesta fue dirigida a un Ubuntu Launcherproblema. Como no funciona, lo más probable es que sea un gtkproblema de programación. Puede obtener mejores respuestas (más rápidas) con el problema real de programación gtk en stackoverflow.com . Después de resolver la visualización del ícono real del programa gtk, es cuando ejecutaría el unitycomando para actualizar la caché del Lanzador de Ubuntu. Dame 5 minutos para actualizar mi respuesta.
LD James el
Esta respuesta necesita una advertencia.
As
@Ace ¿Puedes dar más detalles sobre la advertencia?
LD James
3
@LDJames, actualmente en ejecución unityforzará el cierre de todas las aplicaciones en ejecución y reiniciará la unidad. Perdí datos en mi navegador debido a esto.
As