Raspberry pi 树莓派Python脚本开机启动(autostart需要包含桌面的OS)

有时候,写好了一些python脚本,想让它在树莓派开机的时候自动运行。这该怎么做呢?
通过网络搜索了很多方法,踩了不少坑,找到一个在树莓派3B+和树莓派4上都能用的方法!

值得注意的是这个方法,需要是有桌面界面的树莓派OS方能用。


1,返回用户默认目录:

cd

2,打开隐藏在用户默认目录的文件夹:

cd .config

3,使用ls命令,.config文件夹里是否有一个autostart的文件夹,如果没有则新建一个:

mkdir autostart

4,打开autostart文件夹:

cd autostart

5,在autostart文件夹里,使用touch命令新建一个run.desktop文件:

touch run.desktop

6,使用nano编辑器,对其进行编写:

nano run.desktop

7,编写的内容,至少包含如下信息:

 [Desktop Entry]
Type=Application
Exec=python /home/pi/main.py

ctrl+o保存,按ctrl+x退出。

如果是python3的脚本,请使用Exec=python3 /home/pi/main.py

.

这里的/home/pi/main.py 就是你要开机运行的python脚本的绝对路径。
再顺带提一下一个很重要的细节:就是脚本里需要另外加载的图片或者视频或者文本等等,都必须要是绝对路径。不然,会造成脚本不仅没有运行,而且也看不到任何错误信息。

.

[Desktop Entry]的参数还有很多,其中:
Type是定义桌面条目的类型(翻译太好,请指正),分别是Application,Link,Directory ;
Exec是表示调用的指令;
……
更多详细的Desktop Entry参数请参考 https://developer.gnome.org/desktop-entry-spec/


现在,重启你的树莓派,
我们要做的是验证是否自动启动成功!
这时使用查看进程的ps指令,查找是否有在运行main.py这个脚本

ps -ef | grep main.py

如果有看到该进程在运行,则说明python脚本开机后自动运行了。