Чуть больше года назад я написал приложение-уведомитель. (в Ubuntu 16.04.7), который воспроизводил звук с помощью paplay, а затем открывал окно с текстом уведомления. Это может быть запущено либо из командной строки, либо из cron. Недавно я установил Ubuntu 20.04.3 и обнаружил, что запуск из командной строки все еще работает, а запуск из cron — нет. У меня есть каталог bin ниже моего домашнего каталога, где хранится скрипт (remind.sh). Урезанная версия напоминания.sh выглядит следующим образом. Обратите внимание, что когда я запускаю cron, я не получаю звуковой индикации того, что сценарий запущен, но файл trace.txt обновляется, и yad создает окно.
#!/бин/баш
# скрипт напоминания, вызываемый либо из
# 1. крон или
# 2. прямо из оболочки во всплывающее окно или
# 3. gidday.sh
# создает окно 'yad' с изображением и сообщением в нем.
/usr/bin/paplay /home/gary/sounds/marimba.ogg
# отследить прогон
д=`дата`
echo "сделано -- "$d >> trace.txt
# теперь потушите окно
#
#/usr/bin/yad --borders=50 --scroll --image=/home/gary/Pictures/shrunk-pictures/${ar[$t]} --title="${ar[$t] }" --text-align=center --mouse --width=800 --height=400 --text='<span font="20">'"$txt"'</span>' 2>/dev /ноль
Извините, я должен был указать следующее в своем исходном сообщении. Строка в crontab, которая запускает скрипт напоминания1.sh:
36 13 30 авг * export DISPLAY=:0 && export MESSG="получить фильмы из библиотеки" && /home/gary/bin/remind1.sh
Как я уже говорил, все это отлично работало в Ubuntu 16.04. И это по-прежнему не объясняет, почему команда paplay не запускается, а команда (без комментариев) yad работает.