ssh -X を使用して、X ウィンドウだけでなくサウンドも転送するにはどうすればよいですか?

ssh -X を使用して、X ウィンドウだけでなくサウンドも転送するにはどうすればよいですか?

私は ssh を頻繁に使用し、他のマシンで長時間実行されるビルドを実行することがよくあります。

コンパイルやその他の長時間実行プロセスがリモート マシン上で失敗したときにそれを知りたいのですが、フィードバックとしては音声が望ましいです。

リモート オーディオをローカル マシンに転送する方法はありますか? 可能であれば ssh -X と統合できるものが望ましいのですが、存在するオプションについて知りたいです。

答え1

TCP 経由でサウンドを転送できるサウンド サーバーは複数あります: esd、JACK、NAS、Pulseaudio... いずれかを使用することにした場合、主な問題は、すべてのマシンで同じであることを確認するか、複数のシステムを転送してローカルで変換するように手配することです。

あなたのユースケースでは、ssh チャネルを介してテキストのみを送信し、リモート エンドから通知を受信したときにローカルでサウンドを再生する方が簡単だと思います。たとえば (ncは 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'

答え2

システム ベルは ssh 経由で動作します。または、ESD、NAS、またはシステムで動作する任意のオーディオ システムをトンネリングすることもできます。私のシステムには、beepシステム ベルを鳴らす という小さなプログラムがインストールされています。

関連情報