reproducir un sonido/notificación en finch a través de ssh en mi máquina local

reproducir un sonido/notificación en finch a través de ssh en mi máquina local

Entonces tengo finchun cliente de chat de línea de comando (piense en pidgin) ejecutándose en una máquina remota en la que sshentro. finchtiene sonidos de notificación y puede ejecutar un comando cuando ocurren ciertos eventos, lo que le permite pasar el archivo de sonido como %s. p.ejmplayer %s

Desde la máquina remota, cuando se produce la notificación, ¿qué tipo de comando puedo ejecutar para reproducir lo que %sesté en mi máquina local?

Respuesta1

Si utilizaaudio-pulsoComo servidor de sonido, puede utilizarlo module-native-protocol-tcppara aceptar la conexión TCP desde su máquina remota.

En el siguiente ejemplo, utilizo un túnel ssh para reenviar la solicitud de audio desde la máquina remota a la local.

En la máquina local, haga algo como:

pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
ssh -R 9999:127.0.0.1:4713 you@remotehost

luego en la máquina remota puedes usarpaplay

paplay -s 127.0.0.1:9999 soundfile.wav

AGREGADODescubrí que auth-ip-aclno lo acepta localhostcomo parámetro válido, debe usarlo 127.0.0.1(o cualquier dirección que use su máquina localhost).

EDITARDebería ser ssh -R, no ssh -L(estamos reenviando un puerto remoto a un puerto local).


Si tiene una versión antigua de pulse-audio (anterior a 0.9.3), puede utilizar la autorización basada en cookies.

pactl load-module module-native-protocol-tcp auth-anonymous=1 auth-cookie-enabled=0
scp ~/.pulse-cookie you@remotehost:
ssh -R 9999:localhost:4713 you@remotehost

Obviamente, simplemente no puedes utilizar ninguna autenticación en pulse-audio, pero no puedo recomendarte esta solución. Utilice, al menos, un firewall para evitar conexiones remotas.

información relacionada