Ubuntu – How to make an icon to enter terminal commands

command lineshortcut-keys

Let me start by saying that I'm very new to Ubuntu in general, so I realize this may be a basic question. I'm using xubuntu 14.04. I recently got a wireless usb working by following the steps here.

The instructions say that anytime the kernel updates, I must recompile by entering the following into the terminal:

cd ~/mt7601/src
make clean
make
sudo make install
sudo modprobe mt7601Usta

I'd like to know if there's anyway to create an icon on my desktop that I can just double click that will have the effect of entering the above commands into the terminal?

Best Answer

How to create an icon on your desktop to perform the recompile-job

  1. Open gedit, paste the lines below into the file:

    [Desktop Entry]
    Name=Recompile
    Exec=/bin/bash -c "cd ~/mt7601/src&&make clean&&make&&sudo make install&&sudo modprobe mt7601Usta"
    Type=Application
    Terminal=true
    
  2. Save the file as recompile.desktop on your desktop

  3. Make the file executable by the command:

    chmod +x /path/to/recompile.desktop
    

    After you made it executable, a generic icon will show up on the file (not necessarily the same as in the image, depending on your icon theme).

    enter image description here

  4. Simply double click on the file to run it. it will open a terminal window and ask for your password to run the sudo part of the command:

    enter image description here

Explanation

  • Desktop files (with the extension .desktop) can be used to perform all kinds of applications or tasks. To make it run shell commands, the format is:

    Exec=/bin/bash -c "<command>"
    

    In this case, in the Exec= -line, the commands mentioned in your question are separated by &&, which is effectively the same as placing each command on a new line.

    This makes it unnecessary to create a separate script; all is included in one launcher.

  • To make a .desktop file run from your desktop, you have to make it executable.
    After you made it executable, the name as it appears on your desktop is the name, defined in the line:

    Name=Recompile
    
  • The line:

    Terminal=true
    

    makes the command(s) run in a terminal window.

  • The example file is a very basic one. If you'd like the file to have another icon than the generic one, add a line (e.g.):

    Icon=/path/to/icon.png
    

    enter image description here

More on .desktop files and their required/optional entries here.

Related Question