SSHセッション中にpulseaudio受信機にアクセスする

SSHセッション中にpulseaudio受信機にアクセスする

私はこの質問が以前に何度も要求されたことを知っていますが、私に合った解決策を見つけることができませんでした。

SSHセッションでオーディオを再生する際に問題があります。問題のデバイスは、Arch Linux ARMを実行し、USBスピーカーに接続されたRaspberry Pi 3B +です。これでセットアップを簡単にするためにHDMIケーブルとキーボードを接続しましたが、「完了」すると自動的に機能します。

ローカル端末にログインすると、音の再生やマイクの録音に問題はありません。pactl list short sinksHDMI出力、3.5mmジャック、USBスピーカーがリストされており、後者をデフォルトのレシーバーに設定すると、paplay同様のコマンドを使用してオーディオが問題なく再生されました。

ただし、piにSSHで接続すると、仮想pactl list short sinksオーディオ受信機のみが表示され、再生したいオーディオは自動的に削除されます。同時にローカルにログインすると、すべての受信機が表示され、オーディオも再生できます!ただし、ローカルからログアウトすると、SSHセッションのオーディオは再び機能しません。これは、前述のように、後でヘッドレスパイが使用されるため、非常に不便です。

インターネットの一部の人々は、これがパルスオーディオが強く反対するシステムモードが妥当な数少ないケースの1つであると提案しました。オンラインアドバイスに基づいて、次の手順を実行しました。

  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

しかし、これは実際に状況をさらに悪化させる。 SSHとローカルセッションの仮想リスナーのみが一覧表示されるため、pactl list short sinksローカル端末(rootユーザーでも)でオーディオを再生できません。

どうですか?有用な情報を含めることができるログファイルはありますか?ありがとうございます!

答え1

Pulseユーザーは、ALSAおよびBluetoothデバイスを使用するには、オーディオ(およびBluetooth)グループに存在する必要があります。

usermod -aG audio pulse

関連情報