Как запустить / настроить pulseaudio удаленно с помощью ssh?

11

У меня есть удаленная машина, к которой я могу SSH. На удаленном компьютере есть программа, которая использует импульсный звук для получения ввода с USB-микрофона, подключенного к удаленному устройству. Эта настройка прекрасно работает при локальном управлении, т.е. я могу получить входной сигнал от импульсного звука при локальном подключении.

За ssh я получаю ошибку:

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

Точно так же, когда я пытаюсь открыть pavucontrol на удаленной машине через ssh -X, я получаю сообщение:

Не удалось подключиться к PulseAudio. ... В этом случае, скорее всего, из-за неправильной настройки PULSE_SERVER в свойствах корневого окна Environment / X11 или default-server в client.conf.

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

Попытка запустить импульсное аудио с x11: start-pulseaudio-x11

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

pulseaudio --check возвращается прямо в командную строку.

Если я пытаюсь получить свойства ssh X, я получаю:

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"

ОК. Я видел вопросы, связанные с этой проблемой, но в каждом случае спрашивающий хочет передавать звук по сетевому соединению, что я не делаю. Так что мне настроить PULSE_SERVER?

jwinebar
источник

Ответы:

7

Кажется, я решил проблему, запустив

pax11publish -r

Теперь xprop -root | grep PULSE показывает:

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

По-видимому, pulseaudio --check обычно должен идти в командную строку. Видимо это указывает на то, что он работает.

terdon
источник
3
ФП опубликовал это как часть вопроса. Я удалил это и отправил как ответ вместо этого.
тердон