Bug#878401: [systemd] Dependency on /tmp not correctly stated for some sound.target (or /tmp/pulse-* shows up underneath my /tmp mount)

Felipe Sateler fsateler at debian.org
Fri Oct 13 14:27:27 BST 2017

On Fri, Oct 13, 2017 at 9:58 AM, Antonio Russo
<antonio.e.russo at gmail.com> wrote:
> On 10/13/17 07:30, Michael Biebl wrote:
>> That seems like the wrong approach. sound.target does not have any
>> dependencies on /tmp.
>> If anything, it's pulseaudio which should ensure that /tmp is mounted.
> I agree, wholeheartedly. But getting this directory out of /tmp has
> been a bug for 7 years [1].

Well, it's not usually a grave problem to have an empty dir in /tmp,
so nobody gave it much priority

>> I am confused though: Are you suggesteting that pulseaudio is started by
>> sound.target?
>> pulseaudio.service is supposed to be a systemd user service so this
>> doesn't really make sense.
> I don't know why a pulse directory is being created, but its right after
> sound.target and after sound devices start getting loaded by the kernel.
> Maybe there's some weird udev hook I should look for? Everything in
> /lib/udev/rules.d
> that has the word "pulse" in it, only seems to have environment variables
> being set in them.
> I will say that on other machines I'm looking at, the pulse directory is
> created much later on, relative to the beginning of the systemd log.

I think I have found the culprit. It is pulseaudio, because there is
no suitable runtime dir, so it creates its own runtime dir in /tmp.
Please try the following change: edit
/lib/udev/rules.d/90-alsa-restore.rules , and change the alsactl lines
to add a new flag:

/usr/sbin/alsactl -E HOME=/run/alsa -E PULSE_RUNTIME_PATH=/run/alsa/runtime restore $attr{device/number}

(and the same for the nrestore command).


Felipe Sateler

More information about the Pkg-systemd-maintainers mailing list