麒麟操作系统设置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/:$PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Qt-5.15.2/lib

export PLUGIN_PATH=/usr/local/Qt-5.15.2/plugins:$PLUGIN_PATH

export QML2_PATH=/usr/local/Qt-5.15.2/qml:$QML2_PATH

export 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=Application

Name=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.service

sudo chmod 777 AppRun.service

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

[Unit]

Description=AppRun

After=AppRun.service

[Service]

User=root

Group=root

WorkingDirectory=/home//MyWork/bin/unix/Debug/

Type=forking

ExecStart=/home/MyWork/bin/unix/Debug/startup.sh

ExecReload=/home/MyWork/bin/unix/Debug/startup.sh -s reload

ExecStop=/home/MyWork/bin/unix/Debug/startup.sh -s stop

Execenable=/home/MyWork/bin/unix/Debug/startup.sh

Restart=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

你可能感兴趣的:(qt,开发语言)