Bug 92120 - per-user client.conf is not honored
Summary: per-user client.conf is not honored
Status: RESOLVED NOTABUG
Alias: None
Product: PulseAudio
Classification: Unclassified
Component: daemon (show other bugs)
Version: unspecified
Hardware: Other Linux (All)
: medium normal
Assignee: pulseaudio-bugs
QA Contact: pulseaudio-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-25 19:26 UTC by uwe.helm
Modified: 2015-09-27 09:55 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description uwe.helm 2015-09-25 19:26:24 UTC
OS: Arch
Pulseaudio version: 7.0

Since upgrading to pulseaudio 7.0 my per-user client.conf is not being read anymore, or something undocumented has changed with the directives i'm using. I'm using it to disable gdm's pulseaudio daemon.

$ grep gdm /etc/passwd
gdm:x:120:120:Gnome Display Manager:/var/lib/gdm:/sbin/nologin

$ cat cat /var/lib/gdm/.config/pulse/client.conf
autospawn = no
daemon-binary = /bin/false

Worked fine in pulseaudio 6.0
Comment 1 Tanu Kaskinen 2015-09-26 09:10:41 UTC
Weird. I wonder if PA is looking in a different directory.

You could put "extra-arguments = --log-target=newfile:/tmp/pulse.log --log-level=debug" to /etc/pulse/client.conf and reboot. Then attach the log to this bug. That should show what directory gdm's PulseAudio is using for configuration.
Comment 2 Arun Raghavan 2015-09-26 09:53:16 UTC
I seem to recall an intentional change that caused first start to succeed even when autospawn=no was set, but I can't find it.
Comment 3 Felipe Sateler 2015-09-26 15:42:22 UTC
Might arch have enabled the systemd user units?
Comment 4 Tanu Kaskinen 2015-09-26 17:37:47 UTC
Adding Jan Steffens to CC. IIRC, he's the Arch PulseAudio maintainer.

Jan, does Arch use systemd socket activation with PulseAudio? I remember we talked about the topic in IRC, but I'm not sure if you enabled it in the official packages.
Comment 5 Jan Alexander Steffens (heftig) 2015-09-26 17:38:47 UTC
Yes, it is enabled now, as we have user buses.
Comment 6 Jan Alexander Steffens (heftig) 2015-09-26 17:43:28 UTC
So, try linking /var/lib/gdm/.config/systemd/user/pulseaudio.service and .socket to /dev/null .
Comment 7 uwe.helm 2015-09-26 19:18:48 UTC
OK so it is the systemd user unit that is starting it.

Jan's suggestion with linking it to /dev/null disabled the unit for the user.

The question still stands though: shouldn't the client.conf be read by pulseaudio when it's being started like this?

It seems that even the global client.conf is not being read.
i.e. adding "extra-arguments = --log-target=newfile:/tmp/pulse.log --log-level=debug" didn't do anything and doesn't show up in `ps aux | grep pulse`.
All i can see is what's defined in the systemd unit (/usr/bin/pulseaudio --daemonize=no)
Comment 8 Jan Alexander Steffens (heftig) 2015-09-26 20:15:35 UTC
No, it shouldn't. client.conf is read by libpulse, not systemd or the pulseaudio server. Hence, 'autospawn', 'daemon-binary' and 'extra-arguments' only affect libpulse's autospawning.

Also, a user's client.conf completely overrides any global client.conf.
Comment 9 Tanu Kaskinen 2015-09-27 09:55:34 UTC
Closing bug.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.