3

一旦我的计算机使用 cron 启动,我想执行一个脚本。但它不起作用。

我的操作系统是 Ubuntu MATE 16.04 LTS。

我的 crontab 在此处输入图像描述

我的剧本
在此处输入图像描述

我的脚本的绝对路径 在此处输入图像描述

一旦我的 Odroid 启动,键盘仍然是 qwerty。
我究竟做错了什么 ?

编辑:
我试过@reboot echo "hi" > /home/valery/reboot.txt 2>&1 它有效,所以问题不在@reboot 作业中。

编辑:解决方案
我从系统>首选项>个人>启动应用程序运行我的脚本它工作正常。

4

2 回答 2

2

setxkbmap命令依赖于$DISPLAY环境变量来指定它将影响的 X 显示。

在我的系统上,如果我在没有设置的情况下运行它$DISPLAY,我会得到:

$ setxkbmap fr
Cannot open display "default display"

Crontab 没有$DISPLAY为它运行的作业设置。事实上,它只提供了一组最小的环境变量(在我的系统上,只是$HOME$LOGNAME$PATH$LANG$SHELL$PWD)。

任何命令打印到stdoutstderr通常将通过电子邮件发送给 crontab 的所有者。您的系统上可能会收到一封电子邮件,其中包含与上述类似的错误消息。

@reboot当 crontab 执行作业时,X Windows 可能还没有运行。您必须找到另一种方法来自动运行该命令,或者手动运行它。(或者可能有另一种我没有想到的方法。)

于 2016-05-11T21:57:49.123 回答
1

为什么不为此使用 systemd/upstart 工作

PS:

例子

试试这个例子。如果它不起作用,那么尝试找到一个错误

替换/home/valery/为您的主文件夹的路径:

$ crontab -l
@reboot echo "hi" > /home/valery/reboot.txt 2>&1

然后我重新启动了系统。

$ sudo reboot

重启后。

$ cat reboot.txt 
hi

错误

  1. cron:@reboot 作业未运行
  2. Ubuntu 中的错误似乎在此 SO Q&A 中得到确认,标题为:@reboot cronjob not execution

有人在尝试同样的事情,却因为没有成功而感到沮丧。它的标题是:Thread: Cron - @reboot jobs not working

于 2016-05-11T20:38:41.250 回答