我正在尝试创造一些像手表一样的东西。嘟嘟的声音表明一个小时已经过去。
所以我打开了 crontab(sudo crontab -e) 并写了这一行(有五个星号仅供测试):
* * * * * /usr/bin/mplayer /tones/beep.wav > /home/user/cronlogs/cron.log
但蜂鸣声不播放。我在终端中手动测试了它,蜂鸣声正常播放。
谢谢。
- 保罗
答案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
答案2
你可能使用pulseaudio
...
因此,您应该使用play
而不是aplay
.
尝试:
* * * * * /usr/bin/play /tones/beep.wav > /home/user/cronlogs/cron.log
答案3
我有一个使用 espeak 说话的时钟。
audio
如果您将应该播放声音的用户 ID 添加到音频组(在文件中以 开头的行的末尾/etc/group
),这可能对您的情况有所帮助。
root
如果您希望它通过 播放,请添加sudo crontab -e
。 (这仅对我使用常规用户 ID 是必要的(不适用于root
),但这在 Linux 发行版之间可能有所不同。)
答案4
汤姆·亨特是对的,问题在于环境。我用cas并使用aplay。
在你的 crontab 文件中,添加类似的内容
XDG_RUNTIME_DIR=/run/user/1000
* * * * * aplay /tones/beep.wav
如果您的用户 ID 恰好不同,请将上面的 1000 替换为id -u
.每分钟将发出一次蜂鸣声。对于最初的目标,每小时发出一次蜂鸣声,将第一个替换*
为0
。