1.非界面程序
修改rc.local文件,在终端输入并回车:
pi@raspberry:~ $
sudo nano /etc/rc.local
在打开的文本中找到exit 0,在此之前添加的代码在启动时都会被执行,在exit 0 之前添加一行代码:
su pi -c
"exec /home/pi/testboot.sh"
ctrl+o保存,ctrl+x退出,然后在终端输入:
sudo reboot
重启系统测试。
su命令是指定在pi用户下执行这条命令,-c 表示执行完这条命令之后恢复原来的用户。
注意:系统启动时在执行这段代码时是使用root用户权限的,如果不指定pi用户,可能会因为权限问题导致脚本执行失败。
2.界面程序(以 QT 说明)
以用户pi(默认就是pi)打开终端,输入以下命令:
sudo nano .profile
在打开的文档后面增加你要增加一句:
export DISPLAY
=:0
&& /home/pi/file
&
其中/home/pi/file是要启动的文件的路径,加入“&”可以防止阻塞。如果需要root权限,可以这样:
export DISPLAY
=:0
&& sudo /home/pi/file
&
说明
rc.local是在系统启动后、用户登录前运行的,这时显然无法运行qt程序,而 .profile 是在用户登录后才运行的。