【树莓派】开机自启动脚本方法之一(.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 ...
随机推荐
- TCP/UDP编程步骤和区别
一. 概念解析 套接字:一种特殊的文件描述符.一头指向套接字地址(用户),一头指向套接字结构(内核). 套接字结构:由内核维持的一种数据结构,可通过套接字来操作. 套接字地址:ip和port. 二. ...
- iOS-免证书真机调试
使用方法: 1.新建一个普通的项目 2.进入xcode,菜单栏选择xcode –> preferences (快捷键 command + ,) 3.在Accounts选项卡添加自己的Apple ...
- Myeclipse快捷键的设置以及默认的编码格式
设置默认的编码格式
- Today is weekend不是应该一定会输出吗
判断语句 If…else块,请看下面这个例子: <%! int day = 3; %> //声明变量感叹号 <html> <head><title>IF ...
- I.MX6 ethtool 移植
/************************************************************************* * I.MX6 ethtool 移植 * 说明: ...
- docker 基本学习
Docker的应用场景: 加速本地开发和构建流程,使其更加高效.更加轻量化.本地开发人员可以构建.运行并分享Docker容器.容器可以在开发环境中构建,然后轻松地提交到测试环境中,并最终进入生产环境. ...
- logistic 回归Matlab代码
function a alpha = 0.0001; [m,n] = size(q1x); max_iters = 500; X = [ones(size(q1x,1),1), q1x]; % app ...
- 使用wsgiref库diy简单web架构
1. 了解CGI和WSGI (1)CGI CGI(Common Gateway Interface)通用网关接口,即接口协议,前端向服务器发送一个URL(携带请求类型.参数.cookie等信息)请求, ...
- 基于注解的 Spring MVC 简单入门
web.xml 配置: <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class> ...
- request.getDispatcher().forward(request,response)和response.sendRedirect()的区别
在进行web开发时,跳转是最常见的,今天在这里来学习下2种跳转: 第一种是request.getDispatcher().forward(request,response): 1.属于转发,也是服务器 ...