gpt4 book ai didi

shell - Cron xdotool 不运行

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:26 25 4
gpt4 key购买 nike

我是 crontab 的新手,我一直在尝试获得一个简单的 cron 作业。我想每 1 分钟按 F5 刷新 Mozzila Firefox。我正在使用 xdotool 按 F5。我有脚本 /usr/local/bin/refresh.sh:

#!/bin/bash  
xdotool search --name "Mozilla Firefox" key F5

如果我在命令行中运行它,它工作正常。和许可:

-rwxr-xr-x. 1 root root 89 15. čec 10.32 refresh.sh

crontab 我有:

*/1 * * * * cd /usr/local/bin && sh refresh.sh

但是由 cron 运行的脚本不起作用。谁能告诉我我做错了什么?

最佳答案

xdotool 命令是 X11 的自动化工具,它允许您模拟键盘/鼠标输入,但由于 crontab 是独立运行的,因此需要定义 DISPLAY 变量来指定使用哪个 X Window System 显示服务器.通常当您登录到桌面时,此变量会自动分配,但 crontab 正在隔离环境中运行作业(甚至没有关联的 tty),尤其是当您通过 root 帐户运行命令时。

简而言之,您应该像这样定义您的工作:

*/1 * * * * DISPLAY=:0 /usr/local/bin/refresh.sh

或者您可以在文件的开头定义变量(在 Vixie cron 的情况下)。参见:Variables in crontab?

还要确保运行该作业的用户已授予对所选 X 显示器的访问权限。如果您需要授予访问权限,则需要通过xhostsetfacl 命令分配权限并指定额外的XAUTHORITY 变量,参见:Xdotool using “DISPLAY=:0” for更多详情。

关于shell - Cron xdotool 不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38391952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com