reproduzindo um som / notificação em finch sobre ssh em minha máquina local

8

Portanto, tenho finch , um cliente de linha de comando (acho que pidgin) em execução em uma máquina remota em que eu ssh . finch tem sons de notificação e pode executar um comando quando determinados eventos ocorrem, permitindo que você passe o arquivo de som como %s . por exemplo. mplayer %s

da máquina remota, quando ocorre a notificação, que tipo de comando posso executar para reproduzir o %s na minha máquina local?

    
por tester 22.03.2012 / 21:28

1 resposta

6

Se você usar pulse-audio como servidor de som, poderá usar module-native-protocol-tcp para aceitar a conexão tcp da sua máquina remota.

No exemplo a seguir, eu uso um túnel ssh para encaminhar a solicitação de áudio da máquina remota para a local.

Na máquina local, faça 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

em seguida, na máquina remota, você pode usar paplay

paplay -s 127.0.0.1:9999 soundfile.wav

ADICIONADO descobri que auth-ip-acl não aceita localhost como um parâmetro válido, você tem que usar 127.0.0.1 (ou qualquer que seja a sua máquina usa endereço localhost ).

EDITAR Deve ser ssh -R , não ssh -L (estamos encaminhando uma porta remota para uma porta local).

Se você tiver uma versão antiga de áudio de pulso (pré 0.9.3), poderá usar a autorização baseada em 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, você pode simplesmente não usar nenhuma autenticação no pulso de áudio, mas não posso recomendar essa solução. Use, pelo menos, um firewall para evitar conexões remotas.

    
por 22.03.2012 / 22:20

Tags