1.开始使用的修改rc.local 的方式,不管怎么样,都不行,之后采用了如下的方式;
2.
树莓派开机启动流程:自动登录–>自动启动窗口–>自动运行用户程序
打开控制终端
cd /home/pi/.config
(.config为隐藏文件夹,如果要看,需要再pi目录下输入ls-a)
在.config目录下添加一个文件夹autostart,并进入该文件夹
mkdir autostart
cd autostart
生成一个*.desktop文件(如:start.desktop)
sudo nano start.desktop
在文件中输入以下内容
[Desktop Entry]
Type=Application
Exec=Path
最后一句Exec的值就是要启动的程序名(最好是全路径的可执行文件名,如:Exex = /home/pi/start,start为可执行文件),然后重启即可。
如果程序在初始化中进行了网络的初始化,在初始化之前增加延时函数,例如在main函数中,在QWidget w;前增加sleep(10);
注意:启动的可执行文件,代码中初始化的时候不能有获取界面信息的内容,如this->move(xpos,ypos);this->resize(width,height);
原理:startx后,LXDE窗口管理器会找到~/.config/autostart目录下的所有 .desktop文件,一一执行
把上述全部串起来,就是一上电:自动登录-自动启动窗口-自动运行程序
本文介绍了一种在树莓派上实现程序自动启动的方法,通过在~/.config/autostart目录下创建.desktop文件,指定要启动的程序路径,确保程序在开机后能自动运行。文中还提到了在程序初始化前增加延时函数的技巧,以及避免在启动程序中使用界面信息的重要性。

1069

被折叠的 条评论
为什么被折叠?



