Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Is there a way to find the package/executable name (for example, evince for document viewer, or totem for Videos) for an app?

share|improve this question

3 Answers 3

up vote 0 down vote accepted

(1) If you know the name of the program

Try on the command line:

find /usr -name 'evince'

Most programs are in the /usr/bin directory.

Then you can type on the command line:

/usr/bin/evince

This will start the evince program.

To know the hierarchy of the Linux filesystem (what is where) you can check the page about the Linux Filesystem Hierarchy on The Linux Documentation Project site

(2) If you don't know the name of the program.

Step 1: Open a terminal and list all running processes with their PID - process identifier number:

ps -e 

first list of processes

Step 2: Start your program

Step 3: Switch to the terminal and type again:

ps -e 

second list of processes

Step 4: Trial and error to find the process of your program.

Ubuntuone-syncd is in both lists with PID 2911. Ps is the process of the ps⁻command in the terminal. There are three possibilities left:update-notifier, aptd and evince.

On the command line for those 3 possibilities

man name_of_the_process

or

info name_of_the_process

or

name_of_the_process -h 

Replace name_of_the_process by the real process name.

In this case if we type

evince -h 

we get:

help option after evince

So evince is the GNOME Document Viewer we were looking for.

share|improve this answer
    
The problem is that the program that I want to find is the executable for the sound control panel, which I don't know the non-ubuntu-namechanged name for. That works if you figured out that document viewer was actually called Evince, but I want to know how to figure that out. –  Yet Another User May 12 '13 at 15:26
    
@YetAnotherUser: I adapted my answer to reflect your comment –  user85164 May 12 '13 at 21:48
    
ps -e cuts off process names, rendering it useless for my purposes –  Yet Another User May 13 '13 at 4:33
    
@YetAnotherUser Then make it ps -ef –  user85164 May 13 '13 at 4:45

Frank's answer should work for you. I'll add that for locating application processes I like the pstree command better than the flat list ps gives. (Technically, the very capable ps command can be used to print a tree.) But here's an alternate approach.

You should be able to find the mapping between an application's executable file name and its GUI name in its .desktop file, and these are scattered around your system in several directories. In a terminal try this

grep -l "Categories=.*Settings" /usr/share/applications/*.desktop

to list the primary system .desktop files describing applications shown in settings dialogs.

grep -l "Categories=.*Settings" /usr/share/applications/*.desktop | grep -i sound

pares that list to only files containing the name "sound". The program you're looking for will belong to one of the listed .desktop files, with any luck. They are text files. The "Name=" line gives the GUI name. You're interested in the "Exec=" line, which names the executable file. This line then may even flat-out work:

grep -l "Categories=.*Settings" /usr/share/applications/*.desktop | grep -i sound | xargs grep -e Name= -e Exec=

Even if that doesn't work, the information you want is almost certainly in the Exec line of some .desktop file somewhere, probably in /usr/share/applications, likely in a file with "sound" in the name. Sorry I can't just give you the program name. I don't have a Unity desktop in front of me.

share|improve this answer

Desktop applications are started through a *.desktop file. so, if you do locate --regex '.desktop$' you'll get a list of all the '*.desktop' files on your system. Since they're usually short files, it's easy to find the "EXEC=" line.

share|improve this answer
    
Interesting remark. So I did some research. Most applications have a *.desktop file in /usr/share/applications/ . But that is because they adhere to the protocol of freedesktop.org and so they come in a Debian package that will install that file. –  user85164 May 13 '13 at 23:45

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.