Ubuntu:SoX再生コマンドを使用してオーディオファイルを再生する

Ubuntu:SoX再生コマンドを使用してオーディオファイルを再生する

編集する:

playUbuntuでSSH経由でサウンドを再生するためにSoXコマンドを使用しようとしています。マシンを起動し、マシンに物理的にアクセスし、Ubuntu GUIにログインすると、このplayコマンドを実行してファイルを再生し、マシンからオーディオ出力を聞くことができます。これは、ローカルセッションでコマンドを実行するかSSHセッションを介して実行するかに関係なく機能します。 GUIをロックしても機能します。

ただし、再起動時にUbuntu GUIにログインする前にSSH経由で接続して実行するとplay音は聞こえませんが、パッケージのインストールと削除、openvpnサービスの実行、scpクライアント間のシステム、ファイルの実行など、他のすべてのコマンドは正常に機能します。また、音声出力が聞こえなくてもSSH端末にエラーは表示されません。 SoXはオーディオが再生中であることを示します。

注:SSHを介して私のサーバーへのフルルートアクセスを有効にしていません。たとえば、まだ何でもできますが、から直接何もすることはできsudoません。scp/root

私の考えでは、GUIログイン前に私のオーディオサービスやモジュールがアクティブになっていないようです。これについての手がかりはありますか?

機器:MacBook Air 2017

Ubuntuデスクトップ22.04.1 LTS

答え1

だから解決策を見つけました。パルスユーザーだけがリストする「Audio」というグループがあると思います。 SSHアクセスに使用されるユーザー(ユーザー名)をオーディオグルー​​プに追加する必要があります。

  1. オーディオグルー​​プに追加されたユーザーを探す
$ less /etc/group | grep audio
>>> audio:x:29:pulse
  1. 現在のユーザーの名前をもう一度確認してみましょう。
$ who
>>> user_name      pts/0        2023-01-18 08:55 (10.0.0.167
  1. ユーザーがこのグループに属していることを確認してください。ステップ1の出力は、Pulseが現在オーディオの唯一のユーザーに設定されていることを示しています。それでは、このグループにuser_nameを追加してみましょう。
$ sudo usermod -a -G audio user_name
  1. 機能していることをもう一度確認してください。

$ less /etc/group | grep audio
>>> audio:x:29:pulse,user_name

  1. 再起動!
$ sudo reboot
After reboot and re-login
$ play audio_file.mp3

関連情報