You are not logged in.

#1 2020-12-08 14:28:12

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

how to prevent rtkit-daemon from getting started through dbus

While checking something I noticed rtkit-daemon was active although I have no need/use for it .

# systemctl status rtkit-daemon.service 
● rtkit-daemon.service - RealtimeKit Scheduling Policy Service
     Loaded: loaded (/usr/lib/systemd/system/rtkit-daemon.service; disabled; vendor preset: disabled)
     Active: active (running) since Tue 2020-12-08 11:09:53 CET; 4h 10min ago
   Main PID: 1163 (rtkit-daemon)
      Tasks: 3 (limit: 19004)
     Memory: 1.2M
     CGroup: /system.slice/rtkit-daemon.service
             └─1163 /usr/lib/rtkit-daemon

dec 08 14:22:57 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
dec 08 14:22:57 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
dec 08 14:22:58 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
dec 08 14:22:58 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
dec 08 14:38:30 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
dec 08 14:38:30 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
dec 08 14:38:31 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
dec 08 14:38:31 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
dec 08 14:51:12 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
dec 08 14:51:12 silverbolt rtkit-daemon[1163]: Supervising 3 threads of 3 processes of 1 users.
# 

It's disabled, must have been started by something else.

# journalctl -b -g rtkit --no-pager
-- Journal begins at Wed 2019-11-13 15:13:56 CET, ends at Tue 2020-12-08 15:05:12 CET. --
dec 08 11:09:52 silverbolt dbus-daemon[614]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.19' (uid=1000 pid=1157 comm="/usr/lib/firefox/firefox -contentproc -childID 1 -")
dec 08 11:09:53 silverbolt audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=rtkit-daemon comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
dec 08 11:09:53 silverbolt kernel: audit: type=1130 audit(1607422193.002:79): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=rtkit-daemon comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
#

So it seems firefox wants to use it and uses dbus to start it.

rtkit is a dependency of pipewire which is  a dependency of kwin which I do want/need so removal is not an option .
How can I block dbus from starting rtkit ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#2 2020-12-08 20:00:21

loqs
Member
Registered: 2014-03-06
Posts: 17,192

Re: how to prevent rtkit-daemon from getting started through dbus

What about the methods suggested in https://unix.stackexchange.com/question … her-daemon

Offline

#3 2020-12-08 20:07:47

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: how to prevent rtkit-daemon from getting started through dbus

Edit : loqs found the stackexchange post at the same time I did.

Found some more info

Our wiki[1]  lists a per-user option .
An old thread on this forum by Alad[2]  mentions masking the systemd service will prevent dbus from starting them.

A post on stackexchange[3] gives some interesting details and links to the very interesting Avoid Desktop Bus (D-Bus) bus activation[4] article.
The 'undocumented org.freedesktop.systemd1.Activator' does appear in /usr/share/dbus-1/system.conf so is still in use.



[1] https://wiki.archlinux.org/index.php/D- … us_service
[2] https://bbs.archlinux.org/viewtopic.php?id=190722
[3] https://unix.stackexchange.com/question … her-daemon
[4] http://jdebp.uk./Softwares/nosh/avoid-dbus-bus-activation.html

Last edited by Lone_Wolf (2020-12-08 20:09:10)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#4 2020-12-09 19:33:53

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: how to prevent rtkit-daemon from getting started through dbus

masking rtkit-daemon.service does prevent dbus from starting it but is far from ideal.

# journalctl  -b -g rtkit --no-pager
-- Journal begins at Wed 2019-11-13 15:13:56 CET, ends at Wed 2020-12-09 20:12:53 CET. --
dec 09 20:00:51 silverbolt dbus-daemon[612]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.13' (uid=1000 pid=1110 comm="/usr/lib/firefox/firefox -contentproc -childID 1 -")
dec 09 20:00:51 silverbolt dbus-daemon[612]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service is masked.
dec 09 20:00:51 silverbolt dbus-daemon[612]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.14' (uid=1000 pid=989 comm="/usr/lib/firefox/firefox ")
dec 09 20:00:51 silverbolt dbus-daemon[612]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service is masked.
dec 09 20:00:51 silverbolt dbus-daemon[612]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.15' (uid=1000 pid=1171 comm="/usr/lib/firefox/firefox -contentproc -childID 2 -")
dec 09 20:00:51 silverbolt dbus-daemon[612]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service is masked.
dec 09 20:00:52 silverbolt dbus-daemon[612]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.16' (uid=1000 pid=1243 comm="/usr/lib/firefox/firefox -contentproc -childID 3 -")
dec 09 20:00:52 silverbolt dbus-daemon[612]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service is masked.
dec 09 20:09:46 silverbolt dbus-daemon[612]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.21' (uid=1000 pid=1497 comm="/usr/lib/firefox/firefox -contentproc -childID 4 -")
dec 09 20:09:46 silverbolt dbus-daemon[612]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service is masked.
dec 09 20:10:11 silverbolt dbus-daemon[612]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.22' (uid=1000 pid=1543 comm="/usr/lib/firefox/firefox -contentproc -childID 5 -")
dec 09 20:10:11 silverbolt dbus-daemon[612]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service is masked.
dec 09 20:12:38 silverbolt dbus-daemon[612]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.23' (uid=1000 pid=1648 comm="/usr/lib/firefox/firefox -contentproc -childID 6 -")
dec 09 20:12:38 silverbolt dbus-daemon[612]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service is masked.
dec 09 20:12:41 silverbolt dbus-daemon[612]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.24' (uid=1000 pid=1689 comm="/usr/lib/firefox/firefox -contentproc -childID 7 -")
dec 09 20:12:41 silverbolt dbus-daemon[612]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service is masked.
dec 09 20:12:53 silverbolt dbus-daemon[612]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.25' (uid=1000 pid=1734 comm="/usr/lib/firefox/firefox -contentproc -childID 8 -")
dec 09 20:12:53 silverbolt dbus-daemon[612]: [system] Activation via systemd failed for unit 'rtkit-daemon.service': Unit rtkit-daemon.service is masked.
#

I also noticed a few other services started through dbus I don't need.

It's beginning to look like I have a few choices :
1. use NoExtract in pacman.conf to avoid installing certain dbus service files

2. replace /usr/lib/dbus-1.0/dbus-daemon-launch-helper with a custom one that allows me to blacklist services

3. use another PID1 like openrc/runit etc  so systemd services can't be started at all

1 and 2 both would still allow starting the underlying systemd services manually.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2020-12-10 16:00:16

Everette88
Member
Registered: 2018-02-17
Posts: 41

Re: how to prevent rtkit-daemon from getting started through dbus

I use 1. since few years and didn't had any issues so I would recommend this one.

Offline

#6 2020-12-11 12:51:02

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: how to prevent rtkit-daemon from getting started through dbus

I've tried 1. and my pacman.conf now has a NoExtract line :

NoExtract   = usr/share/dbus-1/system-services/org.freedesktop.RealtimeKit1.service usr/share/dbus-1/system-services/org.freedesktop.UDisks2.service usr/share/dbus-1/system-services/org.freedesktop.UPower.service

For now that's doable.
As I learn more about /systemd / dbus / logind and co  the urge to go back to a multi-boot setup with solution 3 being used 99.9% of the time gets stronger.
(I used that on my previous rig until it broke down approx 2 years ago) .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#7 2021-03-11 20:38:16

bjourne
Member
Registered: 2021-03-11
Posts: 3

Re: how to prevent rtkit-daemon from getting started through dbus

What's the disadvantage of not running rtkit-daemon? Is it used by anything other than PulseAudio?

Offline

#8 2021-03-15 17:40:18

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: how to prevent rtkit-daemon from getting started through dbus

Both pipewire and pulseaudio use it.

On 'pure' alsa systems like mine I have not noticed disadvantages of stopping applications from starting it through dbus.

It is started/maintained by a longtime archlinux dev, see https://github.com/heftig/rtkit for more info about it.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB