程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

树莓派开机启动脚本

hfteth 2024-12-26 13:44:14 技术文章 16 ℃

多次尝试在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

Tags:

最近发表
标签列表