Ssh

在 SSH 會話期間訪問 pulseaudio 接收器

  • December 21, 2021

我知道這個問題之前已經被問過多次,但我還沒有找到適合我的解決方案。

我在通過 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 高度勸阻的系統模式有意義的少數情況之一。按照網上的建議,我做了以下步驟:

  1. sudo systemctl --global mask pulseaudio.socket阻止使用者空間伺服器在登錄時啟動。
  2. 創建pulse沒有主目錄的使用者。
  3. 將自己添加到pulse-access組中。
  4. 重啟。
  5. 本地登錄後,pactl list short sinks報告Connection failure: Connection refused,驗證使用者空間伺服器確實沒有產生。
  6. 使用 以系統模式啟動pulseaudio sudo pulseaudio --system -D

但這實際上使事情變得更糟。現在,pactl list short sinks只列出了 SSH 和本地會話中的虛擬接收器,即使以 root 身份,我也無法從本地終端播放音頻。

我能做些什麼?是否有任何可能包含有用資訊的日誌文件?謝謝!

脈衝使用者需要在音頻(和藍牙)組中才能使用 ALSA 和藍牙設備。

usermod -aG audio pulse

引用自:https://unix.stackexchange.com/questions/683362