客户端和服务器都

客户端和服务器都

我看到一篇关于某人使用 PulseAudio 远程(客户端-服务器设置)的论坛帖子,这让我很感兴趣。 PulseAudio 有一些非常先进的功能,我希望能够在我的房子里播放音乐,而无需购买 Sonos 等商业系统来实现这一点。

到目前为止,我能够让 PulseAudio 远程工作,但不完全按照方向给予。特别是,我认为我已经打开了一些安全漏洞。我想给出我执行的确切步骤,看看是否有人可以告诉我哪里出错了。

需要明确的是,PulseAudio 正在工作,并且我没有收到错误。但我不得不打开比我应该打开的更多的设置。我的目标是从这种糟糕的工作配置转变为正确且安全的工作配置。

我的 PulseAudio 客户端和服务器都运行 Arch Linux。

客户端和服务器都

安装此软件包并启用 avahi-daemon:

pacman -S pulseaudio-zeroconf 
systemctl enable avahi-daemon.service
systemctl start avahi-daemon.service

服务器步骤

编辑/etc/pulse/default.pa并添加这些行:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1
load-module module-zeroconf-publish

运行这些命令:

pulseaudio -k
pulseaudio --start
pacmd list-modules | grep native-protocol-tcp
pacmd list-modules | grep zeroconf-publish

模块是正确的。

客户步骤

编辑/etc/pulse/default.pa并添加这些行:

load-module module-native-protocol-tcp
load-module module-zeroconf-discover

运行这些命令:

pulseaudio -k
pulseaudio --start
pacmd list-modules | grep native-protocol-tcp
pacmd list-modules | grep zeroconf-discover

PulseAudio 已启动且模块正确。

我的下一步应该是“运行图形化 PulseAudio 音量控制pavucontrol。在“输出设备”选项卡下,您应该看到本地和远程输出设备。”但是,在执行此操作时,我在客户端上没有看到任何远程输出设备。

我必须paprefs在终端中打开并执行以下额外步骤:

客户端上的网络访问选项卡:

  • 检查使可发现的 PulseAudio 网络声音设备在本地可用

服务器上的网络服务器选项卡:

  • 选中启用对本地声音设备的网络访问
  • 选中允许 LAN 上的其他计算机发现本地声音设备
  • 检查不需要身份验证

只有在 GUI 中进行这些更改之后,paprefs我才在客户端上看到远程输出设备。如前所述,向远程接收器播放音乐是有效的,但这些设置似乎不安全,我怀疑我在配置中错过了一些重要的东西。一旦我取消选中“不需要身份验证”,流媒体就会停止。

另外,还有比使用 avahi 更好的方法吗?

答案1

在服务器上,我更改了以下配置行:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1

到:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24

我将相同的 ~/.config/pulse/cookie 文件复制到所有设备。

接下来,在服务器上的终端中打开 paprefs 并执行以下步骤:

激活网络服务器选项卡:

  • 取消选中“不需要身份验证”

CMUS

我还找到了另一种方法来完成基本相同的事情,即从我的笔记本电脑控制音乐播放,同时在另一台计算机上/通过另一台计算机播放音乐,该计算机充当音乐“服务器”并连接到扬声器(以及 DAC、电源)放大器或任何音乐设置)。我在 LAN 上的设备之间设置了方便的 ssh 访问。我安装了应用程序CMUS在我的音乐服务器上。

cmus 是一个小型、快速且功能强大的控制台音乐播放器,适用于类 Unix 操作系统。

cmus现在,我可以通过 ssh 进入音乐服务器并在终端中输入内容,将笔记本电脑(或手机)用作音乐服务器的“远程控制” 。我尝试过其他方法来远程控制在不同计算机上播放的音乐,我不得不说 cmus 的控制台界面有一种诱人的优雅。

对于 cmus 指令,请键入man cmus-tutorialman cmus

相关内容