Как позволить fetchmail воспроизводить звук, когда он завершает получение писем?
2 ответа
Если вы используете его на переднем плане:
fetchmail ...; printf '\a'
Если у вас установлен ffmpeg
, вы можете использовать его для воспроизведения звука практически любого типа:
ffplay -nodisp /path/to/sound/file
К сожалению, это приведет к появлению окна в большинстве версий ffmpeg
включенных в дистрибутивы Linux, хотя это было исправлено в последней версии. Если это нежелательно, вы также можете использовать команду aplay
, но она может воспроизводить только WAV, AU и другие необработанные аудиоформаты:
aplay /path/to/sound.wav
Если вы не хотите вводить это каждый раз, вы можете написать небольшой скрипт, который сделает это за вас. Просто перетащите файл, подобный этому, куда-нибудь как ~/bin/fetchsound
и сделайте его извиняемым (chmod +x ~/bin/fetchsound
):
#!/bin/bash
fetchmail [..]
if [ $? -le 1 ]; then
ffplay -nodisp /path/to/sounds/success.ogg
else
ffplay -nodisp /path/to/sounds/failure.ogg
fi
Вы также можете просто воспроизвести звук при получении новой почты, потому что fetchmail
возвращает 0
код выхода при загрузке новой почты и 1
при отсутствии. (Все остальные коды состояния указывают на сбой.)
#!/bin/bash
fetchmail [..]
if [ $? -eq 0 ]; then
ffplay -nodisp /path/to/sounds/newmail.ogg
elif [ $? -gt 1 ]; then
ffplay -nodisp /path/to/sounds/failure.ogg
fi