Jak uruchomić / skonfigurować pulseaudio zdalnie za pomocą ssh?

11

Mam zdalną maszynę, do której mogę ssh. Na zdalnej maszynie znajduje się program, który wykorzystuje pulsacyjny dźwięk, aby uzyskać wejście z mikrofonu USB podłączonego do zdalnej maszyny. Ta konfiguracja działa dobrze, gdy jest obsługiwana lokalnie, tzn. Mogę uzyskać sygnał wejściowy z impulsu audio, gdy jestem podłączony lokalnie.

Przez ssh pojawia się błąd:

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

Podobnie, gdy próbuję otworzyć pavucontrol na zdalnej maszynie za pomocą ssh -X, otrzymuję komunikat:

Połączenie z PulseAudio nie powiodło się. ... W tym przypadku jest to prawdopodobne, ponieważ PULSE_SERVER we właściwościach okna głównego środowiska / X11 lub domyślny serwer w pliku client.conf jest źle skonfigurowany.

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

Próba uruchomienia impulsu audio za pomocą x11: start-pulseaudio-x11

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

pulseaudio --check wraca prosto do wiersza poleceń.

Jeśli spróbuję uzyskać właściwości ssh X, otrzymam:

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"

Ok. Widziałem pytania związane z tym problemem, ale w każdym przypadku pytający chce przesyłać dźwięk przez połączenie sieciowe, co ja> nie <chcę zrobić. Więc co mam skonfigurować PULSE_SERVER?

jwinebar
źródło

Odpowiedzi:

7

Wydaje mi się, że problem został rozwiązany przez uruchomienie

pax11publish -r

Teraz xprop -root | grep PULSE pokazuje:

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

Najwyraźniej pulseaudio --check powinien normalnie przejść do wiersza poleceń. Najwyraźniej oznacza to, że działa.

terdon
źródło
3
OP opublikował to jako część pytania. Usunąłem go i opublikowałem jako odpowiedź.
terdon