如何让 Firefox Snap 与 22.04 上的系统范围 pulseaudio 配合使用

如何让 Firefox Snap 与 22.04 上的系统范围 pulseaudio 配合使用

我在 Ubuntu 22.04 上的新 snap Firefox 中无法播放或录制音频。有点独特的是,我在系统范围模式下运行 pulseaudio(尽管有警告,说来话长)。运行时snap connection firefox我可以看到它已插入audio-playback插槽。但是,它不会连接到系统范围的 pulseaudio 并播放。有没有办法将 snap 连接到系统范围的 pulseaudio?

我尝试用 Firefox 的 apt 版本替换 snap,虽然暂时有效,但每当我更新系统时,它都会自动重新安装 snap(!)。

编辑:听起来可以让 ubuntu 在更新期间保留 apt 版本,这很好。但我仍然想知道是否可以使用推荐的 snap 版本以及系统范围的 pulseaudio。

答案1

22.04 中的最新 snap 包使用的是 pipewire,而不是 pulseaudio。你可以通过检查来查看/snap/*/current/usr/lib/x86_64-linux-gnu/

不过,可以通过网络接口或 unix 套接字使 pipewire 与系统范围的 pulseaudio 一起工作,这两者之间基本上是兼容的。

对于网络接口,您需要将 PULSE_SERVER 服务器环境变量传递给 Firefox snap,如下所示:

echo "export PULSE_SERVER=<server>; /snap/firefox/current/usr/lib/firefox/firefox " | snap run --shell firefox

PULSE_SERVER应该是tcp:<hostname>您的 pulseaudio 服务器正在监听网络接口(检查/etc/pulse/default.paload-module module-native-protocol-tcpunix:<pulseaudio socket file>

该变量在 snap 的 shell 中设置,然后用于启动主进程。

相关内容