Comment démarrer / configurer pulseaudio à distance avec ssh?

11

J'ai une machine distante sur laquelle je peux ssh. Sur la machine distante, il existe un programme qui utilise l'audio pulsé pour obtenir l'entrée d'un microphone USB connecté à la machine distante. Cette configuration fonctionne très bien lorsqu'elle est utilisée localement, c'est-à-dire que je peux obtenir une entrée audio à impulsions lorsqu'elle est connectée localement.

Sur ssh, je reçois l'erreur:

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

De même, lorsque j'essaie d'ouvrir pavucontrol sur la machine distante via ssh -X, je reçois le message:

La connexion à PulseAudio a échoué. ... Dans ce cas, cela est probablement dû au fait que PULSE_SERVER dans les propriétés de la fenêtre racine Environnement / X11 ou le serveur par défaut dans client.conf est mal configuré.

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

Tentative de démarrage de l'audio pulsé avec x11: start-pulseaudio-x11

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

pulseaudio --check retourne directement à l'invite de commande.

Si j'essaye d'obtenir les propriétés ssh X, j'obtiens:

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"

D'accord. J'ai vu des questions liées à ce problème, mais dans chaque cas, le demandeur souhaite transmettre du son via une connexion réseau, ce que je ne veux pas faire. Alors, que dois-je configurer PULSE_SERVERpour être?

jwinebar
la source

Réponses:

7

Je semble avoir résolu le problème en exécutant

pax11publish -r

Maintenant, xprop -root | grep PULSE montre:

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

Apparemment, pulseaudio --check devrait normalement aller à l'invite de commande. Apparemment, cela indique qu'il fonctionne.

terdon
la source
3
Le PO l'avait affiché dans le cadre de la question. Je l'ai supprimé et publié à la place comme réponse.
terdon