如何刷新图标缓存?


17

首先,我不是100%肯定我在这里写的主要问题实际上是问题,但我有预感。不久前,我在Mono中编写了一个简单的Gtk#应用程序,并为其提供了一个自定义ICO作为其图标文件。很棒。

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

我假设这意味着Gtk将图标缓存在Ubuntu中的某个地方,我可能需要强制刷新它。有什么建议吗?

Answers:




2

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

$ unity

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

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

与此类似的问题已在/programming/5315359/custom-libindicator-icon-is-not-displayed/6503807#6503807中得到了回答

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


这行不通
soapergem '16

@SoaperGEM unity实际启动器的问题。在命令提示符下运行统一将刷新Ubuntu的启动器图标。我的回答是针对一个Ubuntu Launcher问题的。由于它不起作用,很可能是gtk编程问题。通过stackoverflow.com上的实际gtk编程问题,您可能会得到更好的(快速)答案。解决了gtk程序的实际图标显示后,即在您运行unity命令以更新Ubuntu的Launcher缓存时。给我5分钟以更新我的答案。
LD James

这个答案需要警告。
2013年

@Ace您能详细说明一下警告吗?
LD詹姆斯

3
@LDJames当前正在运行unity将强制关闭所有正在运行的应用程序并重新启动unity。因此,我在浏览器中丢失了数据。
Ace
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.