Como configurar o controle remoto do PulseAudio de forma adequada e segura?

2

Eu vi uma postagem no fórum sobre alguém que estava usando o PulseAudio remote (configuração cliente-servidor) e isso me interessava. O PulseAudio tem alguns recursos muito avançados que espero usar para tocar música em toda a minha casa sem comprar um sistema comercial como o Sonos para fazer isso.

Até o momento, conseguimos fazer o trabalho remoto do PulseAudio funcionar, mas não exatamente de acordo com as rotas dado. Em particular, acho que abri algumas falhas de segurança. Eu gostaria de dar os passos exatos que fiz e ver se alguém pode me dizer onde eu errei.

Para ficar claro, o PulseAudio está funcionando e não recebo erros. Mas eu tive que abrir mais configurações do que deveria. Meu objetivo é passar dessa configuração de trabalho ruim para uma configuração de trabalho adequada e segura.

Meu cliente e servidor PulseAudio executam o Arch Linux.

cliente e servidor ambos

Instale este pacote e ative o avahi-daemon:

pacman -S pulseaudio-zeroconf 
systemctl enable avahi-daemon.service
systemctl start avahi-daemon.service

etapas do servidor

Edite /etc/pulse/default.pa e adicione estas linhas:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1
load-module module-zeroconf-publish

Execute estes comandos:

pulseaudio -k
pulseaudio --start
pacmd list-modules | grep native-protocol-tcp
pacmd list-modules | grep zeroconf-publish

Os módulos estavam corretos.

etapas do cliente

Edite /etc/pulse/default.pa e adicione estas linhas:

load-module module-native-protocol-tcp
load-module module-zeroconf-discover

Execute estes comandos:

pulseaudio -k
pulseaudio --start
pacmd list-modules | grep native-protocol-tcp
pacmd list-modules | grep zeroconf-discover

O PulseAudio foi iniciado e os módulos estavam corretos.

Meu próximo passo deveria ter sido, "Executar o Controle de Volume gráfico do PulseAudio pavucontrol . Na guia Dispositivos de Saída, você deve ver os dispositivos de saída locais e remotos." No entanto, ao fazer isso, não vi nenhum dispositivo de saída remota no cliente.

Eu tive que abrir paprefs em um terminal e fazer as seguintes etapas extras:

guia Acesso à rede no cliente:

  • marque Disponibilizar localmente dispositivos de som de rede PulseAudio detectáveis

Guia Servidor de rede no servidor:

  • marque Ativar acesso à rede para dispositivos de som locais
  • marque Permitir que outras máquinas na LAN descubram dispositivos de som locais
  • check Não requer autenticação

Somente após essas alterações na GUI de paprefs vi dispositivos de saída remotos no cliente. Como mencionado, a reprodução de música em um coletor remoto está funcionando, mas essas configurações parecem inseguras e suspeito que perdi algo importante na minha configuração. Assim que eu desmarque a opção "Não requer autenticação", o fluxo será interrompido.

Além disso, existe uma maneira melhor de fazer isso do que usar o avahi?

    
por MountainX 24.09.2018 / 01:24

1 resposta

1

No servidor, alterei a seguinte linha de configuração de:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1

para:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24

Eu copiei o mesmo arquivo ~ / .config / pulse / cookie para todos os dispositivos.

Em seguida, no servidor abra as paprefs em um terminal e faça o seguinte:

Guia Ativar servidor de rede:

  • desmarque "Não requer autenticação"

cmus

Eu também encontrei outra maneira de realizar basicamente a mesma coisa, que é controlar a reprodução de música do meu laptop enquanto a música é tocada em um computador diferente que funciona como um "servidor" de música e é conectado aos alto-falantes (e DAC, amplificador de potência ou qualquer configuração de música que se tenha). Eu tenho acesso conveniente ssh entre os dispositivos na minha LAN. Instalei o aplicativo cmus no meu servidor de músicas.

cmus is a small, fast and powerful console music player for Unix-like operating systems.

Agora eu posso usar meu laptop (ou telefone) como um "controle remoto" para o meu servidor de música fazendo ssh no servidor de música e digitando cmus em um terminal. Eu tentei outros métodos de controle remoto de música sendo jogado em um computador diferente, e eu tenho que dizer que há uma elegância sedutora na interface do console do cmus.

Para instruções cmus, digite man cmus-tutorial e man cmus .

    
por 30.09.2018 / 06:37