这有效:
* * * * * export DISPLAY=:0; /usr/bin/vlc --play-and-exit /home/tc/Music/test.ogg
这有效:
30 * * * * export DISPLAY=:0; /usr/bin/vlc --play-and-exit /home/tc/Music/test.ogg
这不起作用:
30 08 * * * export DISPLAY=:0; /usr/bin/vlc --play-and-exit /home/tc/Music/test.ogg
我正在 ElementaryOS 上尝试这个。
我尝试将 * 放入除命令列之外的所有列中,并且它有效。
但是当我指定我希望它运行的确切时间时,它失败了。
但是当我在小时列中用 * 指定确切的分钟时,它就起作用了。
这真的很令人困惑,我在系统日志文件中没有找到任何内容。
答案是 BIOS 时间未与您的系统时间同步。
启动系统并按 F2(或 Del 键,具体取决于您使用的机器),进入 BIOS 并检查其中显示的时间。如果它与您的时间不匹配,请将其更改为与您的系统时间匹配(通常按 F5 或 F6 键)。
匹配后,保存设置并重启机器。
现在你的 cron 应该可以正常工作了。
所以基本上,cron 正在根据您的 BIOS 时间运行,而不是您在任务栏上看到的时间。