Quase todo leitor de música CLI não funciona (em um terminal SSH)

1

Meta: reproduzir música em um servidor, preferencialmente usando cmus, usando o SSH para controle do player.

Primeira tentativa: cmus
Eu corro cmus em um terminal, literalmente nada acontece. Apenas carrega (eu acho). Tentei cmus -vvvvv - também apenas carrega. Tentei este e this - Nenhuma alteração no problema. Mas: executá-lo a partir de um terminal físico no computador funciona! (Ambos começando cmus e reproduzindo áudio com sucesso)

Segunda tentativa: MOC
Correndo mocp abre, eu posso adicionar arquivos também. Ao tentar reproduzir uma música, esta mensagem aparece: can't open audio: device or resource busy MOC - Nenhuma solução possível encontrada.

Terceira tentativa: mp3blaster
Começa. Eu posso adicionar arquivos. Não joga: Failed to open sound device
Tentei várias sugestões (muito desatualizado) do google, nada ajudou. O que pareceu ajudar muitos outros com isso foi padsc mp3blaster - Mas, novamente, não há ajuda para mim.

Estou usando o ALSA com o PulseAudio. O próprio áudio funciona bem. play ou mplayer funcionam bem, mas não oferecem bibliotecas e listas de reprodução. Ambos funcionam bem no SSH também.

Não tenho a menor idéia do que fazer aqui, pois cmus não imprime nada e mplayer funciona bem . Eu verifiquei alsamixer e nada está silenciado ou desabilitado. Há apenas uma única placa de som.

Não estou tentando ter uma ampla pergunta sugerir-me-algo aqui, apenas adicionei os outros jogadores, pois isso pode ajudar a encontrar o problema, mas a questão visa concentrar-se em fazer com que cmus funcione.

Já testei DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus cmus (encontrado aqui ), mesmo resultado.

Editar: PARA SER LIMPO: A música está na máquina em que eu estou em SSH e quero reproduzir a música localmente da máquina, controlando strong> o tocador de música CLI via SSH. Desculpe pela confusão. Eu não estou tentando transmitir áudio por SSH. Eu só quero usar cmus em um terminal SSH para reproduzir músicas que já estão no servidor ao qual estou me conectando.

Editar: mplayer não funciona mais, costumava ser o tempo todo até que eu tentei:

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

O mesmo que para 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

Eu tentei como root também, mesmo resultado. Mas: Se eu correr como usuário logado na sessão X (mesmo em SSH), ele funciona.

    
por confetti 04.11.2018 / 23:37

2 respostas

1

Eu resolvi o problema com algo bastante óbvio que perdi esse tempo todo. Eu tive que permitir outros usuários (não o usuário logado na sessão X sob a qual o donoon pulseaudio funciona) para acessar o PA.

No usuário sob o qual o deamon do PA é executado:

# 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

Em seguida, adicione no final do arquivo:

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

Em seguida, logado como o usuário do qual você deseja reproduzir o áudio:

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

Cole o seguinte no arquivo:

default-server = unix:/tmp/acpulsesocket

Salvar, reinicie o pulseaudio: pulseaudio -k

Agora, cmus e todos os outros jogadores estão funcionando bem.

    
por 05.11.2018 / 13:47
1

Eu uso mpd e ncmpcpp para obter a mesma coisa.

Inicie mpd no servidor e use ncmpcpp -h hostname_of_jukebox para controlá-lo de qualquer outro computador na rede.

Não há necessidade de ssh além de iniciar mpd remotamente (que pode ser iniciado automaticamente como um serviço / daemon, se você quiser).

Você também pode usar outros programas para controlar mpd .

    
por 05.11.2018 / 16:13