Как позволить fetchmail воспроизводить звук, когда он завершает получение писем?

0

Как позволить fetchmail воспроизводить звук, когда он завершает получение писем?

Computist
источник

Ответы:

0

Если вы 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 в режиме демона, например, fetchmail --keep --verbose --ssl --fetchlimit 0 --fetchsizelimit 0 --timeout 45 --daemon 180 --fetchmailrc ${HOME}/.fetchmailrc-popбудет ли ваше решение работать через каждые 180 секунд?
Computist
0

Если вы используете его на переднем плане:

fetchmail ...; printf '\a'
Деннис Уильямсон
источник