I am working on a package for a custom application and cannot get my applications icons to display. Here is my desktop file, which is installed in /usr/share/applications:

[Desktop Entry]
Name=Map Creator

I have copied images to the following locations:

  • /usr/share/icons/hicolor/32x32/apps/ntfmo-map-creator.png
  • /usr/share/icons/hicolor/48x48/apps/ntfmo-map-creator.png
  • /usr/share/icons/hicolor/scalable/apps/ntfmo-map-creator.svg

I have rebooted, but still nothing. Do you have to register the icons or something?

[EDIT] Ok, I got it to work by running sudo rm -f /usr/share/icons/*/icon-theme.cache, but that seems a little draconian. Is that the "correct" solution? Does my package need to run that after it installs? Seems a little much....


1 Answer 1


Add gtk-update-icon-cache /usr/share/icons/hicolor to your debian/postinst file:


gtk-update-icon-cache /usr/share/icons/hicolor

exit 0
  • OK, thanks, this is working. Although I also noticed that ubuntu automatically updates the cache when icons are added as part of a package, but not when you manually drop them in.
    – Dave
    Oct 5, 2011 at 12:35
  • gtk-update-icon-cache checks the timestamp on the top-level icon directory, so you also need to touch that. The only documentation I can find for this is here: fedoraproject.org/wiki/Packaging:Scriptlets#Icon_Cache Feb 18, 2017 at 18:51
  • Wow....8 years later and this worked for me on Ubuntu 18.04. Thank you! Nov 19, 2019 at 20:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.