~/.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 联机帮助页解释了两种可能性:
- 如果
~/.pulse/client.conf
未找到,则/etc/pulse/client.conf
使用全局配置(以及同一目录中的其他配置文件)。要使用全局设置,只需删除用户特定设置即可; - 如果您想要每个用户而不是全局设置,您可以在登录时设置 Pulseaudio 环境变量 (PULSE_CLIENTCONFIG)(在 中
.bashrc
,.xinitrc
或使用pam_env.conf
)。
答案4
这为我解决了问题:
sudo chown username /home/username/.config/pulse