
Ich verwende SSH sehr häufig und führe oft lang andauernde Builds auf anderen Maschinen durch.
Ich möchte wissen, wenn eine Kompilierung oder ein anderer Prozess mit langer Laufzeit auf einem Remotecomputer fehlschlägt und würde als Feedback vorzugsweise Audiosignale erhalten.
Gibt es eine Möglichkeit, Remote-Audio an meinen lokalen Computer weiterzuleiten? Wenn möglich, würde ich etwas bevorzugen, das sich in ssh -X integrieren lässt, aber ich würde gerne wissen, welche Optionen es gibt.
Antwort1
Es gibt mehrere Soundserver, die Ton über TCP weiterleiten können: esd, JACK, NAS, Pulseaudio ... Wenn Sie sich für die Verwendung eines dieser Server entscheiden, besteht Ihr Hauptproblem darin, sicherzustellen, dass Sie auf allen Computern denselben Server haben, oder die Weiterleitung an mehrere Systeme zu organisieren und diese lokal zu übersetzen.
Für Ihren Anwendungsfall wäre es meiner Meinung nach einfacher, nur Text über den SSH-Kanal zu senden und lokal einen Ton abzuspielen, wenn Sie eine Benachrichtigung vom Remote-Ende erhalten. Beispiel ( nc
ist 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'
Antwort2
Die Systemklingel funktioniert über SSH; oder Sie können ESD, NAS oder jedes andere Audiosystem tunneln, das für Ihr System geeignet ist. Auf meinen Systemen habe ich ein kleines Programm namens beep
installiert, das die Systemklingel läutet.