8

My pulseaudio cannot run, because it attempts to create ~/.config/pulse under a different user. (probably pulse?).

user@localhost ~$ pulseaudio 
E: [pulseaudio] core-util.c: Failed to create secure directory (/home/user/.config/pulse): Permission denied

Since the home directory is mounted from nfs and the server will never allow user pulse to access that directory (even for reading) it must either use a different path outside the home directory or run with a different user.

I have checked /etc/pulse/client.conf, but there doesn't seem to be any configuration option on that.

Any ideas on how this problem can be solved?

4 Answers 4

3

You can Change Home Directory path by editing your /etc/passwd file and then create home directory using :

/sbin/mkhomedir_helper <username> [<umask> [<skeldir>]]

One more thing may be pulseaudio is running via different user, that's why it's trying to creating file in that user home's dir so, once check using ps -ef | grep pulse and update in your question

Another Option :

Run pulseaudio systemwide

For some reasons is it a good thing to chose for a single pulseaudio daemon instead of one per logged in user

This is how you do it:

  • add to every user on the system the groups 'pulse' and 'pulse-access'

  • edit /etc/pulse/daemon.conf

  • change 'daemonize = no' to 'daemonize = yes'

  • change 'system-instance = no' to 'system-instance= yes'

  • edit etc/default/pulseaudio

  • change 'PULSEAUDIO_SYSTEM_START=0' to 'PULSEAUDIO_SYSTEM_START=1'

  • delete .pulse in your home directory and do the same fore other users

  • reboot the system

Reference Link

2
  • Hi, I don't know what you meant with that second home directory. So I have tried to run the daemon in root. It doesn't seem to work. Also running pulseaudio -D in root doesn't make it work. When attempting to run pavucontrol, it hangs while attempting to connect. Also /etc/default/pulseaudio didn't exist, so I have created a new one. No user had a .pulse directory. Only .config/pulse so I have tried deleting that one, but it keeps coming back. Commented Sep 10, 2013 at 10:13
  • Also the user pulseaudio is running as is "pulse", but thats only if it ever gets to run without choking on that error. Commented Sep 10, 2013 at 10:24
1

You should be able to give the "pulse" user the ability to write to a file inside that share. The umask may prevent it but if you "chmod 777 .config/pulse" the service should be able to write to it.

1
  • 1
    No, because the parent directory has no read/execute permission for pulse. Even the local root cannot access that dir. Commented Sep 10, 2013 at 20:17
1

I think the better option (compared to running Pulseaudio systemwide) is to set a configuration location outside the NFS mount. The Pulseaudio manpage explains two possibilities:

  1. If a ~/.pulse/client.conf is not found, the global /etc/pulse/client.conf is used (and other config files in the same directories). To use the global settings, simply delete the user-specific settings;
  2. If you want per-user instead of global settings, you can set the Pulseaudio environment variable (PULSE_CLIENTCONFIG) upon login (in .bashrc, .xinitrc or using pam_env.conf).
1
  • Hey thanks for the answer. I don't use setup anymore so I cannot verify this, but as far as I remember, the problem is that pulse would attempt to create ~/.pulse/client.conf and choke, because it is not allowed to. Commented Jan 3, 2015 at 14:00
0

this solved the problem for me :

sudo chown username /home/username/.config/pulse

You must log in to answer this question.

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