Fedora – PNG Image not displaying for desktop icon on Fedora 16/17 with Gnome

desktopfedoragnomeicons

I attempted to create a desktop icon in Fedora Gnome but I only get a generic binary icon for my application. Installing Gimp or OpenOffice magically makes my icon appear.

I used Google Chrome on Fedora as an reference for making a desktop icon using png images. Google Chrome uses 32-bit PNG files in /usr/share/icons/hicolor/#x#/apps/google-chrome.png, where #x# is the various resolutions: 16×16, 22×22, 24×24, 32×32, 48×48, 64×64, 128×128, and 256×256. The permissions on these files were all 0644 or -rw-r--r--. Google places their google-chrome.desktop file in /usr/local/share/applications/ with permission 0644.

Attempt:

I copied all of these conditions except the location of the .desktop file:

  • my-app.desktop file was placed in /usr/share/applications with permission 0644
  • All png files were saved as 32-bit images and properly located in /usr/share/icons/hicolor/#x#/apps with permission 0644
  • My desktop file is as follows:

(my-app.desktop)

[Desktop Entry]
Version=1.0
Name=My-App
GenericName=My Application
Comment=Test Application
Terminal=false
Icon=my-app.png
Type=Application
Exec=/opt/my-app/my-app
MimeType=application/x-executable
Categories=Network

Result:

Navigating to /usr/share/applications my my-app.desktop file looks like a plain file:
enter image description here

In the Gnome desktop menu, my application looks like a generic binary file:
enter image description here

Installing Gimp or OpenOffice will make my icon appear as intended without modification to the my-app.desktop file or the png files.

I have tried the following different things to solve the problem:

  • Changing Icon=my-app.png to Icon=my-app in my-app.desktop
  • Saving the PNG files as 24-bit

Best Answer

what does ~/.xsession-errors say? Does it hint on the error that a validation would give?

What does desktop-file-validate say?

It should say something like this:

sm.desktop: error: (will be fatal in the future): value "sm.png" for key "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension as described in the Icon Theme Specification if the value is not an absolute path

Edit: Here's what the desktop file looks like fixed:

[Desktop Entry]
Version=1.0
Name=My-App
GenericName=My Application
Comment=Test Application
Terminal=false
Icon=my-app
Type=Application
Exec=/opt/my-app/my-app
MimeType=application/x-executable;
Categories=Network;
Related Question