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

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

Então eu tenho finchum cliente de bate-papo de linha de comando (pense em pidgin) rodando em uma máquina remota em que eu sshuso. finchpossui sons de notificação e pode executar um comando quando determinados eventos ocorrem, permitindo que você passe o arquivo de som como %s. por exemplomplayer %s

da máquina remota, quando a notificação ocorrer, que tipo de comando eu poderia executar para reproduzir o que quer que %sesteja na minha máquina local?

Responder1

Se você usarpulso-áudiocomo servidor de som, você pode usar module-native-protocol-tcppara aceitar a conexão TCP de sua máquina remota.

No exemplo a seguir, 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

então na máquina remota você pode usarpaplay

paplay -s 127.0.0.1:9999 soundfile.wav

ADICIONADODescobri que auth-ip-aclnão aceita localhostcomo parâmetro válido, você tem que usar 127.0.0.1(ou o que quer que sua máquina use endereço localhost).

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


Se você tiver uma versão antiga do pulse-audio (anterior à 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 pulse-audio, mas não posso recomendar esta solução. Use, pelo menos, um firewall para evitar conexões remotas.

informação relacionada