105

I just installed the lastest version of UGENE. I works fine but in order to use it, I have to enter the following in the terminal: cd ugene-1.11.5/ then execute ./ugene -ui to launch UGENE GUI.

This takes too long. I would like to build a .desktop file for UGENE to be used in Ubuntu 12.04 so that I can simply open it from the unity launcher.

Not sure if this is helpful but the website says: By default ugene script launches the command-line version of UGENE.

Here's what I have (not sure if it's right):

[Desktop Entry]
Version=1.0
Name=my Unipro UGENE
GenericName=Integrated Bioinformatics Suite
Comment=Unipro UGENE is a cross-platform visual environment for DNA and protein sequence analysis.
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=/home/samuel/ugene-1.11.5 ./ugene -ui -c %F
Icon=/usr/share/icons/hicolor/scalable/apps/ugene.svg
Type=Application
Terminal=true
Categories=Utility;Development;
StartupWMClass=UGENE

I added the launcher named my Unipro UGENE to my unity bar and tried opening it but it doesn't appear. I must be missing something. I don't know what the StartWMCClass field is suppose to be nor do I know whether I entered the correct MimeType.

cooldood3490
  • 1,155
  • 1
    You can omit those. what is Adding Path? it is not required probably.. in exec put home/samuel/ugene-1.11.5/ugene -ui -c %F – Web-E Apr 14 '13 at 10:08
  • Terminal=true for CLI version may be needed. At least fales is not correct. – Takkat Apr 14 '13 at 13:30
  • thanks for the suggestions. I'll look into this some more later tonight. If I can't figure it out, I guess I'll start a bounty in 11 hours. Hope everyone's done their homework!! – cooldood3490 Apr 15 '13 at 22:42
  • 4
    As a complement for anyone trying to create .desktop entries, use: desktop-file-install THE_DESKTOP_FILENAME_HERE.desktop Because it will show you any errors it finds on the file, and if everything is all right will copy it to the correct location /usr/share/applications and reload unity. – Lucas Marques Mar 30 '17 at 13:01

2 Answers2

165

For reference see the Freedesktop Desktop Entry Specification, but this should work:

[Desktop Entry]
Version=1.0
Name=Unipro UGENE
Comment=Unipro UGENE is a cross-platform visual environment for DNA and protein sequence analysis.
Exec=/home/samuel/ugene-1.11.5/ugene -ui
Path=/home/samuel/ugene-1.11.5/
Icon=/usr/share/icons/Humanity/apps/32/access.svg
Terminal=false
Type=Application
Categories=Utility;Development;

Some notes:

Version

  • Should be 1.0, it refers to the .desktop file version, not to the program version.

Name

  • The name that should be displayed on the menu.

Exec

  • The full path to the executable. No need to use '.', it just means the current dir

Path

  • The dir that will be set as current when the entry is run. You usually don't need to set it, but I have added it just in case. It is the same as using 'cd' in your command line

Icon

  • The path to the icon file that will be used for the file, it's likely that the one that you put doesn't exists, I have changed it for a generic one. You should change this to the file that you want the icon to use

Mimetype

  • Specifies the kind of files that this program is able to open. I've left it empty.

StartupWMClass

  • Only needed for some programs, It is usually needed by java programs but only set it if you notice some problems.

To use the desktop file from the Dash you will need to copy it to /usr/share/applications for any user to be able to use it (you will need administrator permissions) or to ~/.local/share/applications (where ~ means your user directory) if you just want it to be available for one user.

Bluethon
  • 133
Javier Rivera
  • 35,153
  • 1
    excellent, works like a charm. thanks for providing a link to the specs and adding a detailed description on which ones you added. This way I know what to do next time I want to create a .desktop file. – cooldood3490 Apr 17 '13 at 00:20
  • 4
    Just to note that I have fixed a common mistake in the desktop file; when using multiple values you need to include the trailing semi-colon. – Cas Apr 19 '13 at 18:29
  • what's this means? #!/usr/bin/env/ xdg-open – Rahal Kanishka May 17 '17 at 15:34
  • This is a shebang, https://en.wikipedia.org/wiki/Shebang_(Unix) , it tells the computer to use xdg-open to open the file when you try to run it as a script. – Javier Rivera May 18 '17 at 12:21
  • Thanks, with this I managed to get "Sound" settings to show up in Albert :D (for reference: https://github.com/albertlauncher/albert/issues/877) – SidOfc May 17 '20 at 22:49
  • to set StartupWMClass, see this question – Zatigem Jul 09 '23 at 20:33
36

Instead of manually adding .desktop files, you can use the little GUI tool alacarte (Main Menu) to do this for you.

Installation:

sudo apt install alacarte

alacarte Screenshot

pLumo
  • 26,947
  • 4
    Still the best, user-friendly option even in 2019! – Miracles Happen Apr 13 '19 at 10:10
  • 5
    I can never remember the name of this program. I wish they called it Launcher Editor or Desktop File Creator because always google before I open it – Jonathan Apr 17 '19 at 22:42
  • 5
    @Jonathan thankfully, you can use alacarte to change its name ;-) – PhoneixS Nov 05 '19 at 15:36
  • 3
    I could never understood as to why this was not part of desktop manager from the beginning - this shall have been a 'create shortcut' function or something like that. On every new installation i spend hours looking what was the name of this utility. – Lj MT Feb 16 '20 at 18:52
  • Still best option as compare to other.Thanks – Ankit Tale May 22 '21 at 12:24
  • Thank you for these details. In Cinnamon 5.2.7 one can create a launcher by right-clicking on the desktop. It seems to be built into the desktop application. – Antoni May 07 '22 at 10:44