我在 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.pa
)load-module module-native-protocol-tcp
或unix:<pulseaudio socket file>
该变量在 snap 的 shell 中设置,然后用于启动主进程。