如何正確安全地設置 PulseAudio 遙控器?
我看到一篇關於有人使用 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
在終端中打開並執行以下額外步驟:客戶端上的網路訪問選項卡:
- check 使可發現的 PulseAudio 網路聲音設備在本地可用
伺服器上的網路伺服器選項卡:
- 檢查啟用對本地聲音設備的網路訪問
- 勾選允許區域網路上的其他機器發現本地聲音設備
- 檢查不需要身份驗證
只有在 GUI 中的這些更改之後,
paprefs
我才在客戶端上看到遠端輸出設備。如前所述,向遠端接收器播放音樂是有效的,但這些設置似乎不安全,我懷疑我錯過了配置中的一些重要內容。一旦我取消選中“不需要身份驗證”,流式傳輸就會停止。另外,有沒有比使用 avahi 更好的方法呢?
在伺服器上,我更改了以下配置行:
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 並執行以下步驟:
啟動網路伺服器選項卡:
- 取消選中“不需要身份驗證”
厘米
我還找到了另一種方法來完成基本相同的事情,即控制我的筆記型電腦上的音樂播放,同時在另一台充當音樂“伺服器”並連接到揚聲器(和 DAC、電源放大器或任何音樂設置)。我在 LAN 上的設備之間設置了方便的 ssh 訪問。我在我的音樂伺服器上安裝了應用程序cmus 。
cmus 是一款小巧、快速且功能強大的控制台音樂播放器,適用於類 Unix 作業系統。
現在我可以使用我的筆記型電腦(或手機)作為我的音樂伺服器的“遙控器”,方法是通過 ssh 進入音樂伺服器並
cmus
在終端中輸入。我嘗試過其他遠端控制在另一台電腦上播放的音樂的方法,我不得不說 cmus 的控制台界面有一種誘人的優雅。對於 cmus 指令,鍵入
man cmus-tutorial
和man cmus
。