Ever since ListActivatableNames() was added, it has included "org.freedesktop.DBus" as an activatable name:
Author: John (J5) Palmieri <firstname.lastname@example.org>
Date: 2006-07-14 01:17:59 +0000
* bus/activation.[ch] (bus_activation_list_services): new function to
get the list of services that can be activated
@@ -1,3 +1,16 @@
+2006-07-13 Carlos Garcia Campos <email@example.com>
+ * bus/activation.[ch] (bus_activation_list_services): new function to
+ get the list of services that can be activated
+ /* Include the bus driver in the list */
+ const char *v_STRING = DBUS_SERVICE_DBUS;
+ if (!dbus_message_iter_append_basic (&sub, DBUS_TYPE_STRING,
+ dbus_free_string_array (services);
+ dbus_message_unref (reply);
+ BUS_SET_OOM (error);
+ return FALSE;
This doesn't make a whole lot of sense to me: by calling ListActivatableNames() successfully, you've proved that o.fd.DBus exists, which means it's irrelevant whether it is activatable or not.
Does anyone know why it gets returned here? I think it would make sense in ListNames(), but not in ListActivatableNames().
I've also wondered about this. I just followed dbus-daemon on this when implementing the logic for dbus-broker, but note that it is particularly confusing that `StartServiceByName("org.freedesktop.DBus", 0)` fails with `org.freedesktop.DBus.Error.ServiceUnknown`.
That said, I am not aware of whether anything relies on the current behaviour, so can't actually help with an answer to your question.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/dbus/dbus/issues/215.