我们有一堆Ubuntu桌面,其主目录作为NFS共享安装.如果NFS连接被丢弃,即使看起来不到一秒钟,Pulseaudio也会失去理智.结果要么是一个临时的软锁(Ubuntu让屏幕变灰),崩溃,甚至还有一些恐慌.通过Google搜索这些术语,您可以看到无数的NFS pulseaudio问题.
由于这个原因,我真的想把脉冲移出/ home并把它放在更适合或机器特定的地方.
出于某种原因,pulseaudio是关于安全性的.虽然我不确定为什么它对声音守护程序如此重要,但我并没有真正理解这一点.但他们的限制太过限制了.
例如,我尝试将〜/ .pulse符号链接到/ tmp,它将返回以下内容:
Failed to create secure directory: Too many levels of symbolic links
脉冲将退出.
然后,我遇到了this thread,它指出了可以设置为将脉冲指向其他目录的envitronmental变量.所以我尝试设置脉冲启动器(/etc/xdg/autostart/pulseaudio.desktop)以使用以下Exec行:
Exec='PULSE_DIR="/tmp/$( whoami )-pulse"; PULSE_CONFIG_PATH=PULSE_DIR; PULSE_STATE_PATH=PULSE_DIR; PULSE_RUNTIME_PATH=PULSE_DIR; mkdir -p $PULSE_DIR && chmod 700 $PULSE_DIR && start-pulseaudio-x11'
我甚至尝试将权限和所有者设置为我认为脉冲会满意的东西.我从bug 662发布的stacktrace中收集了我认为它想要的内容(有关此问题的更多信息).
但是,这组命令导致脉冲抛出以下然后退出.
Failed to create secure directory: Permission denied
既然开发人员似乎一般不愿意接受任何这个问题,我需要找到一些方法来解决这个问题.如果没有,我将删除脉冲,这对于将来在这些机器上的兼容性而言并不理想.
我们已经浪费了大量的时间来追踪并试图解决这个问题,现在是时候继续前进了.
如果有人对变通方法有任何想法或有关于这个问题的任何更多信息,我将非常感激.
解决方法
PulseAudio开发人员似乎并不喜欢很多东西,其中一个是解决方法:
Use PulseAudio as a system daemon,而不是按用户运行它.
正如我所提到的,开发人员并不特别推荐这一点,for their own reasons.如果这样做,请注意对系统的潜在安全影响.