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

2 ответа2

0

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

fetchmail ...; printf '\a'
0

Если у вас установлен 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .