我正在使用树莓派制作一个网站展示板,我想在加载后2分钟将一些按键发送到浏览器窗口。 该脚本发送Web服务器的login详细信息。
我有一个脚本,发送从telnet控制台工作正常的击键:
#!/usr/bash username="username" password="password" echo "Setting Display" export DISPLAY=:0 echo "Sending Username" for char in $(sed -E s/'(.)'/'\1 '/g <<<"$username"); do xdotool key $char done xdotool key Tab echo "Sending Password" for char in $(sed -E s/'(.)'/'\1 '/g <<<"$password"); do xdotool key $char done xdotool key Return echo "Waiting 5 Seconds" sleep 5 echo "Setting Remember Password" xdotool key Tab xdotool key Tab xdotool key Return echo "Finished"
我试图将bash /home/pi/logon.sh
添加到rc.local文件 – 但它不会将按键发送到浏览器?
有人知道为什么吗? 正如我所说 – 它运行良好,从telnet窗口,如果我运行脚本,但从引导运行时不起作用。
我已经sleep 120
之前停止,如果立即发射,并等待浏览器已经加载 – 我知道脚本从rc.local运行,因为当我删除睡眠命令,我看到脚本回声。
有任何想法吗?
它不工作的原因是因为脚本需要作为用户pi运行。
我将rc.local脚本中的代码更改为: su - pi -c "bash /home/pi/logon.sh &"
这使得脚本以用户pi的方式运行,并且使用&符号使脚本与rc.local脚本分开运行。 ( http://hacktux.com/bash/ampersand )
把这个放在你的crontab中
@reboot /path/to/script
使用编辑它
#crontab -e