
Eu uso muito ssh, geralmente fazendo compilações de longa duração em outras máquinas.
Gostaria de saber quando uma compilação ou outro processo de longa execução falha em uma máquina remota e minha preferência por feedback seria o áudio.
Existe uma maneira de encaminhar o áudio remoto para minha máquina local? Eu preferiria algo que se integrasse ao ssh -X, se possível, mas gostaria de saber sobre as opções existentes.
Responder1
Existem vários servidores de som que podem encaminhar som sobre TCP: esd, JACK, NAS, Pulseaudio... Se você decidir usar um, seu principal problema será garantir que você tenha o mesmo em todas as máquinas, ou então organizar para encaminhar vários sistemas e traduzi-los localmente.
Para o seu caso de uso, acho que seria mais simples enviar apenas texto através do canal ssh e reproduzir localmente um som quando você receber uma notificação do lado remoto. Por exemplo ( nc
é o OpenBSD netcat):
while true; do
ret=$(nc -l localhost 12345);
if [ "$ret" -eq 0 ]; then play ok.wav; else play failed.wav; fi
done &
ssh remote -R12345:localhost:12345 'make; echo $? | nc localhost 12345'
Responder2
A campainha do sistema funciona através do ssh; ou você pode encapsular ESD, NAS ou qualquer sistema de áudio que funcione para o seu sistema. Em meus sistemas, tenho um pequeno programa chamado beep
instalado que toca a campainha do sistema.