【树莓派】开机自启动脚本方法之一(.Desktop文件)
转载处:
又一个让树莓派开机运行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文件)的更多相关文章
- ArchLinux For Arm 树莓派开机自启动脚本rc.local
今天折腾了下树莓派的迅雷固件,迅雷的安装很顺利,解压直接运行portal 就搞定了, 但是自启动就有问题了,由于新版的ArchLinux切换到systemd,不但rc.conf省了,连rc.local ...
- linux添加开机自启动脚本示例详解
linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...
- linux 开机自启动脚本
在/etc/rc.local文件中添加自启动命令(其中一种方法) 1.案例,就用博主本人之前发的博文 “nginx + flask + uwsgi + centos + python3 搭建web项目 ...
- Linux定时任务与开机自启动脚本(cron与crontab)
开机自启动脚本 网上常见的脚本开机自启方法是: 假设要自启的脚本位于 /home/user/test.sh 给脚本可执行的权限 sudo chmod +x /home/user/test.sh 将脚本 ...
- linux下添加自动启动项,linux 开机自动启动脚本方法
#service servicename status是当前状态#chkconfig --list servicename是查看启动状态,也就是是否开机自动启动 首先写好脚本,如 mysql,把它放到 ...
- 转载:ubuntu 下添加简单的开机自启动脚本
转自:https://www.cnblogs.com/downey-blog/p/10473939.html linux下添加简单的开机自启动脚本 在linux的使用过程中,我们经常会碰到需要将某个自 ...
- Linux开机自启动脚本的总结
一.在/etc/rc.local中添加 如果不想将脚本粘来粘去,或创建链接什么的, 则: step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行; step2. 再在/etc/rc.lo ...
- Fedora 22(15以上版本)开机自启动脚本
前段时间做了一个网站btdog磁力与btdog电视直播.DHT爬虫需要消耗比较多的资源,原来的服务器不够用了,于是自己使用电脑搭了一台服务器,使用Fedora22系统.在Fedora22中自动写了些开 ...
- Centos开机自启动脚本的制作
原文地址:http://www.2cto.com/os/201306/220559.html 我的一个Centos开机自启动脚本的制作 一.切换到/etc/init.d/ 二.制作sh脚本 v ...
随机推荐
- Hash算法-CityHash算法
cityhash系列字符串散列算法是由著名的搜索引擎公司Google 发布的 (http://www.cityhash.org.uk/). Google发布的有两种算法:cityhash64 与 ci ...
- pdb 源码索引符号服务器创建过程
pdb是调试程序必不可少的东西,它保存着一个exe或dll的调试信息,对pdb进行源码索引可以快速找到软件对应该版本的代码,本文以subversion版本控制服务器进行介绍 一.需要安装的软件 win ...
- angular js jquery中post请求的一点小区别
这也是最近遇到的坑,还是之前那个项目,现在要实现登录功能. 背景:注册功能之前已经跑通了.前端用的是jquery后台是springMVC.鉴于注册和登录有些接口功能是类似的(比如注册确保邮箱是没有注册 ...
- Could not publish server configuration for Tomcat v6.0 Server at localhost.错误问题解决
经常在使用tomcat服务器的时候 总会发生一些莫名其妙的错误. 就像下面这个错误: 在配置文件中存在多个/MyWeb的配置,导致不能发布服务. 错误信息: Could not publish ser ...
- 解决 jsonP 安全问题
jsonp安全性防范,分为以下几点: 1.防止callback参数意外截断js代码,特殊字符单引号双引号,换行符均存在风险 2.防止callback参数恶意添加标签(如script),造成XSS漏洞 ...
- Juint 单元测试(1)
Junit 是一个基于Java语言的回归单元测试框架.是白盒测试的一种技术,记住这些就可以了. 为项目添加Junit 1 右键项目名称选择“Properties”,在弹出的窗体中选择“Java Bui ...
- 程序员们,AI来了,机会来了,危机也来了
程序员们,AI来了,机会来了,危机也来了 1.人工智能真的来了 纵观古今,很少有计算机技术能有较长的发展寿命,大部分昙花一现,比如:昔日的DOS.windows3.2.foxpro.delphi.80 ...
- golang:bson.ObjectId与string转化
网上资料不好搜,记下来:两个变量:id bson.ObjectIdstr string bson.ObjectId—>string id.Hex() string—>bson.Object ...
- 特例模式(Special Case Pattern)与空对象模式(Null Pointer Pattern)—— 返回特例对象而非 null
返回 null 值,基本上是在给自己增加工作量,也是给调用者添乱.只有一处没有检查返回的是否为 null,程序就会抛 NullPointerException 异常. 如果你打算在方法中返回 null ...
- MpVue解析
前言 mpvue是一款使用Vue.js开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为H5和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程序,或开发 ...