
Я часто использую 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
installed, которая звонит в системный звонок.