Create Executable and Icon for an Application

From time to time, one might download a fully executable app, that will launch by double clicking on it's icon but with no install process.

Those applications won't appear in the “Menu > Applications” list, nor will you be able to add them to a panel. To circumvent this problem here is an example demonstrating how to install sublime text and create a desktop icon for it.

Use the following address to download the latest version of Sublime Text:
http://www.sublimetext.com/2

Then right click on the downloaded .tar.bz2 archive and and select “extract here”…

Move to /opt and change access rights

It is of use, in the Linux environment, to put “extra” software in the /opt directory. To do this, you'll need to have admin rights:

> cd ~/Downloads
> mv "Sublime Text 2" sublime
> sudo mv sublime /opt
> cd /opt
> sudo chown -R root:root sublime
> sudo chmod -R +r sublime

In some cases, the extracted directories won't bare the correct “x” (execute) options (i.e.: -rwx——). Using the above sudo chmod -R +r will only add the “read” flag for anyone but wont let group or others “open” the directories (x). As we do NOT want to change all files “x” option, but only directories, we'll use the next command:

> sudo find /opt/sublime -type d -exec chmod 755 {} +

And to set execution rights correctly on files:

> sudo find /opt/sublime/ -type f -perm 744 -exec chmod +x {} +
> sudo nano /usr/bin/sublime_text

Paste:
#!/bin/sh
export SUBLIME_HOME="/opt/sublime"
$SUBLIME_HOME/sublime_text "$*"

Save the file (Ctrl+x - y)

> sudo chmod 775 /usr/bin/sublime_text
> sudo nano /usr/share/applications/sublime.desktop

Paste:
[Desktop Entry]
Encoding=UTF-8
Name=Sublime Text
Comment=Sublime Text 2
Exec=sublime_text
Icon=/opt/sublime/Icon/256x256/sublime_text.png
Terminal=false
Type=Application
Categories=GNOME;GTK;Utility;TextEditor;
StartupNotify=true

Save the file (Ctrl+x - y)

You should now find the Sublime Text icon in Menu > Accessories > Sublime Text

Alternatively if you'd like to only have the icon available for a certain user, create the .desktop file in: ~/.local/share/applications

References

For all details regarding the options that can be used in the .desktop file, refer to these references.

For a list of categories, refer to the freedesktop.org Registered Categories list as well as the additional categories.