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


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

    一、QT程序打包

    1.设置环境变量

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

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

    1. 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
    2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Qt-5.15.2/lib
    3. export PLUGIN_PATH=/usr/local/Qt-5.15.2/plugins:$PLUGIN_PATH
    4. export QML2_PATH=/usr/local/Qt-5.15.2/qml:$QML2_PATH
    5. export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/local/Qt-5.15.2/plugins/platforms/
    6. export QT_DEBUG_PLUGINS=1

    2.程序打包

    使用linuxdeployqt工具进行打包。

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

    linuxdeployqt App.exe -appimage

    二、创建程序启动脚本

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

    2.编辑startup.sh文件

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

    1. #!/bin/bash
    2. #export QT_QPA_PLATFORM=’offscreen’           //当为无界面程序时须将注释放开
    3. source /etc/profile                           //使环境变量生效
    4. cd /*/*                                       //设置为AppRun所在目录路径
    5. ./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文件内容

    输入以下内容:

    1. [Desktop Entry]
    2. Type=Application
    3. Name=AppRun //名称可自定义
    4. 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文件(文件名可自定义)

    1. sudo touch AppRun.service
    2. sudo chmod 777 AppRun.service

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

    1. [Unit]
    2. Description=AppRun
    3. After=AppRun.service
    4. [Service]
    5. User=root
    6. Group=root
    7. WorkingDirectory=/home//MyWork/bin/unix/Debug/
    8. Type=forking
    9. ExecStart=/home/MyWork/bin/unix/Debug/startup.sh
    10. ExecReload=/home/MyWork/bin/unix/Debug/startup.sh -s reload
    11. ExecStop=/home/MyWork/bin/unix/Debug/startup.sh -s stop
    12. Execenable=/home/MyWork/bin/unix/Debug/startup.sh
    13. Restart=on-abnormal
    14. [Install]
    15. WantedBy=multi-user.target

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

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

    (5).reboot重启测试。

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

    ps -ef|grep AppRun

  • 相关阅读:
    【技术分享】NetLogon于域内提权漏洞(CVE-2020-1472)
    Docker安装部署Redis集群
    笔记_前端基础试题-面试前的准备
    C++ 形参传值和传指针的误解
    乙酰化d-甘露糖胺-二苯并环辛炔,Ac4ManN-DBCO,Ac4ManN修饰点击化学
    视频教程 | Demo演示视频上线,几分钟了解一个长安链使用技巧
    【Telerik和Kendo UI组件】上海道宁与progress为您提供Web、移动和桌面构建功能更丰富的现代体验
    TinyRenderer学习笔记--Lesson 5
    【数据结构】---几分钟简单几步学会手撕链式二叉树(中)
    笔记本 M.2 PCIe 3.0 x4 外接显卡方案与实践
  • 原文地址:https://blog.csdn.net/idols_man/article/details/133679307