在Raspberry PI上启动后运行Shell脚本

我正在使用树莓派制作一个网站展示板,我想在加载后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