将pulseaudio搬出家门

Mik*_*ltz 5 linux ubuntu nfs ubuntu-10.04

我们有一堆 Ubuntu 桌面,它们的主目录安装为 NFS 共享。如果 NFS 连接断开,即使看起来不到一秒钟,pulseaudio 也会失去理智。结果要么是临时软锁(Ubuntu 使屏幕变灰)、崩溃,甚至是这里和那里的一些恐慌。您可以通过简单的 Google 搜索来查看无数 NFS+pulseaudio 问题。

因此,我真的只想将脉冲移出 /home 并将其放在更合适或特定于机器的地方。

出于某种原因,pulseaudio 完全是为了安全。尽管我不确定为什么它对声音守护程序如此重要,但我并没有真正贬低这一点。但是他们的限制设置太严格了。

例如,我尝试将 ~/.pulse 符号链接到 /tmp,它只会返回以下内容:

Failed to create secure directory: Too many levels of symbolic links
Run Code Online (Sandbox Code Playgroud)

脉搏将退出。

然后,我遇到了这个线程该线程声明了可以设置为将脉冲定向到其他目录的环境变量。所以我尝试设置脉冲启动器(/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'
Run Code Online (Sandbox Code Playgroud)

我什至尝试将权限和所有者设置为我认为脉冲会满意的内容。我从bug 662 中发布的堆栈跟踪中收集了我认为它想要的东西(还有关于这个问题的更多信息)。

但是,这组命令会导致脉冲抛出以下内容然后退出。

Failed to create secure directory: Permission denied
Run Code Online (Sandbox Code Playgroud)

现在,由于开发人员似乎普遍不愿意接受任何这样的问题,我需要找到一些方法来解决这个问题。如果没有,我将删除脉冲,这对于未来在这些机器上的兼容性来说并不理想。

我们已经浪费了大量的工时来追踪并试图解决这个问题,现在是时候继续前进了。

如果有人对解决方法有任何想法或有关于此问题的更多信息,我将不胜感激。

Mic*_*ton 1

PulseAudio 开发人员似乎不喜欢很多东西,其中之一就是这个解决方法:

使用 PulseAudio 作为系统守护进程,而不是为每个用户运行它。

正如我所提到的,开发人员出于自己的原因并不特别推荐这样做。如果您这样做,请注意对系统的潜在安全影响。