我想用 wine 运行我的bat 文件。一切都很顺利,但是当使用 crontab 时它不起作用
这是我在 crontab 中的脚本
02 21 * * * wine cmd.exe /C /python/newstart.bat
你如何让它发挥作用?
答案1
我尝试运行其中包含 wine 命令的脚本。我已经设法让脚本在 SSH 和服务器控制台中运行。我完全无法让脚本通过 cron 运行。看来 wine 命令无法使用 cron 运行。
问题是 cron 不允许访问 wine 需要的桌面 GUI、xauth 和显示。有一些(复杂且笨拙的)设置方法,以便您可以通过 SSH 运行 wine 应用程序,但显然不能通过 cron 运行。
除了 cron 之外,还有一些方法可以让命令在特定时间运行,例如“at”命令,其中 wine 命令可能不会失败,但您仍然需要跳过很多麻烦。我结合使用了 Lutris、gtk-launch 和 screen 来实现这一目的。
答案2
@Kusalananda 评论是正确的并且帮助了我。在 cron 中,您还需要对命令使用完整路径,例如我正在使用的 grep/usr/bin/pgrep
对于 wine,您可以检查command -v wine
Mine was at /usr/local/bin/wine
,只需替换wine
为完整路径