Как позволить fetchmail воспроизводить звук, когда он завершает получение писем?
Если вы ffmpeg
установили, вы можете использовать его для воспроизведения звука практически любого типа файла:
ffplay -nodisp /path/to/sound/file
К сожалению, это приведет к появлению окна в большинстве версий, ffmpeg
включенных в дистрибутивы Linux, хотя это было исправлено в последней версии. Если это нежелательно, вы также можете использовать aplay
команду, но она может воспроизводить только WAV, AU и другие необработанные аудиоформаты:
aplay /path/to/sound.wav
Если вы не хотите вводить это каждый раз, вы можете написать небольшой скрипт, который сделает это за вас. Просто ~/bin/fetchsound
поместите файл куда-нибудь вроде этого и сделайте его excuatable ( 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
fetchmail --keep --verbose --ssl --fetchlimit 0 --fetchsizelimit 0 --timeout 45 --daemon 180 --fetchmailrc ${HOME}/.fetchmailrc-pop
будет ли ваше решение работать через каждые 180 секунд?Если вы используете его на переднем плане:
источник