Недавно, после выполнения рутинного обновления в моей системе Ubuntu (19.10), команда / usr / bin / play больше не может воспроизводиться из Cron (отлично работает в командной строке). Раньше он работал отлично и долгое время.
Мой сценарий (который периодически вызывается cron):
#! /bin/bash
...
/usr/bin/play <path-to-soundfile> 2> /tmp/log.txt
...
Я получаю сообщение об ошибке
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
/usr/bin/play FAIL sox: Sorry, there is no default audio device configured
Я пробовал другие проигрыватели, такие как mplayer, aplay и cvlc, но безуспешно. Проведя небольшое исследование проблемы, я попробовал эти строки в начале своего сценария bash:
XDG_RUNTIME_DIR=/run/user/<userid>
export DISPLAY=:0
export XAUTHORITY=/home/<username>/.Xauthority
, но безрезультатно.
Также я добавил своего пользователя в аудиогруппу. По-прежнему без изменений.
Есть идеи?
не уверен, что поможет, но...
шаг 1
xuser@mbs:~$ env|grep -i runt
XDG_RUNTIME_DIR=/run/user/1000
шаг 2 создаем файл play.sh (не забываем про chmod)
#!/bin/bash
export XDG_RUNTIME_DIR=/run/user/1000
/usr/bin/mpg123 $1
шаг 3 crontab -e
хх * * * * /home/xuser/bin/play.sh /home/xuser/Музыка/demo_moya_vesna.mp3
шаг 4
$%)) ata-ta %:) enjoy