一旦我的计算机使用 cron 启动,我想执行一个脚本。但它不起作用。
我的操作系统是 Ubuntu MATE 16.04 LTS。
一旦我的 Odroid 启动,键盘仍然是 qwerty。
我究竟做错了什么 ?
编辑:
我试过@reboot echo "hi" > /home/valery/reboot.txt 2>&1
它有效,所以问题不在@reboot 作业中。
编辑:解决方案
我从系统>首选项>个人>启动应用程序运行我的脚本它工作正常。
该setxkbmap
命令依赖于$DISPLAY
环境变量来指定它将影响的 X 显示。
在我的系统上,如果我在没有设置的情况下运行它$DISPLAY
,我会得到:
$ setxkbmap fr
Cannot open display "default display"
Crontab 没有$DISPLAY
为它运行的作业设置。事实上,它只提供了一组最小的环境变量(在我的系统上,只是$HOME
、$LOGNAME
、$PATH
、$LANG
、$SHELL
和$PWD
)。
任何命令打印到stdout
或stderr
通常将通过电子邮件发送给 crontab 的所有者。您的系统上可能会收到一封电子邮件,其中包含与上述类似的错误消息。
@reboot
当 crontab 执行作业时,X Windows 可能还没有运行。您必须找到另一种方法来自动运行该命令,或者手动运行它。(或者可能有另一种我没有想到的方法。)
PS:
试试这个例子。如果它不起作用,那么尝试找到一个错误
替换/home/valery/
为您的主文件夹的路径:
$ crontab -l
@reboot echo "hi" > /home/valery/reboot.txt 2>&1
然后我重新启动了系统。
$ sudo reboot
重启后。
$ cat reboot.txt
hi
有人在尝试同样的事情,却因为没有成功而感到沮丧。它的标题是:Thread: Cron - @reboot jobs not working。