我已经从 Ubuntu 软件中心安装了 Eclipse,除了 Unity 启动器中的图标之外,其他一切都按预期运行。从下图中可以看到,图标是默认图标,它应该是桌面上显示的图标,因为这是我喜欢的图标。我进行了更新数据库,找到所有 eclipse.png 文件并将其替换为新文件,但仍然显示默认图标。启动器是否使用了某种缓存?提前致谢。
答案1
我感觉 Unity 确实“缓存”了所使用的图标。但我猜真正的问题是你忘记更改应用程序启动器或图标中的某些内容。
要确定启动器存储的位置,首先打开 Eclipse。更改后,在终端中使用以下命令:
$ xprop
您的鼠标光标应该会变成十字形。然后单击 Eclipse 窗口的任意部分。您应该会看到很多文本(就像所用图标的 ASCII 版本一样)。在那里找到NET_WM_DESKTOP_FILE
。就我而言,我得到了以下内容:
_NET_WM_DESKTOP_FILE(STRING) = "/home/<myusername>/.local/share/applications/eclipse_android.desktop"
然后只需打开该文件(您可能需要 root 权限)并检查您是否确实使用了正确的图标。
还要注意,Eclipse 图标可能应该以多种不同尺寸存储,因此您需要替换每个图标。使用apt-file
我得到以下内容:
$ apt-file search eclipse.png
eclipse-platform-data: /usr/share/icons/hicolor/16x16/apps/eclipse.png
eclipse-platform-data: /usr/share/icons/hicolor/256x256/apps/eclipse.png
eclipse-platform-data: /usr/share/icons/hicolor/32x32/apps/eclipse.png
eclipse-platform-data: /usr/share/icons/hicolor/48x48/apps/eclipse.png
eclipse-platform-data: /usr/share/pixmaps/eclipse.png
/usr/share/icons
由于这些文件可能会在任何 Eclipse 更新中被重写,因此如果您放置自定义图标(例如),然后Icon
用该图标的完整路径替换节(来自 Eclipse .desktop),可能会更容易。
如果问题确实是缓存,那么我真的不知道如何解决它。
答案2
据我所知(并在 13.04 中看到),Unity 不使用应用程序图标缓存,如果您更改应用程序图标,则更改将在几秒钟内显示出来。
要永久更改图标,只需将 SVG 或 PNG 放入~/.icons
- 如果不存在,请创建一个。在这种情况下,SVG/PNG 的名称应与 .desktop 文件中的名称相同蚀。