Como iniciar / configurar o pulseaudio remotamente com o ssh?

10

Eu tenho uma máquina remota na qual eu posso ssh. Na máquina remota, existe um programa que usa áudio de pulso para obter entrada de um microfone USB conectado à máquina remota. Essa configuração funciona bem quando operada localmente, ou seja, eu posso obter entrada do áudio de pulso quando conectado localmente.

Sobre ssh, recebo o erro:

ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

Da mesma forma, quando tento abrir o pavucontrol na máquina remota via ssh -X, recebo a mensagem:

A conexão com o PulseAudio falhou. ... Nesse caso, isso provavelmente ocorre porque PULSE_SERVER nas propriedades da janela raiz do Environment / X11 ou no servidor padrão no client.conf está confuso.

pulseaudio --start
N: [pulseaudio] main.c: User-configured server at {30ab51874e4a0ca492830f1400000007}unix:/home/user2/.pulse/30ab51874e4a0ca492830f1400000007-runtime/native, refusing to start/autospawn.

Tentativa de iniciar o áudio de pulso com x11: start-pulseaudio-x11

Connection failure: Connection refused
pa_context_connect() failed: Connection refused

pulseaudio --check retorna diretamente ao prompt de comando.

Se eu tentar obter as propriedades ssh X, recebo:

user1@remote-pc:~$: xprop -root | grep PULSE
PULSE_COOKIE(STRING) = Some stuff here
PULSE_SERVER(STRING) = "{30ab51874e4a0ca492830f1400000007}unix:/home/user2/.pulse/30ab51874e4a0ca492830f1400000007-runtime/native"
PULSE_SESSION_ID(STRING) = "30ab51874e4a0ca492830f1400000007-1407765989.424751-1424846683"
PULSE_ID(STRING) = "12165@30ab51874e4a0ca492830f1400000007/2040"

Está bem. Vi perguntas relacionadas a esse problema, mas, em cada caso, o solicitante deseja transmitir som através de uma conexão de rede, o que eu não quero. Então, o que eu configuro PULSE_SERVERpara ser?

jwinebar
fonte

Respostas:

5

Parece que resolvi o problema executando

pax11publish -r

Agora, xprop -root | grep PULSE mostra:

PULSE_SERVER(STRING) = "{9899a0f46bdae6bbc8e6e8b200000005}unix:/home/user1/.pulse/9899a0f46bdae6bbc8e6e8b200000005-runtime/native"

Aparentemente, pulseaudio --check deve normalmente ir para o prompt de comando. Aparentemente, isso indica que está em execução.

Terdon
fonte
3
O OP publicou isso como parte da pergunta. Eu o removi e postei como resposta.
terdon
-8

A maneira mais fácil de lidar com o pulseaudio é fazer o seguinte:

Remova todos os pacotes de pulsos.

sudo apt-get purge pulseaudio*

Instale todos os pacotes novamente.

sudo apt-get install pulseaudio*
Adel Abula - MageBinary
fonte