当前位置:首页 » 编程软件 » 树莓派开机脚本

树莓派开机脚本

发布时间: 2022-11-28 00:11:22

⑴ 怎么让 Raspberry Pi 里的程序开机自动运行

树莓派的/home/pi/track目录下,有一个名叫main的程序,现在,我已经可以在SSH或终端中,手工输入命令:sudo ./main 运行成功。((注意,你在看本教程的时候,一定要百分百的确定,你的程序是可以手工在SSH中执行成功的)
第一步:制作sh脚本
在程序main)的同级目录即/home/pi/track下,使用如下命令:
sudo nano clientStart.sh

输入如下脚本内容:
#!/bin/shcd /home/pi/tracksudo ./main

(其实就是将程序运行路径与程序执行命令写在了一个脚本里)
然后按ctrl+x退出,再按Y保存,再按Enter,此时回到了主界面。
第二步:修改clientStart.sh的权限
在主界面里输入以下命令:
sudo chmod 777 /home/pi/track/clientStart.sh

一定要修改这个权限,否则无法执行
第三步:向rc.local添加我们制作的这个脚本,用于开机启动。
使用命令:
sudo nano /etc/rc.local

回车后,就进入了rc.local,这时,在exit 0的上一行,写入如下程序:
/home/pi/track/clientStart.sh start

按ctrl+x,再按Y保存,再按Enter,此时,又回到了主界面。
(上面的步骤,实际上就是将上面制作的脚本添加到rc.local里)
上面的做完后,重启树莓派,main就可以自动运行了,以后,只要一通电,它就会自己运行。

⑵ 树莓派设置开机启动脚本

由于北邮校内网需要Drcom拨号,每次用curl命令很麻烦,所以开始了这次写开机启动脚本的过程。

init 进程读取 /etc/inittab文件中的信息,并进入预设的运行级别。

Debian中的运行级别

查看系统当前运行级别使用 runlevel 命令,通常情况下 /etc/rcS.d/目录下的启动脚本首先被执行,然后是/etc/rcN.d/目录,N为 /etc/inittab 中的initdefault。
/etc/rc2.d 中的部分文件如下:

有K开头的文件,有S开头的文件,K的意思是Kill,S为Start。K和S后面紧跟着的数字就是关闭和启动的顺序,数字越大关闭或启动顺序越靠后。
将自定义脚本放在 /etc/init.d 目录下面,就可以使用 service yourshellname start|stop 当然需要脚本中写好start,stop功能。但是不能开机自启动。

使用update-rc.d函数将脚本设置为开机自启动。
1)设置脚本启动和关闭依赖$remote_fs,$syslog,并且启动运行级别为2-5,关闭运行级别为0,1,6。
update-rc.d foobar defaults
上面一条命令就会在/etc/rc2.d rc3.d rc4.d rc5.d中创建软链接 S03drcom -> ../init.d/drcom ,在rc0.d rc1.d rc6.d中创建软链接 K01drcom -> ../init.d/drcom 。
2)设置脚本启动关闭都为顺序20,并且启动运行级别为2-5,关闭运行级别为0,1,6。
update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
同理。

3)移除连接。
update-rc.d yourshellname remove

参考文献:
[1] 开机自动执行脚本 与 update-rc.d
[2] 树莓派开机自启动脚本制作
[3] Debian init 开机启动管理
[4] 树莓派开机启动程序及启动脚本的制作

⑶ 树莓派系统怎么运行py文件

一、首先写个简单的python
脚本
脚本很简单,就是树莓派上一个灯闪烁程序
文件保存在/home/pi/script/ledblink.py

开机启动脚本
保存脚本为/etc/init.d/ledblink文件

设置python脚本开机启动
这样就完工了,重启树莓派就会发现led自己闪烁了,停止用sudo
service
ledblink
stop就行

⑷ 树莓派开机自启PPTP以及NAT内核转发

1. 安装PPTPD
apt-get install pptpd
2. 配置PPTP服务器与客户端IP
nano /etc/pptpd.conf
localip 192.168.4.1 #PPTP服务端IP
remoteip 192.168.4.100-200 #PPTP客户端IP范围
3. 配置PPTP客户端使用的DNS
nano /etc/ppp/pptpd-options
ms-dns 192.168.1.1 #这里配置路由器的IP,速度比较快

⑸ 智慧家庭 - HA(1) - 在树莓派上架设 Home Assistant

本文索引:

Home Assistant (以下简称 HA) 是一个开源的智能家居网关项目,它可以将市面上所有支持的智能硬件设备整合到一起进行统一管理,并提供了默认的 Web UI。HA 社区开发了海量组件以支持市面上主流的设备,在 IoT 中扮演了大脑的角色。在家庭服务器上架设 HA 有多种实现方式,官方也制作了对应的系统镜像 Hass.io ,并推荐使用“树莓派3B+”作为其宿主机器。

为了验证预期效果,最好提前准备好以下设备:

通过 Docker Image 安装及更新一种服务免去了为该服务准备依赖环境的繁琐步骤, HA 官方推出了对应的 Docker Image 且支持树莓派的 CPU 架构,本文主要介绍通过 Docker 安装 HomeAssistant 。如果你不喜欢 Docker ,可以参考 Install Home Assistant 以其他方式安装。

使用 Docker 安装 HA 是非常简单的,官方提供了支持 Raspberry Pi 3 Docker Image 和“ 安装指南 ”:

参数 /path/to/your/config:/config 映射 container 的 /config 至本地主机的物理路径,此处我选择了 ~/.homeassistant 。如果希望安装指定版本的 Image,参考“ HA 在 Docker Hub 上的 Tag 列表 ”选择版本,例如 0.69.1:

安装完成后, HomeAssistant 的 container 已经开始运行:

查看刚刚指定的配置文件目录,出现了以下文件及目录:

config 目录(此处为 ~/homeassistant/ )下的 configuration.yaml 是配置文件的入口点,其他由 yaml 为扩展名的配置文件均是为了实现独立管理而单独分离出来的文件,可在 configuration.yaml 文档中找到如下入口载入这些配置文件:

8123 是 Web UI 的默认端口,尝试在浏览器中输入 http://{ip-address-to-raspberry}:8123 访问,得到如下结果:

HA 会自动查找接入同一网络中的智能设备,是因为 configuration.yaml 中默认配置了 Discovery 组件:

一切正常之后,每次重启树莓派必须手动执行 docker container start [Container ID]/NAME 的方式来启动 HA 服务,我们需要将其做成服务或加入开机启动脚本,编辑 /etc/rc.local 文件:

重启树莓派, HA 开机启动成功,至此,一个基本款的家庭 HA 搭建就完成了。

HA 目前仍然在快速迭代中,对应的 Docker Image 也会同步放出。要更新以 Docker Container 运行的 HA 实例,只要重新拉取最新版本的 Image 即可:

⑹ 树莓派上python脚本程序怎么运行

树莓派中sudo是不需要密码的。 所以原则上可以在脚本里切换成ROOT用户。

你这个脚本做什么用,如果只是切换完了,执行一个命令,直接用su就可以搞定,印象中是su -c。su -c USER CMD

如果你想执行完脚本后还保留在root状态中,直接用sudo -s就可以

⑺ 树莓派linux启动过程简介

    昨天在写关于linux设置脚本开机启动的文章时,有个疑问就是开机时怎么确认运行级别,然后遍历执行/etc/rcN.d/目录下的所有服务程序。带着疑问, 在前人的基础上 学习总结一下linux系统初始化的工作的内容,现在树莓派4B上展示出来。

1、加载内核

    当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。树莓派4B的内核是Raspbian GNU/Linux 10 (buster),基于Debian。

2、初始化进程init

    内核文件加载以后,运行第一个程序init,它的作用是初始化系统环境。init位于目录/sbin,进程号PID为1,即1号进程,其他所有进程都由init衍生,是init的子进程。

    同时还有个0号进程,idle进程,在系统初始化时由内核kernel自身从无到有创建,通过调用kernel_thread创建一个内核线程去执行init函数,0号进程创建1号进程。

3、运行级别

    具体介绍请参考笔者的文章-Linux运行级别简介  ,但是开机时是怎么确定运行级别的呢?

    init进程首先读取文件 /etc/inittab,它是运行级别的设置文件。但是各个发行版不太一样,init的配置文件也不一样,有可能使用/etc/event.d里面的配置文件,最新版的改用为/etc/init目录。

4、开机启动程序

    具体详情请参考文章-linux中/etc/init.d设置开机启动 ,确定运行级别后,执行rcN.d目录下的文件,这些链接文件是连接到init.d目录下的程序。init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。

    比如运行级别为5(图形化多用户)时启动的程序:

5、用户登录

    开机启动程序加载完毕以后用户登录。用户的登录方式有三种:

    命令行登录:init进程调用getty程序。

    ssh登录:init进程调用sshd程序。

    图形界面登录:init进程调用显示管理器,Gnome图形界面对应的显示管理器为gdm。

6 、login shell

    默认shell时bash,命令行界面,让用户可以直接与操作系统对话。读取环境变量,具体请参考笔者文章-Linux环境变量的设置。

⑻ 树莓派怎么让他开机自启动程序

通过 修改 /etc/rc.local 文件 把启动程序的shell命令加入进去即可以

下面以树莓派做实验

sudo nano /etc/rc.local


可以看到开机后程序自动运行

⑼ 树莓派怎么开机

插上电源,通电即开机。
如果是树莓派3或4,就是有40根针的gpio接口的树莓派。
关机后,如果还没有断电,可以短接一下第5和第6根针,随即放开,即可实现重新开机。

⑽ 树莓派通过SSH登录,无法运行“startx”命令进入系统是什么原因

SSH暂时不支持图形界面。可以追问望采纳谢谢
VNC远程登录树莓派的图形界面的方法:
安装VNC需要使用命令行。如果需要远程操作安装VNC,就必须通过SSH登录到命令行界面。
安装
树莓派命令行:
sudo apt-get install tightvncserver

安装好之后请一定先使用此命令设置一个VNC密码:
vncpasswd

(先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要。)

开机自动启动
设置开机启动,需要在/etc/init.d/中创建一个文件。例如tightvncserver:
(注:启动脚本的名称,有和程序名一致的习惯)
sudo nano /etc/init.d/tightvncserver

内容如下:(putty窗口中按右键=粘贴)#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO

# More details see:
# http://www.penguintutor.com/linux/tightvnc

### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='pi'
### End customization required

eval cd ~$USER

case "$1" in
start)
# 启动命令行。此处自定义分辨率、控制台号码或其它参数。
su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1'
echo "Starting TightVNC server for $USER "
;;
stop)
# 终止命令行。此处控制台号码与启动一致。
su $USER -c '/usr/bin/tightvncserver -kill :1'
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0

注:少数玩家默认用户不是pi的请自行更改USER变量
按Ctrl+X,回答Y(存盘)退出nano编辑器。
然后给tightvncserver文件加执行权限,并更新开机启动列表。

1
2

sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults

电脑登录VNC
下载Windows客户端RealVNC Viewer。
登录地址输入“IP地址:控制台号码”,0号控制台可不加号码。
也可使用Android版VNC客户端,下载地址:http://android.d.cn/software/19334.html
附:手工启动与参数(以下用处不大,没兴趣请略过)
使用此命令手工启动VNC服务器程序:

1

tightvncserver -geometry 800x600 :1

如果首次启动,并且未曾使用vncpasswd命令设置密码,程序会要求设置一个。
开机启动很方便。如果没理由,真的不推荐手工启动。
命令行参数说明:
一、:1,指定控制台的号码。
启动多个控制台,可以提供互不影响的多个桌面环境。(大多数人不用多用户操作所以没意义)
可以不加此参数,tightvncserver会自动寻找从1开始的下一个空闲控制台。
加上此参数,会强制使用指定的控制台,如果此控制台已经启动则报错。加此参数可有效防止无意多次启动程序(会启动多个控制台)白白浪费系统资源。
特殊的0号控制台
0号控制台就是连接真实显示器真正输出图像的那个桌面。
对于VNC客户端,不输入端口号登录,默认就登录到0号控制台,方便。
但是因为0号是真正的桌面,所以和开机启动桌面环境,或者自己用startx命令,都存在啰嗦的冲突。
到头来是个麻烦。因此自动启动的配置教程中,一律使用1号控制台。
二、-geometry 800×600,分辨率。可以不加。
终止VNC控制台:
tightvncserver -kill :1
查看正在运行的控制台列表:

1

ps ax | grep Xtightvnc | grep -v grep

via

热点内容
在linuxpython 发布:2024-04-27 22:38:57 浏览:316
机顶盒密码是在哪里 发布:2024-04-27 22:32:47 浏览:158
名图买哪个配置值得买 发布:2024-04-27 22:32:36 浏览:878
比亚迪秦pro选哪个配置好 发布:2024-04-27 22:32:34 浏览:534
logn算法 发布:2024-04-27 21:58:36 浏览:596
11选五的简单算法 发布:2024-04-27 21:46:14 浏览:71
ebay图片上传 发布:2024-04-27 21:31:50 浏览:587
微信电脑登录显示服务器错误 发布:2024-04-27 20:58:08 浏览:135
压缩弹簧安装 发布:2024-04-27 20:35:43 浏览:371
淘宝视频无法上传视频 发布:2024-04-27 20:31:27 浏览:643