Reproduz som * em * máquina remota via ssh no Ubuntu / Linux

4

Eu quero tocar som em uma máquina remota via SSH, sem o envolvimento do X11. Isso deve funcionar independentemente de um usuário estar logado no console ou no X ou não.

Basicamente, após o login via ssh, uma linha de comando como

mpg123 test.mp3

deve reproduzir o teste.mp3 nesta máquina remota. Em outras palavras, o sistema de PA de um homem pobre. Eu permiti acesso de áudio sem senha através da rede no painel paprefs, mas ainda sem som quando tento reproduzir via ssh.

Qual é a maneira mais simples e confiável de conseguir isso?

PS: As perguntas do passado têm respostas de baixa qualidade que não respondem a isso.

    
por emk2203 11.10.2014 / 17:02

2 respostas

1

Com sistemas Ubuntu recentes (17.10 neste caso), é necessário executar pulseaudio no início do sistema ou manualmente para obter áudio via ssh. pulseaudio é iniciado por usuário como padrão, portanto, se ninguém estiver logado, você só terá o nulo afundado para o seu login SSH, onde todo o áudio desaparece silenciosamente.

Para uma solução permanente, um serviço systemd poderia ser criado:

cat <<EOF >/etc/systemd/system/pulseaudio.service
[Unit]
Description=Pulse Audio

[Service]
Type=simple
ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm --exit-idle-time=-1

[Install]
WantedBy=multi-user.target
EOF

que garante que o daemon pulseaudio seja iniciado como o pulso do usuário na inicialização. Como isso é altamente desencorajado pelos desenvolvedores , a solução preferida para uso temporário deve ser para emitir sudo pulseaudio --system -D via SSH.

Se uma instância pulseaudio já estiver em execução, ela deve ser eliminada para permitir que a nova instância descubra o hardware. Isso afeta o áudio de todos os usuários conectados e deve ser tratado caso a caso.

Em qualquer caso, o usuário logado precisa fazer parte do grupo de acesso por pulsos:

sudo usermod -a -G pulse-access userName

Agora é possível reproduzir sons via SSH no sistema remoto ( mpg123 , mpv ou outros). O sucesso pode ser verificado por pactl list short sinks para a detecção adequada do coletor de áudio.

    
por 22.08.2017 / 20:04
2

Configurar a variável DISPLAY para :0 resolve o problema para mim. Tente executar o comando assim:

$ DISPLAY=:0 mpg123 test.mp3
    
por 03.04.2017 / 21:36

Tags