AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 479797
Accepted
confetti
confetti
Asked: 2018-11-05 14:37:26 +0800 CST2018-11-05 14:37:26 +0800 CST 2018-11-05 14:37:26 +0800 CST

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

  • 772

Objetivo: Tocar música em um servidor, preferencialmente usando cmus, usando SSH para controle do player.

Primeira tentativa: cmus
eu corro cmusem um terminal, literalmente nada acontece. Ele apenas carrega (eu acho). Tentei cmus -vvvvv- Também apenas carrega. Tentei isso e isso - Nenhuma alteração no problema. Mas: executá-lo a partir de um terminal físico no computador funciona! (Ambos iniciando o cmus e reproduzindo áudio com sucesso)

Segunda tentativa: MOC
Executar mocpabre, 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
Inicia. Eu posso adicionar arquivos. Não joga: Failed to open sound device
Tentei várias sugestões (muito desatualizadas) do google, nada ajudou. O que pareceu ajudar muitos outros com isso foi padsc mp3blaster- Mas, novamente, nenhuma ajuda para mim.

Estou usando ALSA com PulseAudio. O áudio em si funciona bem. playou mplayerambos funcionam bem, mas não oferecem bibliotecas e listas de reprodução.Ambos funcionam bem em SSH também.

Estou realmente sem noção do que fazer aqui, pois o cmus não imprime nadae mplayerfunciona bem. Eu verifiquei alsamixere nada está silenciado ou desativado. Há apenas uma única placa de som.

Não estou tentando fazer uma pergunta ampla do tipo sugira-me algo aqui, apenas adicionei os outros jogadores, pois isso pode ajudar a encontrar o problema, mas a pergunta visa se concentrar em começar cmusa trabalhar.

Eu tentei DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus cmustambém (encontrado aqui ), mesmo resultado.

Edit: PARA SER CLARO: A música está na máquina em que eu SSH e quero reproduzir a música localmente na máquina, controlando o reprodutor de música CLI via SSH. Desculpe pela confusão. Não estou tentando transmitir áudio por SSH. Eu só quero usar cmusem um Terminal SSH para tocar música que já está no servidor que estou conectando.

Edit: mplayertambém não funciona mais, costumava 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 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 roottambém, mesmo resultado. Mas: Se eu executar como o usuário que está logado na sessão X (mesmo por SSH), funciona.

command-line audio
  • 2 2 respostas
  • 2405 Views

2 respostas

  • Voted
  1. Best Answer
    confetti
    2018-11-06T04:47:00+08:002018-11-06T04:47:00+08:00

    Resolvi o problema com algo bastante óbvio que perdi esse tempo todo. Eu tive que permitir que outros usuários (não o usuário conectado à sessão X em que o pulseaudio deamon é executado) acessem o PA.

    No usuário sob o qual o PA deamon é 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, faça login 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
    

    E cole o seguinte no arquivo:

    default-server = unix:/tmp/acpulsesocket
    

    Salve, reinicie o pulseaudio:pulseaudio -k

    Agora cmuse todos os outros jogadores estão funcionando muito bem.

    • 2
  2. Mio Rin
    2018-11-06T07:13:37+08:002018-11-06T07:13:37+08:00

    Eu uso mpde ncmpcpppara conseguir a mesma coisa.

    Comece mpdno servidor e use ncmpcpp -h hostname_of_jukeboxpara controlá-lo de qualquer outro computador na rede.

    Não há necessidade de sshiniciar mpdremotamente (que pode ser iniciado automaticamente como um serviço/daemon, se você quiser).

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

    • 1

relate perguntas

  • O comando ip suporta curingas?

  • Qual é a interface recomendada para um utilitário que requer muitos parâmetros? [fechado]

  • Execute o aplicativo X remotamente, execute a GUI no host remoto [fechado]

  • Fazendo mysql CLI me pedir uma senha interativamente

  • Pub / sub de linha de comando sem um servidor?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve