如何刷新图标缓存?

首先,我不是百分之百肯定我在这里写的主要问题实际上是问题,但我预感到它是。 我在Mono之前写了一个简单的Gtk#应用程序,并给它一个自定义的ICO作为它的图标文件。 工作得很好。

最近我把这个图标更改为另一个图标,但是当我构建并运行该程序时,它仍然显示图标。 我已经确保我已经将对图标文件的每个引用更新为新文件,并完全删除了硬盘驱动器上的旧图标。 但是当我运行该程序时它仍会出现在Launcher中。

我假设这意味着Gtk在Ubuntu的某个地方缓存图标,我可能需要强制刷新。 任何建议?

在终端中运行以下命令:

sudo update-icon-caches /usr/share/icons/* 

你需要:

  • 更新顶级图标目录上的时间戳
  • 运行gtk-update-icon-cache

注意:hicolor是应用程序开发人员应该使用的默认主题。 如果您正在制作图标主题,请改为刷新图标主题的文件夹。

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

请参阅(我能找到的唯一文档): https : //fedoraproject.org/wiki/Packaging : Scriptlets#Icon_Cache

在终端命令提示符下键入:

 $ unity 

这将更新启动器中的* .desktop图标。

如果问题不是Ubuntu Launcher,而是应用程序本身看看http://stackoverflow.com的编程解决方案。

https://stackoverflow.com/questions/5315359/custom-libindicator-icon-is-not-displayed/6503807#6503807也回答了类似的问题。

另请参阅: https : //developer.gnome.org/gtk3/stable/gtk-update-icon-cache.html