D-Bus daemon interface

class sdbus_async.dbus_daemon.FreedesktopDbus(bus=None)

D-Bus daemon.

This is the D-Bus daemon interface. Used for querying D-Bus state.

D-Bus interface object path and service name is predetermined. (at 'org.freedesktop.DBus', '/org/freedesktop/DBus')

Parameters:

bus (SdBus) – Optional D-Bus connection. If not passed the default D-Bus will be used.

async get_connection_pid(service_name)

D-Bus Method

Get process ID that owns a specified name.

Parameters:

service_name (str) – Service name to query.

Returns:

PID of name owner

Raises:

DbusNameHasNoOwnerError – Nobody owns that name

Return type:

int

async get_connection_uid(service_name)

D-Bus Method

Get process user ID that owns a specified name.

Parameters:

service_name (str) – Service name to query.

Returns:

User ID of name owner

Raises:

DbusNameHasNoOwnerError – Nobody owns that name

Return type:

int

async get_id()

D-Bus Method

Returns machine id where bus is run. (stored in /etc/machine-id)

Returns:

Machine id

Return type:

str

async get_name_owner(service_name)

D-Bus Method

Returns unique bus name (i.e. ':1.94') for given service name.

Parameters:

service_name (str) – Service name to query.

Returns:

Unique bus name.

Raises:

DbusNameHasNoOwnerError – Nobody owns that name

Return type:

str

async list_activatable_names()

D-Bus Method

Lists all activatable services names.

Returns:

List of all names.

Return type:

List[str]

async list_names()

D-Bus Method

List all services and connections currently of the bus.

Returns:

List of all current names.

Return type:

List[str]

async name_has_owner(service_name)

D-Bus Method

Return True if someone already owns the name, False if nobody does.

Parameters:

service_name (str) – Service name to query.

Returns:

Is the name owned?

Return type:

bool

async start_service_by_name(service_name, flags=0)

D-Bus Method

Starts a specified service.

Flags parameter is not used currently and should be omitted or set to 0.

Parameters:
  • service_name (str) – Service name to start.

  • flags (int) – Not used. Omit or pass 0.

Returns:

1 on success, 2 if already started.

Return type:

int

features

D-Bus property

Python type: List[str]

D-Bus type: as

List of D-Bus daemon features.

Features include:

  • ‘AppArmor’ - Messages filtered by AppArmor on this bus.

  • ‘HeaderFiltering’ - Messages are filtered if they have incorrect header fields.

  • ‘SELinux’ - Messages filtered by SELinux on this bus.

  • ‘SystemdActivation’ - services activated by systemd if their .service file specifies a D-Bus name.

interfaces

D-Bus property

Python type: List[str]

D-Bus type: as

Extra D-Bus daemon interfaces

name_acquired

D-Bus signal

Python type: str

D-Bus type: s

Signal when current process acquires a bus name.

name_lost

D-Bus signal

Python type: str

D-Bus type: s

Signal when current process loses a bus name.

name_owner_changed

D-Bus signal

Python type: Tuple[str, str, str]

D-Bus type: sss

Signal when some name on a bus changes owner.

Is a tuple of:

  • The name that acquired or lost

  • Old owner (by unique bus name) or empty string if no one owned it

  • New owner (by unique bus name) or empty string if no one owns it now