Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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: 16x16, 22x22, 24x24, 32x32, 48x48, 64x64, 128x128, and 256x256. 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
share|improve this question
1  
Can you upload the problematic PNG file somewhere? –  njsg Jun 19 '12 at 18:33
add comment

1 Answer

up vote 1 down vote accepted

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;
share|improve this answer
    
Thanks for the input. I wasn't able to discern if any of the information in ~/.xsession-errors was related to my problem. However running desktop-file-validation showed the error you mentioned plus 2 more errors. As mentioned in my question, I already tried removing the extention and still got the same problem. However I'll try rectifying the other two errors and let you know if that works. The other two errors were caused by a missing semicolon ; at the end of MimeType and Categories. –  Daniel K Jun 20 '12 at 14:09
    
Just verified it to be working. Removing the image extension and adding a semicolon at the end of MimeType and Categories did the trick. I've modified your answer to include the fixed desktop file. Thanks! –  Daniel K Jun 20 '12 at 15:19
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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