1、在/home/pi/.config/目录下新建一个名为 autostart 的文件夹:

mkdir .config/autostart


2、在 autostart 目录下新建mqtt.desktop (后缀必须是.desktop):

vi .config/autostart/mqtt.desktop


文件内容如下:

[Desktop Entry]

Type=Application

Name=mqtt

NoDisplay=true

Exec=/home/pi/service/iot-service/run.sh


3、重启 reboot

**注意:这个方法除了依赖桌面之外,如果开启了多个桌面则会导致自定义的程序多次启动。比如系统启动桌面会调用一次testboot.sh脚本,如果再用远程桌面登录到树莓派,脚本会再执行一次。**

其他方法试用还是无效,只有桌面的有效,树莓派4b的设备

参考:【教程】树莓派程序开机自启动方法总结