• 麒麟操作系统设置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

  • 相关阅读:
    Access — Cookie注入
    ONLYOFFICE8.1版本桌面编辑器测评
    提高网申通过率的秘籍,校园招聘之春招秋招都有效
    EMQX的docker部署与使用(mqtt)
    你觉得java与嵌入式学哪个好?
    考研数据结构与算法(五)数组
    地平线 旭日X3 PI (一)首次开机细节
    css知识学习系列(2)-每天10个知识点
    主从Reactor模式 任务池提高请求处理效率分析
    在一个页面实现数据库的增删改查
  • 原文地址:https://blog.csdn.net/idols_man/article/details/133679307