树莓派3B+开机自启动Python程序

树莓派 专栏收录该内容
14 篇文章 3 订阅

参考:https://blog.csdn.net/c80486/article/details/8460325
参考:https://blog.csdn.net/A_lPha/article/details/53515943
参考:https://blog.csdn.net/la9998372/article/details/77886758?tdsourcetag=s_pcqq_aiomsg

如果把树莓派(raspberry pi)做成一个电器的话,一上电,必须支持几个动作

1、 自动登录

2、 自动运行startx启动窗口系统

3、 窗口系统启动后,自动运行自定义的程序(一般是应用主界面)

研究了下博主的方法始终没有成功,经过一番折腾原来是出现了权限的问题。下面展开如下方法:

  1. 实现自动登录
sudo nano /etc/inittab

向下滚动,找到行 1:2345:respawn:/sbin/getty 115200 tty1
注释掉这一行,修改为 #1:2345:respawn:/sbin/getty 115200 tty1
在该行下增加一行内容 1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1

原理:linux启动时,会读取inittab文件,执行其中的登录命令,以pi用户名自动登录

  1. 实现自动运行startx启动窗口系统
sudo nano /etc/rc.local

在文件尾部(在exit 0前)加上一行 su pi -c startx

这个命令的意思是,以pi用户的身份,执行 startx

重新启动即可

sudo reboot

这一次启动后,将直接以pi用户登入系统,并立即启动 startx

原理:linux启动时,用户登录后,会执行/etc/rc.local脚本文件,一般我们把要自动执行的命令放在该文件中

  1. 窗口系统启动后,自动运行自定义的程序的实现方法

在/home/pi/.config下找到 autostart(没有就新建一个)的文件夹

进入/home/pi/.config文件夹:

cd /home/pi/.config

查看autostart目录是否存在 :

ls -l

如果不存在,创建autostart目录;否则,跳过这一步:

mkdir autostart

在autostart文件夹内创建一个***.desktop结尾的文件(自拟文件名,注意后缀必须是.desktop)

touch my.desktop

编辑.desktop文件:

sudo nano my.desktop

输入以下文件内容:

[Desktop Entry] 
Name=test 
Comment=Python Program 
Exec=python /home/pi/test.py 
Icon=/home/pi/python_games/4row_black.png 
Terminal=false 
MultipleArgs=false 
Type=Application 
Categories=Application;Development; 
StartupNotify=true

Name、Comment、Icon 可以自定,表示启动项的名称、备注和图标。Exec 表示调用的指令,和在终端输入运行脚本的指令格式一致。如果你的树莓派没有png图标,那么就和我一样,找到python_game文件夹,那里有几个简单的图标可以现成拿来使用。

在这里千万别以为sudo reboot就能程序自启动了,一定要设置程序的权限
比如我的程序是这样设置:sudo chmod 777 /home/pi/Desktop/baidu_api_face.py,设置成可读可写可执行方可成功

  1. 查看进程是否运行
ps -ef |grep python

或者:

pstree |grep python
  • 6
    点赞
  • 0
    评论
  • 41
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:书香水墨 设计师:CSDN官方博客 返回首页

打赏作者

蓝色鲜橙多

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值