最近在项目中需要用到树莓派开机自启动多个程序,网上也看到很多前辈的经验,学到很多。现在将自己实践的结果作一分享,希望跟大家一同学习!
网上看到方法有很多,有一篇感觉很好,连接如下:
https://blog.csdn.net/A_lPha/article/details/53515943
其中提到修改rc.local文件的方法,但是我没有成功;另一种方法是将需要执行的程序作为桌面程序实现上电自启动,具体方法如下:
一、在/home/pi/.config下找到autostart(没有就新建一个)的文件夹
进入/home/pi/.config文件夹:
$:cd /home/pi/.config
查看autostart目录是否存在 :
$:ls -l
如果不存在,创建autostart目录;否则,跳过这一步:
$: mkdir autostart
进入autostart目录:
$: cd autostart
二、在该文件夹内创建一个.desktop结尾的文件(自拟文件名,注意后缀必须是.desktop)
创建.desktop文件:
$: touch filename.desktop
编辑.desktop文件:
$: vim filename.desktop
进去之后,按A键或O键键进入编辑模式。
三、在第二步中新建的文件中添加如下内容(添加是将后面小括号内的说明连同小括号一同去掉):
[Desktop Entry](注意:方括号必须是英文格式的方括号)
Name=python(名字自拟)
Comment=Python program(内容说明自拟)
Exec=python3 wifitz.py(这里是中端执行的命令,比如我这里在终端命令启动程序的话,我在命令提示符后面执行
命令$:python3 wifitz.py(程序的路径最好是绝对路径,比如我这里应该是
$:python3 /program/wifitz.py))
Icon=/home/pi/python_games/4row_arrow.png(图标自拟,可以从系统其他地方直接法制个图标路径过来)Terminal=false
MultipleArgs=false
Type=Application
Categories=Application;Development;
StartupNotify=true
(第三步操作具体详见上述链接)
这里主要是第一行的方括号需要注意下(本人已入坑),还有第4行的执行程序语句最好加绝对路径。
四、保存文件重启树莓派,sudo reboot
编辑结束后,先按Esc键,再按 :+; 键,左下角出现:时,用wq保存文件并返回到终端。
重启树莓派,sudo reboot。
五、重启成功后,在linux终端使用命令ps aux查看当前运行的所有程序,如果程序正常启动,可以在这里找到,本人查找结果如下图:
六、如果需要启动多个程序,我试过用上述方法添加三个.desktop文件,结果失败了;所以,如果需要启动多个程序,建议创建一个.sh脚本文件,将多个程序的终端启动命令添加到.sh文件中,然后将上述第三步中的第4行改为Exec=./filename.sh。接下来执行第4步和第5步查看执行结果,我这里能够成功启动三个python程序,如下图: