转载处:

又一个让树莓派开机运行Python脚本的方法

Linux 创建启动器(.Desktop文件)

首先,树莓派使用的是官方推荐的镜像:RASPBIAN;

在树莓派上常常会需要开机自启动python程序,方法如下:

机制上类似于 Windows 的“开始”菜单中的“启动”菜单

在 /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 重启,就可以看到 example.py 在树莓派启动后也自动启动了

个人说明

我使用的是深度Deepin15.6的系统,以此举例:

在主目录,/home/jakey  (树莓派是 /home/pi) 是看不到 .config 文件夹的,需要取消隐藏,取消隐藏的方式只需按组合件 Ctrl + H 即可

未显示隐藏文件夹↓:

按了组合按键后,显示隐藏文件夹↓,就可以看到 .config 文件夹了:

关于.desktop的说明,可以参考链接说明:

Linux 创建启动器(.Desktop文件)

语法解释:

关键词 意义
[Desktop Entry] 文件头
Encoding 编码
Name 应用名称
Name[xx] 不同语言的应用名称
GenericName 描述
Comment 注释
Exec 执行的命令
Icon 图标路径
Terminal 是否使用终端
Type 启动器类型
Categories 应用的类型(内容相关)

示例说明(此为在Deepin上显示的效果,树莓派上显示可能不一样但方法是一样的):

在桌面新建一个文件,并将其命名为: Demo Desktop.desktop

按回车确定以后,变成如下图标

使用文本编辑器打开文件,输入脚本信息,我以Sublime Text示例:

 [Desktop Entry]
Categories=Application;Programme;
Comment=Just a Demo
Encoding=UTF-8
Exec=python /home/jakey/Jakey/SlaveDebugTool/main.py
GenericName=Demo Desktop Name
Icon=/home/jakey/Pictures/Aurora.jpg
Name=Demo Desktop
Terminal=false
Type=Application

可能常需要修改的地方:

1、执行脚本

Exec=python /home/jakey/Jakey/SlaveDebugTool/main.py

你要执行的脚本,我使用的是绝对路径。将其替换成你想要执行的脚本即可;

这里我原先是想要执行如下语句,但是没有成功,若有知悉原因或解决方案的,望不吝告知,万分感谢:

cd /home/jakey/Jakey/SlaveDebugTool/ && python main.py

上述命令可以在终端运行~但是自启动运行是无效的;

2、图标

Icon=/home/jakey/Pictures/Aurora.jpg

更改成自己喜欢的图标所在路径即可

更改完毕后,保存,显示成设置的图标,双击后可以执行脚本,示例脚本为一个串口调试工具:

这样将桌面生成的文件放到 .config的autostart文件夹就可以开机自启动该调试工具了

												

【树莓派】开机自启动脚本方法之一(.Desktop文件)的更多相关文章

  1. ArchLinux For Arm 树莓派开机自启动脚本rc.local

    今天折腾了下树莓派的迅雷固件,迅雷的安装很顺利,解压直接运行portal 就搞定了, 但是自启动就有问题了,由于新版的ArchLinux切换到systemd,不但rc.conf省了,连rc.local ...

  2. linux添加开机自启动脚本示例详解

    linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...

  3. linux 开机自启动脚本

    在/etc/rc.local文件中添加自启动命令(其中一种方法) 1.案例,就用博主本人之前发的博文 “nginx + flask + uwsgi + centos + python3 搭建web项目 ...

  4. Linux定时任务与开机自启动脚本(cron与crontab)

    开机自启动脚本 网上常见的脚本开机自启方法是: 假设要自启的脚本位于 /home/user/test.sh 给脚本可执行的权限 sudo chmod +x /home/user/test.sh 将脚本 ...

  5. linux下添加自动启动项,linux 开机自动启动脚本方法

    #service servicename status是当前状态#chkconfig --list servicename是查看启动状态,也就是是否开机自动启动 首先写好脚本,如 mysql,把它放到 ...

  6. 转载:ubuntu 下添加简单的开机自启动脚本

    转自:https://www.cnblogs.com/downey-blog/p/10473939.html linux下添加简单的开机自启动脚本 在linux的使用过程中,我们经常会碰到需要将某个自 ...

  7. Linux开机自启动脚本的总结

    一.在/etc/rc.local中添加 如果不想将脚本粘来粘去,或创建链接什么的, 则: step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行; step2. 再在/etc/rc.lo ...

  8. Fedora 22(15以上版本)开机自启动脚本

    前段时间做了一个网站btdog磁力与btdog电视直播.DHT爬虫需要消耗比较多的资源,原来的服务器不够用了,于是自己使用电脑搭了一台服务器,使用Fedora22系统.在Fedora22中自动写了些开 ...

  9. Centos开机自启动脚本的制作

    原文地址:http://www.2cto.com/os/201306/220559.html 我的一个Centos开机自启动脚本的制作   一.切换到/etc/init.d/   二.制作sh脚本 v ...

随机推荐

  1. File工具类

    package cn.itcast.bos.utils; import java.io.IOException; import java.net.URLEncoder; import sun.misc ...

  2. 用shell将时间字符串与时间戳互转

    date的详细用户可以参考下面的 http://www.cnblogs.com/xd502djj/archive/2010/12/29/1919478.html date 的具体用法可以查看另外一篇博 ...

  3. 原子变量与CAS算法

    原子变量 为了引出原子变量这个概念,我们先看一个例子. package com.ccfdod.juc; public class TestAtomicDemo { public static void ...

  4. 23-THREE.JS 光照材质

    <!DOCTYPE html> <html> <head> <title></title> <script src="htt ...

  5. S3C2440启动方式

    不管S3C2440的启动设备是什么,它都是从0x0000 0000地址开始执行程序的,所不同的是地址的映射不一样.基于S3C2440的嵌入式系统上电之后,需要首选选择启动设备,2440的启动方式选择是 ...

  6. (效果三)js实现选项卡切换

    开发了很久的小程序,在接到一个h5移动端页面的时候,很多原生的东西都忘了,虽然说我们随着工作经验的增加,处理业务逻辑的能力在提高,但是基础的东西如果长时间不用,也会逐渐忘记.所以以后会经常总结原生的一 ...

  7. Linux 下新增用户的流程

    一: 新增用户 1.添加新的用户账号使用useradd命令,其语法如下: 代码:useradd 选项 用户名其中各选项含义如下: 代码:-c comment 指定一段注释性描述.-d 目录 指定用户主 ...

  8. 快排的python实现

    快排的python实现 #python 2.7 def quick_sort(L): if len(L) <= 1: return L else: return quick_sort([lt f ...

  9. 21天学通C++_Day3_Part3

    控制程序流程 0.switch...case...语句中省略了break? break让程序能够退出switch结构,如果没有将继续评估后面的case语句 1.如何退出无限循环? 使用break退出当 ...

  10. HihoCoder - 1236 Scores (五维偏序,分块+bitset)

    题目链接 题意:给定n个五维空间上的点,以及m组询问,每组询问给出一个点,求五个维度都不大于它的点有多少个,强制在线. 神仙题 单独考虑每个维度,把所有点按这个维度上的大小排序,然后分成T块,每块用一 ...