我正在使用Raspberry Pi制作Web亭显示板,并且我想在加载后2分钟将一些钥匙笔触发送到浏览器窗口。脚本发送Web服务器的登录详细信息。
我有一个脚本,该脚本发送了从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运行,并且使用AmperSand将脚本运行到rc.Loc.Loc.Loc的脚本中。(http://hacktux.com/bash/ampersand)
将其放入您的crontab
@reboot /path/to/script
使用
编辑它#crontab -e