最近,在我的 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
不确定什么会有帮助,但是......
步骤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