[systemd-devel] kdbus: busctl for user session and for system-wide shows weird information
David Herrmann
dh.herrmann at gmail.com
Sat Aug 1 06:53:21 PDT 2015
Hi
On Sat, Aug 1, 2015 at 3:48 PM, Igor Gnatenko
<i.gnatenko.brain at gmail.com> wrote:
> Hi,
>
> I'm running Fedora 24 with systemd-224 and kernel-4.2.0-0.rc4.git2.1
> with kdbus=1 in kernel cmdline.
>
> I have my own pulseaudio.service enabled for one user-session.
> $ cat /etc/systemd/user/pulseaudio.service
> [Unit]
> After=sound.target network.target avahi-daemon.service
> Requires=sound.target
> Wants=avahi-daemon.service
> Description=PulseAudio Sound System
>
> [Service]
> Type=dbus
> BusName=org.pulseaudio.Server
> BusName=org.PulseAudio1
> ExecStart=/usr/bin/pulseaudio -vv
> ExecStop=/usr/bin/pulseaudio --kill
> Restart=always
>
> [Install]
> WantedBy=default.target
>
>
> $ busctl --user
> shows me 4 names for pulseaudio:
> * :1.458
> * org.PulseAudio1
> * org.freedesktop.ReserveDevice1.Audio0
> * org.pulseaudio.Server
>
> # busctl
> shows me 2 names for pulseaudio:
> * :1.400
> * :1.752
>
> So the question is: Why I see unique IDs in system bus while process
> running only in user-session? If it's should be so -- why I don't see
> interface names like org.PulseAudio1 in system bus?
PulseAudio connects to the system bus to talk to system services. It
does not provide services on the system-bus, hence, it only has
unique-names there. On the user-bus, pulseaudio provides services so
it claims a well-known name.
Well-known names are only claimed if you offer a service (so others
can reach you). However, there are valid reasons to connect to a bus
without offering services and just using services provided by others.
Pulseaudio probably listens on the system bus for global events like
those provided by systemd-logind.
The reason you see multiple connections for pulseaudio is something to
ask the pulseaudio developers. They might have valid reasons to not
share a connection for all accesses.
Thanks
David
More information about the systemd-devel
mailing list