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

316
Computist

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

0

2 ответа на вопрос

0
Dennis Williamson

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

fetchmail ...; printf '\a' 
0
Patches

Если вы 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 
The problem is I run fetchmail in daemon mode like `fetchmail --keep --verbose --ssl --fetchlimit 0 --fetchsizelimit 0 --timeout 45 --daemon 180 --fetchmailrc $/.fetchmailrc-pop` Will your solution work after each 180 second interval? Computist 13 лет назад 0

Похожие вопросы