Pulseaudio 无法在 nfs 共享中创建安全目录

Pulseaudio 无法在 nfs 共享中创建安全目录

~/.config/pulse我的pulseaudio无法运行,因为它尝试在不同的用户下创建。 (大概pulse?)。

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

由于主目录是从 nfs 挂载的,并且服务器永远不会允许用户pulse访问该目录(即使是读取),因此它必须使用主目录之外的不同路径或使用不同的用户运行。

我已经检查过/etc/pulse/client.conf,但似乎没有任何配置选项。

关于如何解决这个问题有什么想法吗?

答案1

您可以通过编辑文件来更改主目录路径/etc/passwd,然后创建主目录使用:

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

另一件事可能是pulseaudio通过不同的用户运行,这就是为什么它尝试在该用户主目录中创建文件,因此,一旦检查ps -ef | grep pulse问题中的使用和更新

另外一个选择 :

在全系统范围内运行pulsaudio

由于某些原因,选择单个pulseaudio守护进程而不是为每个登录用户选择一个守护进程是一件好事

您可以这样做:

  • 向系统上的每个用户添加组“pulse”和“pulse-access”

  • 编辑/etc/pulse/daemon.conf

  • 将“daemonize = no”更改为“daemonize = yes”

  • 将“系统实例=否”更改为“系统实例=是”

  • 编辑etc/default/pulseaudio

  • PULSEAUDIO_SYSTEM_START=0改成' PULSEAUDIO_SYSTEM_START=1'

  • 删除主目录中的 .pulse 并对其他用户执行相同的操作

  • 重新启动系统

参考链接

答案2

您应该能够为“pulse”用户提供写入该共享内的文件的能力。这掩码可能会阻止它,但如果您“chmod 777 .config/pulse”,该服务应该能够写入它。

答案3

我认为更好的选择(与在系统范围内运行 Pulseaudio 相比)是在 NFS 挂载之外设置配置位置。这Pulseaudio 联机帮助页解释了两种可能性:

  1. 如果~/.pulse/client.conf未找到,则/etc/pulse/client.conf使用全局配置(以及同一目录中的其他配置文件)。要使用全局设置,只需删除用户特定设置即可;
  2. 如果您想要每个用户而不是全局设置,您可以在登录时设置 Pulseaudio 环境变量 (PULSE_CLIENTCONFIG)(在 中.bashrc.xinitrc或使用pam_env.conf)。

答案4

这为我解决了问题:

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

相关内容