17

I have several .desktop files that I migrated over from 12.10 ubuntu. The applications they point to launch just fine, and the image displays in the dash when I search for them...but there isn't any text below the images when they show up in the dash, it's just the image. All other applications that were either installed by default, or installed through the software center show up just fine.

Here's a sample .desktop that I created:

[Desktop Entry]
Version=1.0
Name=Sublime Text 2
GenericName=Text Editor
Comment=Awesome Text Editor
Exec=/home/wes/Sublime\ Text\ 2/sublime_text
Icon=/home/wes/Sublime Text 2/Icon/128x128/sublime_text.png
Terminal=false
Type=Application

Here's what I mean:

No text for custom .desktop launcher

Edit: This is just one example of 2 or 3 .desktop files that I have created in the past, that worked as expected in 12.10, but all seem to be missing the application name in 13.04 (in the dash only). I don't think it is the icon size, as I have tried various different sizes (32x32, 64x64, 128x128, etc...).

3
  • Try to lower picture's size to 64x64 and also include a Categories= entry. I assume Categories=GTK;Development;IDE; ? Logout-Login to see the changes.
    – NickTux
    Jul 1, 2013 at 1:43
  • @NikTh Yes, I have tried all of that, and for whatever reason it just doesn't want to work. Also, it is important to note that this is just one of them...I have 2 or 3 more custom .desktop files that all show up like this in the dash, some have larger icons, some are smaller than 64x64. I'm thinking it's a much more obscure issue.
    – Wes
    Jul 1, 2013 at 14:09
  • What worked for me: I had this problem when the file my .desktop file pointed to wasn't executable. After chmod +x on the application itself (and sudo update-desktop-database), it worked.
    – user203145
    Dec 4, 2020 at 12:39

7 Answers 7

22

You can validate your .desktop files with desktop-file-validate *.desktop and then, if there are no errors (it'll tell you what to fix), run sudo update-desktop-database to actually update the system's database.

3
  • 2
    Doesn't work for me in XFCE. Feb 8, 2017 at 15:20
  • 1
    Sweet! Thanks for the validation tip.
    – Nick
    Feb 22, 2021 at 17:50
  • But also take a look at David Jones' answer. It's important that all path point to a exec file
    – Alex8752
    Feb 14, 2023 at 2:29
11

I just ran into the same problem that you did. I messed around with a bunch of settings within my .desktop files to try to get the name to show up in the Unity launcher, since I had created the .desktop files in ~/Desktop then moved them to ~/.local/share/applications

All I had to do to get the Unity application launcher to show the names is log out of Ubuntu and log back in. Pretty lame, I know, but it worked.

At least this shows that in my case (and probably yours too) the .desktop files were not somehow wrong. After all, in my case, the desktop-file-validate program didn't list any errors. There was probably some name cache within Unity that needed to be cleared. It would be more satisfying to know how to do that without logging out, but this workaround is good enough for me for now. Hope this observation helps someone else!

3
  • 1
    Yeah, that was my experience as well. I could have sworn that I had relogged during my exploration into this issue and it didn't work. Then one day, after giving up on the issue, the power went out in my house, and on reboot the desktop entries were displaying perfectly fine in Unity.
    – Wes
    Jul 19, 2013 at 18:28
  • Works for me in XFCE also. Feb 8, 2017 at 15:19
  • Worked for me in Mint 21 Cinnamon. It is interesting because in Ubuntu I used the update-desktop-database successfully without a logout, but not on Mint.
    – marcelocra
    Dec 5, 2023 at 12:08
3

Search in Dash for alacarte to open Main Menu:

alacarte

In Main Menu search for the application that doesn't have name in Dash. When you find it, click Properties and give it a name (in your case Sublime Text 2 application, in my case Ask Ubuntu web application):

enter image description here

3
  • 1
    Thanks, for the input, but this does not answer my question at all. I am well aware there are interfaces to create custom launchers, but my question is "Why does my custom .desktop file not display the application's name?".
    – Wes
    Jul 1, 2013 at 18:07
  • 1
    @Wes Because of this. Just search your application in Main Menu and you will see that has no name. I experimented the same situation. Jul 1, 2013 at 18:13
  • Specifically the issue is an empty value in the Name or Name[your-locale] line(s). I just encountered this in GNOME, where the Application Finder enables an equivalent editing procedure to above. Mar 28, 2016 at 22:28
3

Ubuntu will not register the .desktop file unless whatever you are executing with:

Exec=<path-to-executable>

is indeed executable, i.e.:

chmod a+x <path-to-executable>
1
  • Very important answer, desktop-file-validate is not validating it!
    – G M
    Mar 22 at 13:26
1

Corrupted or bad permission desktop file in ~/.local/share/applications may overwrite desktop file in /usr/share/applications.Delete or repair desktop file in ~/.local/share/applications first.

0

What worked for me is restarting Cinnamon (if you have Linux Mint) by pressing ALT+F2 and writing "r". There's surely a similar procedure to restart Unity.

This will refresh the menu cache without logging out and logging back in.

0

I solved this problem in a fairly straightforward way that probably doesn't apply to most others here--for some reason, my .desktop file included the line NoDisplay=true, with a fairly predictable result. After I removed this line and relogged, the app showed up in dash search as hoped.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .