树莓派程序开机自启动方法
树莓派启动指南设计-无需屏幕键盘

目录第一步:格式化SD卡 (2)第二步:下载安装系统镜像 (2)第三步:通过SSH连接树莓派 (3)第四步:设置树莓派 (5)第五步:使用windows远程桌面访问树莓派桌面 (7)第六步:建立VNC获取树莓派桌面 (8)第七步:安装3.5寸触摸屏驱动 (10)第八步:配置摄像头 (16)第一步:格式化SD卡说明:未安装过Raspbian系统的SD卡可通过windows直接格式化,若要重新安装系统需要通过SDFormatter软件格式化。
因为windows无法识别SD文件类型,导致无法完全格式化,建议使用软件格式化SD卡。
1、下载SDFormatter软件下载地址:file.ncnynl./rpi/SDFormatterv4.zip2、在电脑端解压安装然后插入你要格式化的Miscro SD卡,然后打开软件运行3、选择对应Miscro SD卡对应的磁盘符4、确认无误,点击格式化既可以完成格式化后,SD卡为FAT32格式第二步:下载安装系统镜像1、下载安装系统写入工具win32diskimager下载地址:https:///projects/win32diskimager/2、下载系统镜像下载地址:https:///downloads/raspbian/一般选择RASPBIAN STRETCH WITH DESKTOP镜像,下载种子文件通过迅雷下载更快。
3、下载好文件后:启动Win32DiskImager,映像文件处选择Raspbian系统映像文件,设备处选择盘符为你读卡器的盘符,点写入,然后点一下Yes确定操作,开始系统写入,写入完成,提示成功。
将Micro SD卡插入树莓派,接通电源启动4、备份系统新建一个后缀为.img的文件,在Win32DiskImager中打开,然后选择设备,点击读取,等待读取完成,SD卡中的映像便备份到此img文件中了。
之后可通过读取操作完成恢复。
第三步:通过SSH连接树莓派1、无显示器获取树莓派IP若路由器有多余网线接口可直接通过网线连接路由器和树莓派上网,否则可以使用如下方式使树莓派联网:将网线一端接到树莓派,另一端接到笔记本。
ubuntu18.04设置开机自启动程序(亲测有效:包括在ubuntu服务器,xaiver。。。

ubuntu18.04设置开机⾃启动程序(亲测有效:包括在ubuntu服务器,xaiver。
情况A(以root⽤户运⾏程序,此⽅法不会加载⽤户环境变量,需要加载⽤户环境变量的请看情况B)1. sudo rm /etc/systemd/system/rc-local.service (如果有该⽂件则删除,没有不管)2. sudo vim /lib/systemd/system/rc-local.service确保内容如下(只需要在原⽂后⾯加⼊[Install]块的内容即可):# This file is part of systemd.## systemd is free software; you can redistribute it and/or modify it# under the terms of the GNU Lesser General Public License as published by# the Free Software Foundation; either version 2.1 of the License, or# (at your option) any later version.# This unit gets pulled automatically into multi-user.target by# systemd-rc-local-generator if /etc/rc.local is executable.[Unit]Description=/etc/rc.local CompatibilityConditionFileIsExecutable=/etc/rc.localAfter=network.target[Service]Type=forkingExecStart=/etc/rc.local startTimeoutSec=0RemainAfterExit=yes[Install]WantedBy=multi-user.targetAlias=rc-local.service2. sudo vim /lib/systemd/system/rc-local.service#!/bin/sh -eecho "test info" > /usr/local/test.log &exit 0【注意】:1). #!/bin/sh -e (不要⽤#!bin/bash)2). ⾃⼰需要启动的程序写在exit 0之前3). ⾮后台程序需要在命令租后加上&,否则会失败4). 路径⽤绝对路径,不要⽤~这种符号3. sudo systemctl enable rc-local该命令是将刚才的/lib/systemd/system/rc-local.service 内容⽣效,会产⽣⼀个/etc/systemd/system/rc-local.service -》 /lib/systemd/system/rc-local.service【以上步骤没问题的话,接下来4,5不会报错】4. sudo systemctl start rc-local5. sudo systemctl status rc-local【确定没报错则重启电脑,查看是否⽣效】情况B(以特定⽤户运⾏程序,此⽅法可以加载⽤户环境变量)1. 以A情况执⾏(步骤2⼀个地⽅不同)原先步骤2:sudo vim /lib/systemd/system/rc-local.service#!/bin/sh -esudo -u username echo "test info" > /usr/local/test.log &exit0【注意】:只需要将⾃⼰的命令前加上sudo -u usrname即可2. sudo systemctl set-default graphical.target【拓展】:⼀、开机默认进⼊命令⾏模式1、输⼊命令:sudo systemctl set-default multi-user.target2、重启:reboot要进⼊图形界⾯,只需要输⼊命令startx从图形界⾯切换回命令⾏:ctrl+alt+F7(有的是F1)⼆、开机默认进⼊图形⽤户界⾯1、输⼊命令:sudo systemctl set-default graphical.target2、 sudo vim /lib/systemd/system/getty@.service将下⾯ExecStart=-/sbin/agetty --noclear %I $TERM改为ExecStart=-/sbin/agetty -a (username) --noclear %I $TERM #该步骤为命令⾏免密登录,若是不需要,可不⽤该步骤3、重启:reboot要进⼊命令⾏模式:ctrl+alt+F2从命令⾏切换到图形界⾯:ctrl+alt+F7(有的是F1)。
树莓派初始配置

初始配置1. 系统烧制成功并正确连接各设备后即可开机。
加电后,如果电源灯旁边的绿色的灯(OK)会闪动,就说明SD 卡是可用的。
这时如果HDMI 连接好电视了,电视上就会开始出现启动画面了。
首次开机看到以下界面简介:raspi-config是Raspberry PI官方Raspbian镜像自带的一个系统配置工具。
raspi-config,会在系统首次启动时自动运行,就是那个蓝色背景,灰底黑字的界面。
首次自动运行之后,下次就不会自动运行了,若想手动运行,请以root身份运行:sudo raspi-config2. 基本操作:键盘上的上、下键进行菜单项目的选择,回车键进入,左右键进行OK和cancel等按钮的选择,Esc键取消返回,空格键为选择定选项。
最后改完后选择Finish退出即可,可能会重启。
3. Expand Filesystem扩展文件系统(默认镜像写入SD卡后,根分区不会使用剩余的SD卡空间,造成空间浪费,运行此选项后会把根分区扩展到整个SD卡,最大效率使用SD卡)。
选择第一项后回车,出现以下界面,再点击回车,回到配置界面。
4. Change User Password改变默认pi用户的密码,按回车后输入pi用户的新密码。
5. 输入新密码pi,再次输入pi(此处不显示输入的内容也没有*)6. 输入完成后,提示Password changed successfully说明密码更改成功,按回车继续,回到配置界面7. Enable Boot to Desktop/Scratch启动时进入的环境选择Console Text console, requiring login(default)启动时进入字符控制台,需要进行登录(默认项)(startx 进入图形界面)Desktop log in as user 'pi' at the graphical desktop启动时进入LXDE图形界面的桌面Scratch Start the Scratch programming environment upon boot启动时进入Scratch编程环境,进入后,可以点File->Exit退出,然后在退出过程中按Ctrl+C进入控制台。
树莓派启动指南-无需屏幕键盘

目录第一步:格式化SD卡 (2)第二步:下载安装系统镜像 (2)第三步:通过SSH连接树莓派 (3)第四步:设置树莓派 (6)第五步:使用windows远程桌面访问树莓派桌面 (8)第六步:建立VNC获取树莓派桌面 (9)第七步:安装3.5寸触摸屏驱动 (11)第八步:配置摄像头 (15)第一步:格式化SD卡说明:未安装过Raspbian系统的SD卡可通过windows直接格式化,若要重新安装系统需要通过SDFormatter软件格式化。
因为windows无法识别SD文件类型,导致无法完全格式化,建议使用软件格式化SD卡。
1、下载SDFormatter软件下载地址:/rpi/SDFormatterv4.zip2、在电脑端解压安装然后插入你要格式化的Miscro SD卡,然后打开软件运行3、选择对应Miscro SD卡对应的磁盘符4、确认无误,点击格式化既可以完成格式化后,SD卡为FAT32格式第二步:下载安装系统镜像1、下载安装系统写入工具win32diskimager下载地址:https:///projects/win32diskimager/2、下载系统镜像下载地址:https:///downloads/raspbian/一般选择RASPBIAN STRETCH WITH DESKTOP镜像,下载种子文件通过迅雷下载更快。
3、下载好文件后:启动Win32DiskImager,映像文件处选择Raspbian系统映像文件,设备处选择盘符为你读卡器的盘符,点写入,然后点一下Yes确定操作,开始系统写入,写入完成,提示成功。
将Micro SD卡插入树莓派,接通电源启动4、备份系统新建一个后缀为.img的文件,在Win32DiskImager中打开,然后选择设备,点击读取,等待读取完成,SD卡中的映像便备份到此img文件中了。
之后可通过读取操作完成恢复。
第三步:通过SSH连接树莓派1、无显示器获取树莓派IP若路由器有多余网线接口可直接通过网线连接路由器和树莓派上网,否则可以使用如下方式使树莓派联网:将网线一端接到树莓派,另一端接到笔记本。
Linux设置程序开机自启动

Linux设置程序开机⾃启动注意:作者测试时,Linux版本为RedHat6,同时应⽤在CentOS6应该也可以(作者未实测,但有同事在CentOS6上使⽤可⾏),系统版本的不同,可能造成操作上的差异(CentOS7就与CentOS6有较⼤的不同),但具体的思路可借鉴。
以下操作均在root权限下Linux下配置某个服务的开机⾃启动,分为两种情况:⼀种是已经挂载的,另⼀种是未挂载的。
已经挂载的程序可以使⽤ chkconfig命令查到运⾏等级,如httpd服务执⾏命令:#chkconfig --list |grep httpd打印信息:httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off未挂载的程序,不会打印任何信息,如Tomcat执⾏chkconfig --list |grep tomcat,没有打印任何信息⼀,已挂载程序开机⾃启动以httpd服务举例。
在root⽤户下打开⼀个终端。
执⾏命令:chkconfig --list |grep httpd可以看到0~6都是off。
执⾏命令:# chkcongfig httpd on执⾏命令:chkconfig --list |grep httpd执⾏完chkcongfig httpd on后,2~5对应的值变成了on.此时我们通过service httpd status 查看http服务状态,是stopped状态,没有开机⾃启动,此时我们重启Linux电脑,再来查看httpd服务是否开机启动重启Linux,查看httpd服务状态:service httpd status,可以看到httpd服务已经启动知识扩展:执⾏chkcongfig httpd on 可以加--level参数,指定将0~6哪些级别开启,命令格式如下:# chkcongfig --level 345 httpd on345就是需要开启(由off变成on)的数字,⽽不加—level参数时,默认打开的是2~50~6对应的运⾏级别如下:Linux系统有7个运⾏级别(runlevel)运⾏级别0:系统停机状态,系统默认运⾏级别不能设为0,否则不能正常启动运⾏级别1:单⽤户⼯作状态,root权限,⽤于系统维护,禁⽌远程登陆运⾏级别2:多⽤户状态(没有NFS)运⾏级别3:完全的多⽤户状态(有NFS),登陆后进⼊控制台命令⾏模式运⾏级别4:系统未使⽤,保留运⾏级别5:X11控制台,登陆后进⼊图形GUI模式运⾏级别6:系统正常关闭并重启,默认运⾏级别不能设为6,否则不能正常启动⼆、未挂载程序开机⾃启动未挂载的程序开机⾃启动实现⽅式是编写程序启动的.sh脚本,再将此脚本挂载到Linux系统上,让它开机执⾏,启动程序。
树莓派介绍及操作系统搭建

树莓派介绍及操作系统搭建树莓派是一种单板电脑,由英国的树莓派基金会开发。
它的目标是教育和学习计算机科学与编程。
树莓派具有小巧、低功耗、高性能和低价格等特点,广泛应用于教育、科研、创客和嵌入式系统等领域。
树莓派的硬件配置通常包括一块处理器单元、内存、存储器、输入输出接口等基本组成部分。
最常见的树莓派型号有树莓派3和树莓派4,其中树莓派4配置更高,可以支持更复杂的任务。
树莓派的操作系统可以选择多种,常用的有Raspbian、Ubuntu Mate、Kali Linux等。
以下是介绍如何在树莓派上搭建Raspbian操作系统的步骤:3.插入SD卡并连接设备。
将制作好的启动盘插入树莓派的SD卡槽中。
接下来,连接显示器、键盘和鼠标等外设,将树莓派与电源连接。
4.开机启动。
插入SD卡后,树莓派会自动识别并启动操作系统。
启动后,你可以通过显示器来查看树莓派的界面。
5.初始设置。
首次启动树莓派时,会弹出一个引导界面,你可以进行一些初始设置,例如更改密码、配置网络连接等。
6. 更新软件。
你可以通过终端输入命令sudo apt-get update,然后输入sudo apt-get upgrade来更新软件包。
7. 安装应用程序。
在Raspbian中,你可以使用apt-get命令来安装各种应用程序,例如PythonIDE、Scratch等。
以上是在树莓派上搭建Raspbian操作系统的基本步骤,具体操作可能会有些差异。
此外,树莓派也可以安装其他操作系统,例如Ubuntu Mate和Kali Linux等,只需要将对应的镜像文件写入SD卡即可。
树莓派的应用非常广泛,可以用来学习编程、做嵌入式开发、构建家庭媒体中心等。
它支持多种编程语言,包括Python、C++、Java等,非常适合编程初学者入门学习。
同时,树莓派还支持GPIO接口,可以连接各种外设进行创客项目的开发。
总的来说,树莓派是一种功能强大、成本低廉的单板电脑,可以在计算机科学教育和创客领域发挥重要作用。
Raspberry Pi树莓派应用程序开机自启动方案

目录1RASPBERRY PI树莓派应用程序开机自启动方案 (2)1.1开机自启动管理方案 (2)1.2开机进入程序界面 (2)1.3开机启动桌面程序 (3)1.4开机启动服务程序 (4)1 Raspberry Pi树莓派应用程序开机自启动方案开机自启动管理方案我们在使用树莓派进行开发或应用过程中,可以需要在系统开机启动时自动启动相应的服务程序,服务程序可以是服务脚本、后台服务程序、桌面应用程序等。
此方案详细讲解基于树莓派操作系统Raspbian的应用服务程序的几种自启动管理方法传统的服务管理器service是基于init进程的管理方式,这种方法有两个缺点:一是启动时间长,init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
二是启动脚本复杂,init进程只是执行启动脚本,不管其他事情,脚本需要自己处理各种情况,这往往使得脚本变得很长。
Systemd 服务是一种以 .service 结尾的单元(unit)配置文件,用于控制由Systemd 控制或监视的进程。
简单说,用于后台以守护精灵(daemon)的形式运行程序,用于替代旧有的服务管理器service。
开机进入程序界面如果希望树莓派在开机启动时直接进入自定义的应用程序界面,而不是进入Desktop桌面程序或CLI命令行界面,而是可以通过以下方式进行操作。
配置需要使用到rc.local文件,rc.local是启动加载文件,系统在启动过程的末端会执行该脚本文件,所有如果需要在系统启动时执行应用服务程序,可将应用服务程序路径添加到该文件即可。
1、使用vi命令打开/etc/rc.local文件进行编辑sudo vi /etc/rc.local2、在最后一行exit 0;前面加上如下所示的启动脚本export DISPLAY=:0X -nocursor -s 0 -dpms &python /home/pi/app/MyApp.py &#这里用的是python开发的QT程序,可以随意换成你自己的程序存盘退出,重启树莓派,就会看到树莓派启动后,不进入系统桌面环境,而是直接进入到你的应用程序界面。
树莓派开机启动程序及启动脚本的制作

树莓派开机启动程序及启动脚本的制作⽹上有不少关于如何让Linux⾃动运⾏⾃⼰编写的脚本或者程序的⽅法,但是⼤多数都是把命令写到/etc/rc.local⾥,这样虽然能够实现随机运⾏,但是并不够灵活。
不能像mysql,apache等服务⼀样能够使⽤service命令或者调⽤init.d下的脚本启动、service mysql restartservice apache2 stop或者/etc/init.d/mysql restart/etc/init.d/apache2 stop因为不同的Linux发⾏版本,对后台服务的处理⽅式不⼤⼀样,如redhat使⽤chkconfig来管理开机程序。
所以下⾯的⽅法以debian类系统为例,如何写⼀个简单的开机启动脚本。
所以,此⽅法适⽤于raspbian pi的系统。
以svn为例:1.制作开机启动脚本svn_serve```#!/bin/sh### BEGIN INIT INFO# Provides: svn_serve# Required-Start: $remote_fs# Required-Stop: $remote_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start or stop the HTTP Proxy.### END INIT INFOcase $1 instart)svnserve -d -r /home/pi/svn_repository;;stop)killall svnserve;;*)echo "Usage: $0 (start|stop)";;esac```如果不加上⾯的注释,执⾏下⾯步骤3时,update-rc.d会报如下的警告信息```update-rc.d: warning: /etc/init.d/proxy missing LSB informationupdate-rc.d: see </LSBInitScripts>```2.启动关闭服务```sudo service svn_serve startsudo service svn_serve stop```3.让svn_serve开机启动```sudo update-rc.d svn_serve defaults```4.取消svn_serve的开机⾃动启动```sudo update-rc.d -f svn_serve remove```。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
树莓派程序开机自启动方法制作测试脚本
首先我们需要制作一个脚本来测试自启动是否有效。
在终端下输入并回车新建脚本文件testboot.sh
pi@raspberry:~ $ nano testboot.sh
testboot.sh文件内容如下:
#!/bin/sh
touch /home/pi/testboot.txt
chmod 777 /home/pi/testboot.txt
echo "hello pi~" >> /home/pi/testboot.txt
测试脚本将打印字符串到文件中。
按ctrl+o保存文件,再按ctrl+x退出编辑器。
给脚本文件添加执行权限:
pi@raspberry:~ $ chmod 777 testboot.sh
测试一下脚本功能:
pi@raspberry:~ $ ./testboot.sh
执行正常的话会在当前目录(pi)生成一个testboot.txt的文本文件。
显示文件内容:
pi@raspberry:~ $ cat testboot.txt
添加自启动
方法一:向rc.local文件添加启动代码
修改rc.local文件,在终端输入并回车:
pi@raspberry:~ $ sudo nano /etc/rc.local
在打开的文本中找到exit 0,在此之前添加的代码在启动时都会被执行,在exit 0 之前添加一行代码:
su pi -c "exec /home/pi/testboot.sh"
ctrl+o保存,ctrl+x退出,然后在终端输入:sudo reboot ,重启系统测试。
su命令是指定在pi用户下执行这条命令,-c 表示执行完这条命令之后恢复原来的用户。
注意:系统启动时在执行这段代码时是使用root用户权限的,如果不指定pi用户,可能会因为权限问题导致脚本执行失败。
方法二:将程序作为服务启动
在/etc/init.d/目录下新建一个服务脚本文件。
在终端输入并回车
pi@raspberry:~ $ sudo nano /etc/init.d/testboot
在空白文件中输入以下内容:
#!/bin/sh
#/etc/init.d/testboot
### BEGIN INIT INFO
# Provides:testboot
# Required-Start:$remote_fs $syslog
# Required-Stop:$remote_fs $syslog
# Default-Start:2 3 4 5
# Default-Stop:0 1 6
# Short-Description: testboot
# Description: This service is used to start my applaction
### END INIT INFO
case "$1" in
start)
echo "start your app here."
su pi -c "exec ~/testboot.sh"
;;
stop)
echo "stop your app here."
;;
*)
echo "Usage: service testboot start|stop"
exit 1
;;
esac
exit 0
ctrl+o保存,ctrl+x退出。
设置脚本可执行权限:
pi@raspberry:~ $ sudo chmod 777 /etc/init.d/testboot
最后将该脚本作为服务设置开机自动加载:
pi@raspberry:~ $ sudo update-rc.d testboot defaults
sudo reboot 重启测试。
方法三:通过桌面启动
此方法是在加载了桌面后再启动我们自定义的程序,因此需要安装带有桌面的版本,如果不是请跳过。
在/home/pi/.config/目录下新建一个名为autostart 的文件夹:
pi@raspberry:~ $ mkdir .config/autostart
在autostart 目录下新建testboot.desktop (经测试名字任意,但后缀必须是.desktop):
pi@raspberry:~ $ nano .config/autostart/testboot.desktop
文件内容如下:
[Desktop Entry]
Type=Application
Name=testboot
NoDisplay=true
Exec=/home/pi/testboot.sh
sudo reboot 重启测试。
注意:这个方法除了依赖桌面之外,如果开启了多个桌面则会导致自定义的程序多次启动。
比如系统启动桌面会调用一次testboot.sh脚本,如果再用远程桌面登录到树莓派,脚本会再执行一次。
方法四:使用systemctl设置服务
在/usr/lib/systemd/system/ 下新建文件testboot.service:
pi@raspberry:~ $ sudo nano
/usr/lib/systemd/system/testboot.service
如果目录system不存在,请自行创建:
pi@raspberry:~ $ sudo mkdir /usr/lib/systemd/system
testboot.service文件内容如下:
[Unit]
Description=testboot
[Service]
Type=oneshot
ExecStart=/home/pi/testboot.sh
[Install]
WantedBy=multi-user.target
这里直接指定启动文件的路径,无法指定到pi用户执行,所以只能在root用户下执行。
设置服务自启动:
pi@raspberry:~ $ sudo systemctl enable testboot.service
注意:这个方法与方法二类似都是通过服务启动,所以如果两种方法同时使用要注意不能使用同个服务名。
总结
除了通过桌面启动以外,其他方式在执行启动代码的时候都是用root用户在执行的,所以需要特别注意权限的问题,最好就全部都指定到pi用户去执行。
除了可以执行脚本之外,也可以启动自己写的程序或者python脚本,需要注意的是如果自启动的程序有依赖于其他服务则必须等待其他服务加载完毕才能正常启动,保险的做法延时后再启动。