거의 모든 CLI 뮤직 플레이어가 작동하지 않습니다(SSH 터미널에서).

거의 모든 CLI 뮤직 플레이어가 작동하지 않습니다(SSH 터미널에서).

목표: 가능하면 cmus를 사용하여 서버에서 음악을 재생하고 플레이어 제어에 SSH를 사용합니다.

첫 번째 시도: 터미널에서 실행했는데 말 그대로 아무 일도 일어나지 않았습니다 cmus
. cmus그냥 로드됩니다. 시도 cmus -vvvvv- 로드만 가능합니다. 시험을 마친이것그리고이것- 문제는 바뀌지 않았습니다.하지만:컴퓨터의 물리적 터미널에서 실행하면 작동합니다! (cmus를 시작하고 오디오를 성공적으로 재생합니다)

두 번째 시도: MOC
실행을 실행 mocp하면 파일도 추가할 수 있습니다. 노래를 재생하려고 하면 다음 메시지가 나타납니다. can't open audio: device or resource busy MOC- 가능한 해결 방법을 찾을 수 없습니다.

세 번째 시도: mp3blaster
시작하세요. 파일을 추가할 수 있어요. 재생되지 않습니다. Failed to open sound device
Google의 제안(매우 오래된) 중 일부를 시도했지만 아무 도움이 되지 않았습니다. 다른 많은 사람들에게 도움이 되는 것 같지만 padsc mp3blaster, 나에게는 도움이 되지 않습니다.

PulseAudio와 함께 ALSA를 사용합니다. 오디오 자체는 잘 작동합니다. play또는 mplayer둘 다 잘 작동하지만 라이브러리와 재생 목록을 제공하지 않습니다.둘 다 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다른 프로그램을 사용하여 제어할 수도 있습니다.

관련 정보