How to add a shell script to launcher as shortcut

  1. Create *.desktop file, location depends on if it is for personal use or all users. If these directories do not exist, create them.

For personal use , ~/.local/share/applications

gedit ~/.local/share/applications/name.desktop

For all users, /usr/local/share/applications/ (or /usr/share/applications/ depending upon your system).

sudo -i gedit /usr/share/applications/name.desktop
  1. Paste below text

    [Desktop Entry]
    Type=Application
    Terminal=true
    Name=unmount-mount
    Icon=/path/to/icon/icon.svg
    Exec=/path/to/file/mount-unmount.sh
    

    edit Icon= and Exec= and Name=

    Also Terminal=True/false determines whether the terminal opens a window and displays output or runs in the background

  2. put this in unity panel by dragging it from files manager

logic is very simple that unity panel allows *.desktop files as launcher though I haven't tried it because I use Natty.


What @vipara said is mostly correct, except that I also found /usr/local/share didn't work for me. Also, you will need to run sudo update-desktop-database after adding this file in order to refresh the launcher apps. Also, there is a much easier way to create the .desktop files. First, make sure you have the gnome-panel installed (it was pre-installed on my 12.04 Ubuntu):

sudo apt-get install --no-install-recommends gnome-panel

Once you have this command, then you can run:

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

This will bring up a nice GUI window where you can select the application, icon, etc. It will dump the .desktop file on your desktop (or wherever you direct it), so you'll still need to sudo mv it to the applications folder and update the desktop database afterwards

Launchers are saved in /home/myusername/.local/share/applications