转载处:
又一个让树莓派开机运行Python脚本的方法
Linux 创建启动器(.Desktop文件)
首先,树莓派使用的是官方推荐的镜像:RASPBIAN;
在树莓派上常常会需要开机自启动python程序,方法如下:
机制上类似于 Windows 的“开始”菜单中的“启动”菜单
在 /home/pi/.config 下创建一个文件夹,名称为 autostart,并在该文件夹下创建一个xxx.desktop文件(文件名以.desktop结尾,前面可以自定义),文件内容如下:
[Desktop Entry] Name=example Comment=My Python Program Exec=python /home/pi/example.py Icon=/home/pi/example.png Terminal=false MultipleArgs=false Type=Application Categories=Application;Development; StartupNotify=true
以上 Name、Comment、Icon 可以自定,分别表示这个启动项目的名称、备注以及显示的图标。Exec 表示调用的指令,和在终端输入运行脚本的指令格式一致。
之后 sudo reboot 重启,就可以看到 example.py 在树莓派启动后也自动启动了
个人说明:
我使用的是深度Deepin15.6的系统,以此举例:
在主目录,/home/jakey (树莓派是 /home/pi) 是看不到 .config 文件夹的,需要取消隐藏,取消隐藏的方式只需按组合件 Ctrl + H 即可
未显示隐藏文件夹↓:
按了组合按键后,显示隐藏文件夹↓,就可以看到 .config 文件夹了:
关于.desktop的说明,可以参考链接说明:
Linux 创建启动器(.Desktop文件)
语法解释:
关键词 | 意义 |
---|---|
[Desktop Entry] | 文件头 |
Encoding | 编码 |
Name | 应用名称 |
Name[xx] | 不同语言的应用名称 |
GenericName | 描述 |
Comment | 注释 |
Exec | 执行的命令 |
Icon | 图标路径 |
Terminal | 是否使用终端 |
Type | 启动器类型 |
Categories | 应用的类型(内容相关) |
示例说明(此为在Deepin上显示的效果,树莓派上显示可能不一样但方法是一样的):
在桌面新建一个文件,并将其命名为: Demo Desktop.desktop
按回车确定以后,变成如下图标
使用文本编辑器打开文件,输入脚本信息,我以Sublime Text示例:
1 [Desktop Entry] 2 Categories=Application;Programme; 3 Comment=Just a Demo 4 Encoding=UTF-8 5 Exec=python /home/jakey/Jakey/SlaveDebugTool/main.py 6 GenericName=Demo Desktop Name 7 Icon=/home/jakey/Pictures/Aurora.jpg 8 Name=Demo Desktop 9 Terminal=false 10 Type=Application
可能常需要修改的地方:
1、执行脚本
Exec=python /home/jakey/Jakey/SlaveDebugTool/main.py
你要执行的脚本,我使用的是绝对路径。将其替换成你想要执行的脚本即可;
这里我原先是想要执行如下语句,但是没有成功,若有知悉原因或解决方案的,望不吝告知,万分感谢:
cd /home/jakey/Jakey/SlaveDebugTool/ && python main.py
上述命令可以在终端运行~但是自启动运行是无效的;
2、图标
Icon=/home/jakey/Pictures/Aurora.jpg
更改成自己喜欢的图标所在路径即可
更改完毕后,保存,显示成设置的图标,双击后可以执行脚本,示例脚本为一个串口调试工具:
这样将桌面生成的文件放到 .config的autostart文件夹就可以开机自启动该调试工具了