这个问题是由你能在一个码头容器中运行GUI应用程序吗?提出的。
其基本思想是运行带有音频和ui的应用程序(vlc、firefox、skype、.)
我在寻找使用脉冲音频的码头容器,但是我找到的所有容器都是在tcp上使用脉冲音频流的。(应用程序的安全沙箱)
在我的例子中,我会先播放容器内的应用程序的音频,直接播放到我的主机脉冲音频。(没有ssh隧道和臃肿的码头图像)
因为我的qt应用程序正在使用它;)
发布于 2015-03-11 19:22:48
受您发布的链接的启发,我能够创建以下解决方案。它是我所能得到的最轻巧的。但是,我不确定它是否(1)安全,(2)完全适合您的用例(因为它仍然使用网络)。
paprefs
,例如在Ubuntu计算机上使用sudo apt-get install paprefs
。sudo apt-get install -y pulseaudio
export "PULSE_SERVER=tcp:<host IP address>:<host Pulseaudio port>"
。例如,export "PULSE_SERVER=tcp:172.16.86.13:4713"
2。您可以使用ifconfig
查找您的IP地址,使用pax11publish
1查找Pulse音频端口。PULSE_SERVER
:如果没有,则必须在每个容器启动后对其进行初始化。让我的方法更好的建议将受到极大的赞赏,因为我目前正在处理与OP类似的问题。
参考文献:
更新(可能还有更好的解决方案):
这还可以使用Unix套接字而不是TCP套接字:
-v /run/user/$UID/pulse/native:/path/to/pulseaudio/socket
启动容器export "PULSE_SERVER=unix:/path/to/pulseaudio/socket"
/path/to/pulseaudio/socket
可以是任何东西,为了测试目的,我使用了/home/user/pulse
。
也许它甚至可以使用与主机相同的路径(负责$UID部件)作为默认套接字,这样最终的解决方案将是-v /run/user/$UID/pulse/native:/run/user/<UID in container>/pulse
;但是,我还没有测试过这一点。
https://stackoverflow.com/questions/28985714
复制相似问题