Я перешел на Linux с последних 11 месяцев, я на Ubuntu 15.04, я научился использовать cron для различных задач.
Я использую Cron, чтобы объявлять время с помощью фестиваля tts (используя голос mbrolla) каждый час.
Это команда, которую я использую в cron (она сохраняется как скрипт .sh, а его путь указан в Cron)
echo "Its" `date "+%l O clock now"` | festival --tts
Проблема в том, что она не работает, когда музыка или видео воспроизводится, однако после остановки или остановки музыки оно объявляет время.
Я погуглил и обнаружил, что для множественного доступа к звуковой карте необходимо использовать aoss (alsa-oss). Я установил необходимый пакет alsa-oss и изменил команду в соответствии с результатами поиска, подобными этому
echo "Its" `date "+%l O clock now"` | aoss festival --tts
, но все равно это не работает, и если я запускаю команду с помощью aoss, выдается какая-то ошибка, как показано ниже:
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libaoss.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Я не знаю, связана ли эта ошибка с ней каким-то образом.
Кто-то из Reddit упомянул, что использует Alsa или Pulse-audio с festival, и указал мне на arch форумы , где говорится, что для использования Alsa или Pulse-Audio мы должны отредактировать файл ~ / .festivalrc, или / usr / share / festival / festival.scm и добавьте в него несколько строк.
Я добавил строки, упомянутые в ссылке, но, тем не менее, это не решило мою проблему.
Поэтому мне нужна помощь от вас, ребята. Пожалуйста, помогите мне исправить это, чтобы Cron объявлял время, даже когда воспроизводится музыка или видео.
спасибо
Согласно этому ответу: я могу использовать крон для звона наверху часа как высокие часы с маятником? необходимо экспортировать переменную среды прежде, чем играть звуки в сценарии крона:
export XDG_RUNTIME_DIR="/run/user/1000"