0

I've been trying to mask a dbus-activated service (rtkit-daemon) via the "standard service dirs" location ~/.local/share/dbus-1/services/. The corresponding system file, which I want to override, is at /usr/share/dbus-1/system-services/.

This idea was suggested by How to prevent D-Bus from starting a (disabled) other daemon?

Specifically, I've dropped a file org.freedesktop.RealtimeKit1.service into ~/.local/share/dbus-1/services:

Name=org.freedesktop.RealtimeKit1
#Exec=/usr/libexec/rtkit-daemon
Exec=/bin/true
#SystemdService=rtkit-daemon.service
User=root

... but still the "real" rtkit-daemon.service keeps getting activated (by pulseaudio, firefox).

I am aware that I can mask the global systemd rtkit-daemon.service, but I want to only mask it for a specific user (and via dbus, not systemd). Why isn't my drop-in overriding the global setting? Is there some way to debug dbus's search path, or see if doesn't parse my file? I'm on Ubuntu 20.04.

1 Answer 1

0

But ~/.local/share/dbus-1/services/ is for "standard session service directories", and the D-Bus service that you want to override is system-wide (its service file is in /usr/share/dbus-1/system-services/

Besides, the D-Bus service file org.freedesktop.RealtimeKit1.service uses

SystemdService=rtkit-daemon.service

so it's started by systemd, not D-Bus

3
  • Yes, as in IDK what is a system service vs a session service (who prints the search paths). But no, it's impossible that Firefox itself calls systemd (I've tried with ESR appimages). See jdebp.uk./Softwares/nosh/avoid-dbus-bus-activation.html
    – usretc
    Commented Jan 19, 2021 at 8:44
  • Also, these entries in the systemd journal: dbus-daemon[601]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' ...
    – usretc
    Commented Jan 29, 2021 at 7:04
  • See [dbus-daemon] (dbus.freedesktop.org/doc/dbus-daemon.1.html) Section "DESCRIPTION", for the explanation of "system service vs a session service" For the directories where D-Bus service files are searched for each type see Section "CONFIGURATION FILE" Elements: <standard_session_servicedirs/> <standard_system_servicedirs/> Note that in this section the sentence "On Unix, the standard session service directories are:" Should read "On Unix, the standard system-wide service directories are"
    – Gervasio
    Commented Feb 1, 2021 at 20:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .