精华内容
下载资源
问答
  • 树莓派开机自启动

    2019-05-06 20:53:31
    这个视频讲得很到位 下面是视频中的代码,方便大家复制 sudo nano /etc/systemd/system/rcLocal....After=createap.service #服务启动的顺序在createap.service服务的后面(可填写其他你需要的,也可...

    这个视频讲得很到位
    下面是视频中的代码,方便大家复制

    sudo nano /etc/systemd/system/rcLocal.service		
    

    然后键入以下内容:

    [Unit]
    Description=/etc/rc.local Compatibility
    After=createap.service												#服务启动的顺序在createap.service服务的后面(可填写其他你需要的,也可以不写这一行)
    ConditionPathExists=/etc/rc.local								
    
    [Service]
    Type=forking																
    ExecStart=/etc/rc.local												#这是开机自启程序的位置,我是在这个文件里面添加了我想启动的程序
    TimeoutSec=0
    StandardOutput=tty
    RemainAfterExit=yes
    SysVStartPriority=99
    
    [Install]
    WantedBy=multi-user.target
    

    复制以上代码后,执行以下命令:

    sudo systemctl enable rclocal.service
    sudo chmod +x /etc/rc.local
    

    下面可以在/etc/rc.local文件中加入自启的程序了:

    sudo nano /etc/rc.local
    

    在exit 0前面写入你的程序,例如:

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    # Print the IP address
    _IP=$(hostname -I) || true
    if [ "$_IP" ]; then
      printf "My IP address is %s\n" "$_IP"
    fi
    /home/pi/ship/RaspberrryPi-Project-for-PiCar/MainProgram.py&
    /home/pi/ship/RaspberrryPi-Project-for-PiCar/FramesSendProgram.py&
    exit 0
    

    ·····························································································································································································································································································································
    经过测试后发现在rc.local中添加的程序会开机自启,即便你使用sudo systemctl disable rcLocal关掉rcLocal服务,里面的程序还是会自启。

    展开全文
  • 本篇为上一篇的续 树莓派--根据 CPU 温度控制风扇起停有了散热的硬件和软件,接下来我们让树莓派开机的时候,自动启动风扇控制程序准备文件/opt/airfan.py根据上篇的文章提到的代码,保存为 /opt/airfan.py 也可以去...

    本篇为上一篇的续 树莓派--根据 CPU 温度控制风扇起停

    有了散热的硬件和软件,接下来我们让树莓派开机的时候,自动启动风扇控制程序

    准备文件

    /opt/airfan.py

    根据上篇的文章提到的代码,保存为 /opt/airfan.py 也可以去这里下载代码oschina-gist

    /etc/init.d/airfan

    将下面的代码保存到 /etc/init.d/airfan 文件中(根据惯例)

    #!/bin/sh

    ### BEGIN INIT INFO

    # Provides: airfan

    # Required-Start: $network $remote_fs $syslog

    # Required-Stop: $network $remote_fs $syslog

    # Default-Start: 2 3 4 5

    # Default-Stop:

    # Short-Description: Start Airfan daemon

    ### END INIT INFO

    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

    case "$1" in

    start)

    echo "Start Airfan"

    python -u /opt/airfan.py > /var/log/airfan.log &

    ;;

    stop)

    echo "Stop Airfan"

    ps aux | grep 'airfa[n]' | awk '{print $2}' | xargs kill

    ;;

    *)

    echo "Usage: service airfan "

    exit 1

    ;;

    esac

    exit 0

    增加可执行权限 chmod +x /etc/init.d/airfan

    具体解释下每个部分的含义

    ### BEGIN INIT INFO

    # Provides: airfan

    # Required-Start: $network $remote_fs $syslog

    # Required-Stop: $network $remote_fs $syslog

    # Default-Start: 2 3 4 5

    # Default-Stop:

    # Short-Description: Start Airfan daemon

    ### END INIT INFO

    这段注释,是Debian系统中一个叫insserv的程序依赖的。update-rc.d依赖的则是insserv这个程序。没有这段注释的话就是出来各种Warning。

    加入到开机自动启动 $ update-rc.d airfan defaults

    执行完命令之后会发现,再/etc/rc2.d里面发现一个软连接S01u2init -> ../init.d/u2init

    rc2.d代表runlevel2的时候执行。其中的S表示启动(K代表停止),01代表优先级,数字越大执行越靠后。

    RunLevel解释

    文件 /etc/init.d/airfan的注释中,有一句 # Default-Start: 2 3 4 5 其中的2 3 4 5代表linux系统中的runlevel

    runlevel分为6个不同的等级

    运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

    运行级别1:单用户工作状态,root权限用户,用于系统维护,禁止远程登陆

    运行级别2:多用户状态,无网络

    运行级别3:完全的多用户状态,有网络,登陆后进入控制台命令行模式

    运行级别4:系统未使用,保留

    运行级别5:X11控制台,登陆后进入图形GUI模式

    运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

    通过 runlevel命令可以查看当前的runlevel。通常的系统都是5(就算是你下载的server版的linux系统,通常的runlevel也是5), 使用init命令可以切换runlevel。比如init 6即执行重启的功能。init 1就切换到了单用户模式。

    当运行在runlevel 5(正常模式下),操作系统在启动时会依次遍历目录 /etc/rcS.d,/etc/rc5.d。 检查目录下以S开头的软链接,然后执行start操作。根据后面的数字来设置执行顺序。

    文件名的结构通常是 S03keyboard-setup -> ../init.d/keyboard-setup

    参考文章

    展开全文
  • 树莓派开机自启动脚本rc.local自启动 关于树莓派开机自启动服务,最简单的一种方法是rc.local。 创建好自己的脚本文件后,注意开头是 #!/bin/bash 还是#! /bin/sh ,注意和rc.local保持一致。 然后,进行如下命令...

    树莓派开机自启动脚本rc.local自启动

    关于树莓派开机自启动服务,最简单的一种方法是rc.local。
    创建好自己的脚本文件后,注意开头是 #!/bin/bash 还是#! /bin/sh ,注意和rc.local保持一致。
    然后,进行如下命令编辑rc.local,在exit()之前写入命令。
    sudo nano /etc/rc.local

    在exit()之前写入命令,如果要执行的是一个死循环,在命令末尾加入&,表示该程序进入后台执行。例如:
    source /home/pi/test.sh & (路径要写全)
    保存之后,给test.sh权限:
    sudo chmod +x /home/pi/test.py
    sudo chmod +x /etc/rc.local
    test.sh文件内容如下:
    #!/bin/sh
    cd /home/pi/test
    python3 test.py
    test.py如下:

    #!/usr/bin/python
    import logging
    import time
    i=0
    # 创建一个logger
    logger = logging.getLogger('mylogger')
    logger.setLevel(logging.DEBUG)
    
    # 创建一个handler,用于写入日志文件
    fh = logging.FileHandler('/home/benk/test/test.log')
    fh.setLevel(logging.DEBUG)
    
    # 再创建一个handler,用于输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)
    
    # 定义handler的输出格式
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)
    
    # 给logger添加handler
    logger.addHandler(fh)
    logger.addHandler(ch)
    while True:
      i=i+1
      time.sleep(1)
      logger.info(i)
    

    关于为什么bash写的脚本在rc.local自启动无法执行,查阅资料说rc.local 中/sh 软链的是dash格式脚本,用bash写的脚本有可能识别不出来。所以最好的方法是保持一致。

    展开全文
  • 可通过两种方式来设置树莓派的开机自启动一、配置rc.local文件设置树莓派开机启动项编辑/etc/rc.local文件sudo vi /etc/rc.local在文件中的 exit 0 之前添加需要执行的程序,注意要使用绝对路径,如下python python ...

    可通过两种方式来设置树莓派的开机自启动

    一、配置rc.local文件设置树莓派开机启动项

    编辑/etc/rc.local文件

    sudo vi /etc/rc.local

    在文件中的 exit 0 之前添加需要执行的程序,注意要使用绝对路径,如下

    python python /home/pi/example.py &

    exit 0

    特别注意,如果程序是阻塞的,则须加上  &   符号以在后台运行,否则系统无法启动

    重启系统,就可以生效了

    sudo reboot

    二、新建desktop文件设置树莓派开机启动项

    这种方式类似于Windows系统的“开始”菜单中的“启动”项,操作方法如下:

    在 /home/pi/.config 下创建一个文件夹,名称为 autostart

    mkdir /home/pi/.config/autostart

    在该文件夹下创建一个xxx.desktop文件,文件名以.desktop结尾,名称可自定义,文件的内容如下:

    [Desktop Entry]

    Name=example

    Comment=My Python Program

    Exec=python /home/pi/example.py

    Icon=/home/pi/example.png

    Terminal=false

    MultipleArgs=false

    Type=Application

    Categories=Application;Development;

    StartupNotify=true

    该文件中的Name、Comment、Icon分别表示这个启动项目的名称、备注以及显示的图标,具体的值可自行设定;Exec表示调用的指令。

    重启系统,就可以生效了

    sudo reboot

    欢迎关注本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),获取更多资讯

    展开全文
  • 树莓派开机自启动程序

    万次阅读 2018-05-09 21:49:58
    最近在项目中需要用到树莓派开机自启动多个程序,网上也看到很多前辈的经验,学到很多。现在将自己实践的结果作一分享,希望跟大家一同学习! 网上看到方法有很多,有一篇感觉很好,连接如下: ...
  • 树莓派开机自启动脚本 最近在实验箱项目中需要用到树莓派开机自启动程序,网上也看到很多前辈的经验,学到很多。现在将自己实践的结果作一分享,希望跟大家一同学习!如有侵权,请回复。 在/home/pi/.config下创建一...
  • 树莓派开机自启动Python文件 实现方法有很多,这里笔者只放了自己调试成功的方法,因为其他的方法都没成功哈哈哈 1.把需要启动的Python文件放在桌面上 即把xxx.py放在/home/pi/Desktop的目录下 2.建立xxx.desktop...
  • 输入命令:sudo nano /etc/rc.local1在exit 0上一行输入:python /home/pi/test.py开机运行命令是python + (空格) + python脚本位置或者打开这个文件来修改自启动,网上有很多方法都是新建一个脚本来完成的。...
  • 不然会运行失败)文件保存在/home/pi/share/ip_acquire.py一 首先给你的py文件增加权限chmod 777 /home/pi/share/ip_acquire.py二 开机启动脚本保存脚本为/etc/init.d/my_start文件#!/bin/b...
  • 树莓派配置开机自启动程序大致有三种,目前最主流的是将程序作为服务启动,本文介绍下树莓派开机启动 jar(SpringBoot打成的jar包) 步骤 编写启动服务和关闭服务的脚本 start.sh 和 stop.sh 来控制打开和关闭服务 ...
  • 某宝上买了一个小oled屏用来在树莓派上显示一些简短信息,需要开机启动,但很久才会设置一次,记下备查:1、写个开机启动脚本,放在/etc/init.d/下,比如:/etc/init.d/minioled#!/bin/bash# /etc/init.d/minioled##...
  • 关于树莓派开机自启动python程序一共好几种方法,总结的比较全的是这篇文章: 【教程】树莓派程序开机自启动方法总结 主要有三种途径: 1.在/etc/rc.local文件中写入执行python程序的语句,因为开机会执行该文件。 2...
  • 树莓派开机自启动方法

    千次阅读 2020-05-09 02:41:03
    最近查了一下树莓派如何自启动python界面程序,方法有很多种,这里介绍一个最简单的,但不是最好的。 步骤 1 在你要运行的程序的同级目录下(例如:home/pi/下有个main程序)新建一个脚本start.sh sudo nano start....
  • 树莓派开机自动启动程序

    千次阅读 2019-02-23 16:49:39
    链接如下:树莓派开机自启 我们使用的是其中一种将程序作为服务启动的方法开机自启: ubuntu情况下参考本人另一篇文章:ubuntu下的开机自启 写脚本文件auto: #!/bin/sh #/etc/init.d/auto %你的文件名字 ### ...
  • 树莓派开机自动启动Chomium浏览器并打开指定网页 cd /home/pi/.config mkdir autostart cd autostart vi my.desktop [Desktop Entry] Type=Application Exec=chromium-browser --disable-popup-blocking ...
  • 目的:设置树莓派开机自启动chrome浏览器。 树莓派刷入镜像: 2017-09-07-raspbian-stretch.img。 首先我们要了解几个命令: Linux下命令行打开浏览器: chromium-browser Linux下命令行打开chromium浏览器...
  • 这个主要用来开机执行Python文件,用在TeaCan上,让树莓派0开机自动启动程序。 建立start.sh脚本。 #!/bin/sh sleep 10 sudo python3 /root/1.5inch_RGB_OLED_Module_Code/RaspberryPi/python/testv2.1.py sleep...
  • 树莓派开机自启动设置

    千次阅读 2018-03-09 16:33:12
    实验通过树莓派开机自启动hello应用程序,每个一秒循环打印hello world!来验证实验的成功与否。1.使用Xshell软件进入树莓派后台进入/home/pi目录cd /home/pi2.编辑hello.c文件vim hello.c写入代码#include &lt...
  • 树莓派开机自启动程序(ArchLinux 版本) 如何让树莓派开机后自动启动用户的程序或者执行脚本? 不同的Linux发行版有不同的自启动机制,如RedHat有 /etc/rc.local 文件,在里面写上要执行的命令就可以开机执行...
  • 树莓派开机自启动某一个程序 大家到这一步应该都写完一个脚本了吧,我就不在教大家创建脚本了。 一、编辑rc.local(开机启动项) sudo vi /etc/rc.local 如下图,将:“/usr/bin/python3 /home/xiaozhe/text.py &...
  • 便携式ROV搭建系列(四):树莓派开机自启动 1 视频传输方案 开源项目:mjpeg-streamer 1.1 启动脚本文件 在home/pi/mjpeg-streamer-master/mjpeg-streamer-experimental/路径下新建一个 CameraStart.sh文件,...
  • 首先我们创建一个自启动文件夹 mkdir /home/pi/.config/autostart 然后自己切换到里面,新建一个xx.desktop文件夹 vim pi.desktop 代码如下 [Desktop Entry] Name=example Comment=My Python Program Exec=python...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 579
精华内容 231
关键字:

树莓派开机自启动