最近,在我的 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
第 2 步创建文件 play.sh(记住 chmod)
第 3 步
crontab -e
第4步