从使用 su 或 ssh 访问的帐户播放声音

从使用 su 或 ssh 访问的帐户播放声音

我有两个账户 jameskother

other我可以通过以下几种方式使用该帐户运行 X windows 应用程序:

  1. ssh -X other@localhost
  2. xhost +su - other然后 是export DISPLAY=:0.0

使用其中任何一个我都可以运行,例如xeyes打开一个窗口。

但是我无法从其他帐户收到任何声音。

我想跑步

jamesk$ ssh -X other@localhost
(password)
other@localhost$ ffplay yesterday.mp3

我已经看过了paprefs,但是任何尝试安装网络声音所需的任何模块都会导致paprefs崩溃SIGTRAP

当我这样做时,我没有播放任何声音,但我确实看到了声音的 ffplay 可视化。

答案1

要建立连接,您需要一个开放的 TCP 端口。

因此连接到第二个帐户ssh

jamesk$ ssh -R 22753:localhost:4713 -X other@localhost

这将打开声音端口。

然后在帐户上设置 pulseaudioother以使用该 tcp 端口

other$ export PULSE_SERVER="tcp:localhost:22753"

然后,Pulseaudio 通过 ssh 连接重新连接到主帐户,在那里拾取并播放声音。

这需要在主账户上启用 tcp 模块。 jamesk$ pactl load-module module-native-protocol-tcp auth-anonymous=1 27 jamesk$ pactl list modules short ... module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24

相关内容