ほとんどすべてのCLIミュージックプレーヤーは動作しません(SSH端末で)。

ほとんどすべてのCLIミュージックプレーヤーは動作しません(SSH端末で)。

目的:可能であれば、cmusを使用してサーバー上で音楽を再生し、プレーヤーの制御にSSHを使用します。

最初の試み:端末で実行しましたが、文字通り何も起こりませんでしたcmus
cmusただ読み込まれます。試行cmus -vvvvv- ロードのみ可能です。試験を終えたこれそしてこれ- 問題は変わりませんでした。しかし:コンピュータの物理端末で実行すると動作します! (cmusを起動してオーディオを正常に再生します)

2回目の試み:MOC
実行を実行するmocpと、ファイルも追加できます。曲を再生しようとすると、次のメッセージが表示されます。can't open audio: device or resource busy MOC- 考えられる解決策が見つかりません。

3回目の試み:mp3blaster
始めましょう。ファイルを追加できます。再生されません。Failed to open sound device
Googleの提案(非常に古い)のいくつかを試してみましたが、役に立ちませんでした。他の多くの人に役立つようですがpadsc mp3blaster、私には役に立ちません。

PulseAudioでALSAを使用します。オーディオ自体はうまく動作します。あるいは、どちらもうまく機能しますplaymplayer、ライブラリとプレイリストを提供しません。どちらもSSHでうまく機能します。

cmusは何も印刷しないので、ここで何をすべきかわかりません。そしてmplayerうまくいきます。。確認してみると、alsamixerミュートまたは無効になっている項目はありません。サウンドカードは1つだけです。

ここでは広範なアドバイスの質問をしたくありません。問題を見つけるのに役立つように、他のプレイヤーを追加するだけです。しかし、質問の目的は、cmus作業の開始に集中することです。

私もDBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus cmus試しました(発見ここ)、結果は同じです。

編集:明確にするには:音楽はSSH経由で接続されたコンピュータにあり、音楽を再生したいと思います。地元の機械では、コントロールSSH経由のCLI音楽プレーヤー。混乱させて申し訳ありません。 SSH経由でオーディオをストリーミングしようとしません。私はちょうどcmus私が接続しているサーバー上に既にある音楽を再生するためにSSH端末でそれを使用したいと思います。

編集:mplayerまた、もう機能しません。試してみるまで、いつも働いていました。

AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
[AO_ALSA] alsa-lib: pcm_hw.c:1602:(snd_pcm_hw_open) open '/dev/snd/pcmC0D0p' failed (-16): Device or resource busy
[AO_ALSA] alsa-lib: pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
[AO_ALSA] Playback open error: Device or resource busy
Failed to initialize audio driver 'alsa'
[AO SDL] Samplerate: 32000Hz Channels: Stereo Format s16le
[AO SDL] using aalib audio driver.
[AO SDL] Unable to open audio: No available audio device
Failed to initialize audio driver 'sdl:aalib'
Could not open/initialize audio device -> no sound.
Audio: no sound
Video: no video

また適用されますplay

ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
play FAIL formats: can't open output file `default': snd_pcm_open error: Device or resource busy

これもやってみましたが、root結果は同じです。しかし:Xセッションにログインしたユーザーとして実行すると(SSH経由でも)機能します。

答え1

私は私が見逃したかなり明白ないくつかの要因でこの問題を解決しました。私は許すべきです他のユーザー(pulseaudioデーモンを実行しているXセッションにログインしたユーザーではありません)PAへのアクセス。

PAデーモンが実行されているユーザーの場合:

# create pulse config dir in $HOME if it doesn't exist yet
mkdir .pulse
# copy the default PA config file
cp /etc/pulse/default.pa .pulse/default.pa
# edit the file
nano .pulse/default.pa

次に、ファイルの末尾に以下を追加します。

# make PA accessible by all users
load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/acpulsesocket

次に、オーディオを再生したいユーザーとしてログインします。

# create pulse config dir in $HOME of the controlling user
mkdir .pulse
# create client configuration file
nano .pulse/client.conf

以下をファイルに貼り付けます。

default-server = unix:/tmp/acpulsesocket

pulseaudioを保存して再起動してください。pulseaudio -k

今、cmus他のプレイヤーはすべてうまくいっています。

答え2

私は同じことを達成するためにmpdand を使います。ncmpcpp

mpdサーバーから起動し、ネットワーク上のncmpcpp -h hostname_of_jukebox他のコンピュータでこれを制御するために使用されます。

sshリモート起動以外は必要ありませんmpd(必要に応じてサービス/デーモンで自動的に起動できます)。

mpd他のプログラムを使用して制御することもできます。

関連情報