1

I would like to know more about DBus in Linux. After executing qbus on my terminal in Ubuntu 16.04, I see:

:1.0
 com.ubuntu.Upstart
:1.1
:1.11
 org.freedesktop.PowerManagement
 org.xfce.PowerManager
:1.12
:1.13
:1.15
:1.16
 ca.desrt.dconf
...

What does the :1.0 mean? and why I see such a number in multiply lines ? What I know from the manual (--help), the com.ubuntu.Upstart refers to the service name. Since, with 0 arguments, qdbus will list the services available on the bus. So, if I run qdbus com.ubuntu.Upstart, it returns:

/
/com
/com/ubuntu
/com/ubuntu/Upstart
/com/ubuntu/Upstart/jobs
/com/ubuntu/Upstart/jobs/at_2dspi2_2dregistryd
/com/ubuntu/Upstart/jobs/dbus
...

My guest is that the above path is the DBus object that cannot be found in the filesystem. But, what can I interpret more details about these objects? Since we can create multiple buses. My last question is, how can we see a list of all available bus in a system?

Thanks.

ywiyogo
  • 111

1 Answers1

1

From https://dbus.freedesktop.org/doc/dbus-tutorial.html#interfaces

When each application connects to the bus daemon, the daemon immediately assigns it a name, called the unique connection name. A unique name begins with a ':' (colon) character. These names are never reused during the lifetime of the bus daemon - that is, you know a given name will always refer to the same application. An example of a unique name might be :34-907. The numbers after the colon have no meaning other than their uniqueness.

And a little further

Applications may ask to own additional well-known names. For example, you could write a specification to define a name called com.mycompany.TextEditor. Your definition could specify that to own this name, an application should have an object at the path /com/mycompany/TextFileManager supporting the interface org.freedesktop.FileHandler.

So something like :1.123 is just unique name but it also might be referenced under a human-readable name somewhere in the list,too