树莓派开机启动脚本

liftword2周前 (06-04)技术文章1

多次尝试在rc.local中添加自定义shell 脚本无果之后,终于使用crontab测试成功,树莓派可以使用crontab添加开机启动;
具体操作如下:
加入脚本为test.sh

#!/bin/bash
echo "Hello"

1、赋予脚本可执行权限

chmod 775 test.sh

2、编辑crontab,输入下面命令来编辑crontab

crontab -e 

第一次使用可能需要选择编辑器,选择趁手的就行,为选择vim;然后添加启动脚本

@reboot cd /home/pi/Program/shell && ./test.sh

3、可以重启测试了

1. 首先找个路径创建一个简单的自启脚本文件:

sudo nano my_script.sh

然后输入:

#!/bin/sh
touch /home/pi/test.txt
chmod 777 /home/pi/test.txt
echo "Hello Pi" >> /home/pi/test.txt

该shell 代码中,指定运行方式为sh,在pi 目录创建一个test.txt 文件,并添加权限
最后将Hello Pi 语句定向到该txt 文件中
保存,退出。
然后给该my_script.sh 文件添加执行权限:

chmod 777 my_script.sh

在此也可先测试一下脚本运行情况:

./my_script.sh

然后可以发现/home/pi 目录下多了test.txt 文件
2. 然后将该文件设置为开机自启:
首先打开rc.local 文件

sudo nano /etc/rc.local

然后在exit 0 前面添加如下代码:

su pi -c "exec /home/pi/my_script.sh"

该代码将会切换为pi 用户执行文件,且执行完后切换为原来用户
保存即可。
随后开机便会发现/home/pi 目录下多了一个test.txt 文件
若是要开机自启其他类型的文件,例如/home/pi 下的abc.py 文件,则先进入rc.local 文件:

sudo nano /etc/rc.local

然后添加:

sudo python /home/pi/abc.py &

最后的& 代表在后台运行
方法二:
1. 进入/home/pi/.config 路径

cd /home/pi/.config

2. 找到autostart 路径,没有就创建一个

mkdir autostart

3. 然后进入autostart 路径

cd autostart

4. 在autostart 中创建一个.desktop 尾缀文件,例如test.desktop

touch test.desktop

5. 该文件中输入:

[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、Exec、Icon 分别代表启动项的名称、备注、图标(随便找个png图片)、调用的指令(就是令你要自启的那个文件启动的shell 语句),例如sudo python /home/pi/test.py
6. 最后重启即可观察到该程序自启了。

DEMO
树莓派开机启动chrome浏览器

cd /home/pi/.config/autostart
mkdir chrome.desktop

编辑chrome.desktop

[Desktop Entry]
Name = chrome atuostart
Comment = start chrome and open url using settings done in LxInput
NoDisplay = true
Exec = chromium-browser --app="http://127.0.0.1:5000"  --kiosk --incognito --disable-pinch --overscroll-history-navigation=0

相关文章

Django后台管理系统(admin)的使用

Django自带的admin系统Django最强大的部分之一是自动生成的Admin界面。它读取模型数据来提供一个强大的、生产环境就绪的界面,使内容提供者能立即用它向站点中添加内容。它可以快速的开发出一...

利用Python监控儿子每天在电脑上面做了些什么

继打游戏、看视频等摸鱼行为被监控后,现在打工人离职倾向也会被监 控。有网友爆料称知乎正在低调裁员,视频相关部门几乎要裁掉一半。而在知乎裁员的讨论区,有网友表示企业安装了行为感知系统,该系统可以提前获知...

搭建Django后台管理前端API接口(本地)

一,创建Django项目我是使用的PyCharm创建的Django项目,如下图所示new_django.jpg二,关联Github首先在Github上创建一个新的项目,test_server。然后从P...

ubuntu部署python脚本为系统服务

以下是将Python脚本设置为Ubuntu系统服务的完整步骤:1. 创建系统服务文件创建一个新的systemd服务单元文件:sudo nano /etc/systemd/system/wechat_m...

第13天|Django3.0项目实战,Django有后台?

如果实现销售管理系统,还要想实现部门管理系统那么狼狈的话,那要Django有啥用了?你要知道,Django可是号称:只要很少的代码,程序员就可以轻松轻松地完成一个后台管理系统所需要的大部分内容,并进一...

python中的进程-实战部分

如果想了解进程 可以先看一下这一篇 python中的进程-理论部分multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_co...