Ssh
在 SSH 會話期間訪問 pulseaudio 接收器
我知道這個問題之前已經被問過多次,但我還沒有找到適合我的解決方案。
我在通過 SSH 會話播放音頻時遇到問題。有問題的設備是執行 Arch Linux ARM 並插入 USB 揚聲器的 Raspberry Pi 3B+。我現在有一根 HDMI 電纜和一個鍵盤連接到它,以便於設置過程,但當我使用它時,它將被無頭使用。我完成了。
當我登錄本地終端時,播放聲音和錄製麥克風都沒有問題。
pactl list short sinks
列出了 HDMI 輸出、3.5 毫米插孔和我的 USB 揚聲器,並且將後者設置為預設接收器,使用類似命令播放音頻paplay
完全沒有問題。但是,當我通過 SSH 訪問 pi 時,
pactl list short sinks
只顯示一個虛擬音頻接收器,它會悄悄地丟棄我嘗試播放的所有音頻。如果我碰巧同時在本地登錄,我會看到我所有的接收器,甚至可以播放音頻!但是一旦我在本地註銷,來自 SSH 會話的音頻就會再次停止工作。這很不方便,因為如前所述,稍後將使用無頭的 pi。網際網路上的一些人認為,這是使pulseaudio 高度勸阻的系統模式有意義的少數情況之一。按照網上的建議,我做了以下步驟:
sudo systemctl --global mask pulseaudio.socket
阻止使用者空間伺服器在登錄時啟動。- 創建
pulse
沒有主目錄的使用者。- 將自己添加到
pulse-access
組中。- 重啟。
- 本地登錄後,
pactl list short sinks
報告Connection failure: Connection refused
,驗證使用者空間伺服器確實沒有產生。- 使用 以系統模式啟動pulseaudio
sudo pulseaudio --system -D
。但這實際上使事情變得更糟。現在,
pactl list short sinks
只列出了 SSH 和本地會話中的虛擬接收器,即使以 root 身份,我也無法從本地終端播放音頻。我能做些什麼?是否有任何可能包含有用資訊的日誌文件?謝謝!
脈衝使用者需要在音頻(和藍牙)組中才能使用 ALSA 和藍牙設備。
usermod -aG audio pulse