Icon assigned in .desktop file is not used when application is loaded and launcher icon appears

5,343

Why did you create your desktop file in ~/applications directory? This desktop file should be placed into /usr/share/applications or into ~/.local/share/applications.

The right and successful way to do this is to use Main Menu (it can be installed with sudo apt-get install alacarte command). Search for it in Dash or you can open it from Terminal with this command:

alacarte

After it opens, follow the instructions in the image below:

alacarte

You can check after in ~/.local/share/applications if you have a new desktop file for Eclipse Juno. The name of the new fesktop file should be something like alacarte-made-x.desktop (where x is a number). And now if you want a copy of this file in your ~/applications directory, you can copy it there without no problem.

And another one important thing: use the full path to the application for command (Exec=/path/to/eclipse) in both desktop files.

See also:

Share:
5,343

Related videos on Youtube

nass
Author by

nass

Updated on September 18, 2022

Comments

  • nass
    nass over 1 year

    I am installing the newer application eclipse Juno on ubuntu 12.04 64bit, following this tutorial: http://www.blogs.digitalworlds.net/softwarenotes/?p=54. I have already installed Eclipse Indigo in the past (the already version, found in Ubuntu repos). Note that I may be using the Eclipse as an example here, but I have came across this behaviour in other cases too.

    So, the original Eclipse Indigo .desktop file is the following:

    [Desktop Entry]
    Type=Application
    Name=Eclipse
    Comment=Eclipse Integrated Development Environment
    Icon=eclipse
    Exec=eclipse
    Terminal=false
    Categories=Development;IDE;Java;
    

    I changed it though a bit for the sake of installing the new Eclipse Juno side by side with the old one. To the above file became:

    [Desktop Entry]
    Type=Application
    Name="Eclipse Indigo"  #<------THIS CHANGED
    Comment=Eclipse Integrated Development Environment
    Icon=eclipse
    Exec=eclipse
    Terminal=false
    Categories=Development;IDE;Java;
    

    Finally I generate the .desktop file for eclipse juno, NOT in the way instructed by the guide but with the command

    gnome-desktop-item-edit --create-new ~/applications
    

    The contents of the file are:

    #!/usr/bin/env xdg-open
    [Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon[en_US]=/opt/eclipse/icon.xpm
    Name[en_US]=Eclipse Juno
    Exec=/opt/eclipse/eclipse
    Comment[en_US]=Eclipse Juno 4.2.2 IDE
    Name=Eclipse Juno
    Comment=Eclipse Juno 4.2.2 IDE
    Icon=/opt/eclipse/icon.xpm
    

    Now starting the application uses the newer Juno icon and hovering the icon says (surely enough) "Eclipse Juno".

    So far, so good. However, if I start the application from the CLI , with /opt/eclipse/eclipse, I get the icon of Eclipse Indigo showing up on the launcher and hovering this icon says "Eclipse Indigo". However, it is Juno that has been started (which is what I wanted).

    In the following picture, the top icon (in the red rectangle) is the Eclipse Juno. In the bottom icon is again Eclipse Juno, but started from the command line. Thank you for your help.

    img

    EDIT: ok, ~/applications is taking more fame than it should. This is just a personal folder to keep applications, binaries and other personal stuff. I created the files in my personal folder and then copied the generated .desktop files in /usr/share/applications.

  • nass
    nass over 10 years
    Hi there, thank you for the answer. However, I come across another problem down the road. Please see this following question.
  • faizal
    faizal almost 10 years
    Didn't work for me in Ubuntu 14.04. opening the newly created .Desktop file in .local/share/applications/ from Nautilus gives an error :Untrusted application launcher. The application launcher “alacarte-made.desktop” has not been marked as trusted. If you do not know the source of this file, launching it may be unsafe.
  • Radu Rădeanu
    Radu Rădeanu almost 10 years
    @faizal Yes, because you didn't make it executable (chmod +x filename...)
  • faizal
    faizal almost 10 years
    Ahh thanks. It works now. I am still having a related problem. Please see askubuntu.com/questions/492642/…