0

I have read this How do I figure out what package something is in without resorting to Google? and understand how to tell what package a certain command is in, however I still have a problem, how do I tell what package a program is in if I don't even know how to launch through command-line because I have no idea of its name (which is precisely the problem)?

So, to give an example, I recently wanted to file a bug report against the program known as "Software & Updates" in the GUI, however I had no idea what its name in the command-line was nor what package it was in.
I tried running apt-file search "Software & Updates", but the results weren't very useful and I ended up having to ask around and finally found out it was in the software-properties-gtk package. Is there not another more efficient way of finding out what package something is in?


OS Information:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.04
Release:    15.04
Codename:   vivid
Flavour: GNOME
GNOME Version: 3.16

1 Answers1

3

It's not perfect, but the WM_CLASS property usually holds the package name and/or binary name. You can retrieve an application's WM_CLASS property with the xprop command:

xprop WM_CLASS  

Your mouse cursor will turn to crosshairs. Click on the program. xprop will return the property.

enter image description here

So far I haven't found an application where this doesn't work, but it is possible some won't have the information you want held in the WM_CLASS property.

Seth
  • 58,122
  • @ByteCommander I've edited the answer to make it more foolproof, as I guess it wasn't clear. btw, the "spec" lists the two strings as "instance" and "class". Neither is specifically supposed to be the binary name, although they are used for identification purposes so 99% (if not 100%) of the time they will be directly traceable to the app's package and/or binary. – Seth Oct 03 '15 at 21:22