我如何使用 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 或任何适合您系统的音频系统。在我的系统上,我有一个名为“ beepinstalled”的小程序,它可以响起系统铃声。

相关内容