1

Possible Duplicate:
How can I find *.desktop files?
How to find out the terminal command of an application?

The title is very self-descriptive. I find it completely unintuitive that I can't access such important information simply via right-clicking on the program icon on the Unity launcher. Since that's not the solution, I'm completely clueless how to figure out which exact program is being launched by some icon in the Unity launcher. There must be a simple way, but how?

zxcdw
  • 333

1 Answers1

3

Each Launcher icon has a shortcut or .desktop file associated with it, which defines its properties. These .desktop files are normally stored in /usr/share/applications/.

We can use the name tooltip shown when hovering over a Launcher icon to find its associated .desktop file and from that, the path to the program or script it is launching.

  • Hover over the launcher icon in question to display its name:

    enter image description here

  • Open a terminal with Ctrl+Alt+T, and type/paste the below; replace the APPNAME with the name shown in the previous step to get the path to the program that will be launched:

    grep Exec $(grep -l "APPNAME" /usr/share/applications/*)
    
  • For example, using the System Settings example and running the below:

    grep Exec $(grep -l "System Settings" /usr/share/applications/*)
    

    we get:

    Exec=gnome-control-center --overview
    

which tells us that the name of the executable is gnome-control-center, and it's being launched with the option --overview.

ish
  • 139,926
  • A little problem with your solution could happen when a user makes a first grep that returns no files. The second grep would then await input from the standard input, and you could only kill it with a ctrl+c. I would suggest grep -l "Name=APPNAME" /usr/share/applications/* | xargs grep ^Exec. – franzlorenzon Nov 06 '13 at 08:13