麒麟操作系统设置QT程序开机自启动有效方法

在麒麟操作系统上设置QT程序开机自启动的两种简单有效的方法。支持请点赞!

一、QT程序打包

1.设置环境变量

设置QT和linuxdeployqt的环境变量,已设置可忽略该步骤。

在/etc/profile文件末尾添加一下内容:

export PATH=/usr/local/Qt-5.15.2/bin:/home/MyWork/build-linuxdeployqt-unknown-Release/bin:/usr/local/Qt-5.15.2/lib:/usr/local/Qt-5.15.2/plugins:/usr/local/Qt-5.15.2/plugins/platforms/:$PATHexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Qt-5.15.2/libexport PLUGIN_PATH=/usr/local/Qt-5.15.2/plugins:$PLUGIN_PATHexport QML2_PATH=/usr/local/Qt-5.15.2/qml:$QML2_PATHexport QT_QPA_PLATFORM_PLUGIN_PATH=/usr/local/Qt-5.15.2/plugins/platforms/export QT_DEBUG_PLUGINS=1

2.程序打包

使用linuxdeployqt工具进行打包。

自行下载linuxdeployqt-master编译安装或下载已编译好的执行体。

linuxdeployqt App.exe -appimage

二、创建程序启动脚本

1.在程序执行文件目录下创建startup.sh文件

2.编辑startup.sh文件

输入以下内容(“//”后为本文添加的注释说明,后同):

#!/bin/bash#export QT_QPA_PLATFORM=’offscreen’           //当为无界面程序时须将注释放开source /etc/profile                           //使环境变量生效cd /*/*                                       //设置为AppRun所在目录路径./AppRun                                      //该文件为linuxdeployqt工具生成文件

三、开机自启动设置

开机自启动针对有无图形界面程序将采用不同的设置方式。

1.针对有图形界面程序

(1).进入系统目录

cd /etc/xdg/autostart/

(2).在/etc/xdg/autostart/目录下新建AppRun.desktop文件(文件名可自定义)

sudo touch AppRun.desktop

(3).赋予AppRun.desktop权限

sudo chmod 777 AppRun.desktop

(4).编辑AppRun.desktop文件内容

输入以下内容:

[Desktop Entry]Type=ApplicationName=AppRun             //名称可自定义Exec=/*/startup.sh      //设置为startup.sh所在目录路径

(5).reboot重启测试。

2.针对无图像界面程序

重点注意:设置无图形界面程序服务时需将脚本中的export QT_QPA_PLATFORM=’offscreen’放开,否则会报引用QT库错误,暂时找不到解决方案。

(1).进入系统目录

cd /etc/systemd/system

(2).在/etc/systemd/system/目录下新建AppRun.service文件(文件名可自定义)

sudo touch AppRun.servicesudo chmod 777 AppRun.service

(3).编辑AppRun.service文件内容,执行脚本路径根据实际情况修改。

[Unit]Description=AppRunAfter=AppRun.service[Service]User=rootGroup=rootWorkingDirectory=/home//MyWork/bin/unix/Debug/Type=forkingExecStart=/home/MyWork/bin/unix/Debug/startup.shExecReload=/home/MyWork/bin/unix/Debug/startup.sh -s reloadExecStop=/home/MyWork/bin/unix/Debug/startup.sh -s stopExecenable=/home/MyWork/bin/unix/Debug/startup.shRestart=on-abnormal[Install]WantedBy=multi-user.target

(4).依次执行以下命令设置服务属性。

systemctl enable AppRun.service                //设置AppRun.service 为服务启动项systemctl start AppRun.service                 //启动服务systemctl status AppRun.service                //查看服务状态

(5).reboot重启测试。

四、使用命令查看进程状态。

ps -ef|grep AppRun

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么你应该开始学习量子机器学习

一、介绍 你好!这里介绍全新知识--量子计算。在这里,我打算撰写和分享有关量子机器学习(QML)的文章。 我第一次听说量子计算是在2015年,当时我正在分析我的博士论文的可能性,我的前老板和导师告诉我研究这个…

AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率)

AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率) AI(人工智能)的大框架有很多种,以下是一些常见的AI框架: TensorFlow:由谷歌开发的开源机器学习框架,支持各种任务,包括图像…

Http常见问题

说说 HTTP 常用的状态码及其含义? HTTP 状态码首先应该知道个大概的分类: 1XX:信息性状态码2XX:成功状态码3XX:重定向状态码4XX:客户端错误状态码5XX:服务端错误状态码 301:永久性…

每日一题 279完全平方数(完全背包)

题目 完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而…

matplotlib制图进阶版

需求:两个产品销量的可视化折线图 1、使用pandas读取数据 2、生成销售数量的折线图

深入了解快速排序:原理、性能分析与 Java 实现

快速排序(Quick Sort)是一种经典的、高效的排序算法,被广泛应用于计算机科学和软件开发领域。本文将深入探讨快速排序的工作原理、步骤以及其在不同情况下的性能表现。 什么是快速排序? 快速排序是一种基于分治策略的排序算法&am…

vue2与vue3 v-model的区别

目录 Vue 2中的v-model 默认使用 自定义使用 修饰符.sync (Vue2) Vue3.x 使用 v-model vue 3 的v-model使用原理 多个 v-model 使用 总结 Vue 2中的v-model 在Vue 2中,v-model是一个用于在子组件和父组件之间双向绑定数据的指令。当在子组件中使用v-mode…

java学习-day21(常用类)

文章目录 回顾:今天的内容1.常用类1.1StringBuffer类1.2枚举类(enum)1.3包装类1.4Math1.5Random类1.6System类1.7Runtime【不重要】1.8Date类1.9Calendar 回顾: 1.为什么重写equals方法必须重写hashCode方法是因为判断两个对象是…

聊聊分布式架构04——RPC通信原理

目录 RPC通信的基本原理 RPC结构 手撸简陋版RPC 知识点梳理 1.Socket套接字通信机制 2.通信过程的序列化与反序列化 3.动态代理 4.反射 思维流程梳理 码起来 服务端时序图 服务端—Api与Provider模块 客户端时序图 RPC通信的基本原理 RPC(Remote Proc…

2023-10-07 LeetCode每日一题(股票价格跨度)

2023-10-07每日一题 一、题目编号 901. 股票价格跨度二、题目链接 点击跳转到题目位置 三、题目描述 设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。 当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数&#xff08…

全栈开发笔记2:项目部署上线的三种方式

文章目录 最原始的方式宝塔Docker 部署其他 本文为编程导航实战项目学习笔记。 项目部署的三种方式: 最原始方式✅ yum 手动安装 jdk mysql tomcat nginx打包前端项目,放到某个目录,修改 nginx 配置修改线上的 mysql 配置,打包 j…

RK3568 适配LVDS屏XW101CM02

代码如下添加参数,只要是使用的是同款屏幕,那就可以直接使用里面所有参数,在相关的DTS文件进行修改 lvds_panel: lvds-panel {status = "okay";compatible = "simple-panel";backlight = <&backlight1>;reset-delay-ms = <20>;enable-d…

Mysql bin-log日志恢复数据与物理备份-xtrabackup

主打一个数据备份与恢复 binlog与xtarbackup bin-log日志恢复开启bin-log配置bin-log日志恢复 物理备份-xtrabackup三种备份方式安装xtrabackup备份全量备份增量备份差异备份 bin-log日志恢复 bin-log 日志&#xff0c;就记录对数据库进行的操作&#xff0c;什么增删改的操作全…

深度学习笔记之优化算法(三)动量法的简单认识

机器学习笔记之优化算法——动量法的简单认识 引言回顾&#xff1a;条件数与随机梯度下降的相应缺陷动量法简单认识动量法的算法过程描述附&#xff1a;动量法示例代码 引言 上一节介绍了随机梯度下降 ( Stochastic Gradient Descent,SGD ) (\text{Stochastic Gradient Descen…

基础算法之——【动态规划之路径问题】1

今天更新动态规划路径问题1&#xff0c;后续会继续更新其他有关动态规划的问题&#xff01;动态规划的路径问题&#xff0c;顾名思义&#xff0c;就是和路径相关的问题。当然&#xff0c;我们是从最简单的找路径开始&#xff01; 动态规划的使用方法&#xff1a; 1.确定状态并…

MySQL SQL性能优化方案(SQL优化 二)

插入数据优化 1. 多个值同时插入&#xff1a;多个值的插入语句可以减少与数据库的通信次数&#xff0c;从而提高插入性能 insert into 表名 (列1, 列2, 列3) values (值1, 值2, 值3), (值4, 值5, 值6), ... 2. 命令批量插入&#xff1a;高效地将数据从文件导入到数据库中&…

vue3+vite+uniapp 封装一个省市区组件

一、预览图 二、使用前的一些注意事项 只支持在 uniapp vue3 项目中使用支持微信小程序和h5 (app端没有测试过)ui库用的 uview-plus省市区数据用的是 vant-ui 提供的一个赖库 vant/area-data 三、组件代码 <template><u-popup :show"show" type"botto…

软件工程与计算总结(二)软件工程的发展

本章开始介绍第二节内容&#xff0c;主要是一些历史性的东西~ 一.软件工程的发展脉络 1.基础环境因素的变化及其对软件工程的推动 抽象软件实体和虚拟计算机都是软件工程的基础环境因素&#xff0c;它们能从根本上影响软件工程的生产能力&#xff0c;而且是软件工程无法反向…

Zabbix 监控系统安装和部署

Zabbix 监控系统安装和部署 一、zabbix 是什么&#xff1f;1.1、zabbix 监控原理&#xff08;重点&#xff09;1.2、Zabbix 6.0 新特性1.3、Zabbix 6.0 功能组件1.4、数据库1.5、Web 界面1.6、Zabbix Agent1.7、Zabbix Proxy1.8、Java Gateway 二、部署Zabbix 6.02.1、 解决 za…

Configuration of phpstudy and sqli-labs

Go download the app&#xff1a; 小皮面板(phpstudy) - 让天下没有难配的服务器环境&#xff01; (xp.cn) Have done. Then enter the program. Enable both functions&#xff1a; Apache and MySQL. Open the website&#xff1a; Next, Lets make the sqli-liab. GitHub…