在 Arch Linux 中的 Cronjob 中运行命令

在 Arch Linux 中的 Cronjob 中运行命令

我试图在 cronjob 中的每次系统启动时运行一些命令,但它似乎不起作用,到目前为止我已经在 Arch 中安装了 cron,启用并启动它

systemctl enable cronie
systemctl start cronie

然后我进入一个新的 crontab 使用

crontab -e

并添加了以下几行:

@reboot /bin/xbindkeys
@reboot /bin/setxkbmap -layout gb

我需要这两个命令在每次启动时运行,第一个命令是启动 xbindkeys,第二个命令是将我的键盘布局设置为 GB 布局。当我重新启动系统时,crontab 似乎没有做任何事情,如果我能得到一些帮助,我将不胜感激,谢谢!

编辑:这是以下的输出:

journalctl -xe | grep CRON
Aug 26 14:30:48 archlinux crond[329]: (CRON) STARTUP (1.5.5)
Aug 26 14:30:48 archlinux crond[329]: (CRON) INFO (Syslog will be used instead of sendmail.)
Aug 26 14:30:48 archlinux crond[329]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 5% if used.)
Aug 26 14:30:48 archlinux crond[329]: (CRON) INFO (running with inotify support)
Aug 26 14:30:49 archlinux CROND[423]: (user1) CMD (/bin/xbindkeys)
Aug 26 14:30:49 archlinux CROND[424]: (user1) CMD (/bin/setxkbmap -layout gb)
Aug 26 14:30:49 archlinux CROND[348]: (user1) CMDOUT (Cannot open display "default display")
Aug 26 14:30:49 archlinux CROND[348]: pam_unix(crond:session): session closed for user user1
Aug 26 14:30:50 archlinux CROND[349]: pam_unix(crond:session): session closed for user user1

答案1

您似乎使用了错误的工具来完成这里的工作;相反cron,您可以将脚本放入/etc/init.d.如果您使用 Debian,您可以在 找到一些帮助/etc/init.d/README

相关内容