私はこの質問が以前に何度も要求されたことを知っていますが、私に合った解決策を見つけることができませんでした。
SSHセッションでオーディオを再生する際に問題があります。問題のデバイスは、Arch Linux ARMを実行し、USBスピーカーに接続されたRaspberry Pi 3B +です。これでセットアップを簡単にするためにHDMIケーブルとキーボードを接続しましたが、「完了」すると自動的に機能します。
ローカル端末にログインすると、音の再生やマイクの録音に問題はありません。pactl list short sinks
HDMI出力、3.5mmジャック、USBスピーカーがリストされており、後者をデフォルトのレシーバーに設定すると、paplay
同様のコマンドを使用してオーディオが問題なく再生されました。
ただし、piにSSHで接続すると、仮想pactl list short sinks
オーディオ受信機のみが表示され、再生したいオーディオは自動的に削除されます。同時にローカルにログインすると、すべての受信機が表示され、オーディオも再生できます!ただし、ローカルからログアウトすると、SSHセッションのオーディオは再び機能しません。これは、前述のように、後でヘッドレスパイが使用されるため、非常に不便です。
インターネットの一部の人々は、これがパルスオーディオが強く反対するシステムモードが妥当な数少ないケースの1つであると提案しました。オンラインアドバイスに基づいて、次の手順を実行しました。
sudo systemctl --global mask pulseaudio.socket
ログイン時にユーザースペースサーバーが起動しないようにします。pulse
ホームディレクトリなしでユーザーを作成します。pulse-access
グループに自分自身を追加します。- 再起動。
- ローカルにログインした後、ユーザースペースサーバーが実際に作成されていないことを
pactl list short sinks
報告して確認します。Connection failure: Connection refused
- システムモードで起動するにはpulseaudioを使用してください
sudo pulseaudio --system -D
。
しかし、これは実際に状況をさらに悪化させる。 SSHとローカルセッションの仮想リスナーのみが一覧表示されるため、pactl list short sinks
ローカル端末(rootユーザーでも)でオーディオを再生できません。
どうですか?有用な情報を含めることができるログファイルはありますか?ありがとうございます!
答え1
Pulseユーザーは、ALSAおよびBluetoothデバイスを使用するには、オーディオ(およびBluetooth)グループに存在する必要があります。
usermod -aG audio pulse