脚本不工作,用到了xdotool,不知道是哪里出问题,如何排查

sh/bash/dash/ksh/zsh等Shell脚本
回复
kavensam
帖子: 1
注册时间: 2021-05-01 10:56
系统: ubutun20
送出感谢: 0
接收感谢: 0

脚本不工作,用到了xdotool,不知道是哪里出问题,如何排查

#1

帖子 kavensam » 2021-05-01 11:04

创建一个脚本,a.sh,放在/root下

代码: 全选

#!/bin/sh
echo 123 >> /home/song/123
	xdotool mousemove 580 860
	sleep 3
	xdotool mousemove 580 930
	sleep 3
	xdotool click 1
	xdotool mousemove 760 860
	sleep 3
	xdotool mousemove 760 930
	sleep 3
	xdotool click 1
	xdotool mousemove 940 860
	sleep 3
	xdotool mousemove 940 930
	sleep 3
	xdotool click 1
	xdotool mousemove 1120 860
	sleep 3
	xdotool mousemove 1120 930
	sleep 3
	xdotool click 1
	xdotool mousemove 1300 860
	sleep 3
	xdotool mousemove 1300 930
	sleep 3
	xdotool click 1
	let i++

etc
这是一个进行类似按键精灵的脚本
如果我直接bash /root/a.sh 会按预定的运行

然后 crontab -e
添加 */1 * * * * bash /root/a.sh

但是发现不工作,/home/song/123 有创建,后面的模拟鼠标移动点击的不工作。
头像
astolia
论坛版主
帖子: 5198
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 879 次

Re: 脚本不工作,用到了xdotool,不知道是哪里出问题,如何排查

#2

帖子 astolia » 2021-05-01 14:17

xdotool需要DISPLAY环境变量才能知道x11 server在哪里。cron在运行时拥有环境变量不包含DISPLAY,你需要手动在脚本里或者crontab里指定。

cron脚本执行中,如果有对stdout和stderr的输出,默认会发邮件提醒,参考 viewtopic.php?p=3217828&#p3217828
回复

回到 “Shell脚本”