前言
Ubuntu环境下的Qt程序开机自动运行解决方法
一、下载Linux环境内的Qt打包工具
一、配置Qt环境变量
vim ~/.bashrc
#add QT ENV
export QT_HOME=/home/dong/Qt/5.15.2/gcc_64/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${QT_HOME}/lib
export QT_PLUGIN_PATH=$QT_PLUGIN_PATH:${QT_HOME}/plugins
export QML2_IMPORT_PATH=$QML2_IMPORT_PATH:${QT_HOME}/qml
PATH=$PATH:${QT_HOME}/bin
二、下载 linuxdeployqt-5-x86_64.AppImage
1.LinuxDeployqt下载地址下载linuxdeployqt;
2.下载好之后,将其改名为linuxdeployqt,并chmod +x,然后复制到 /usr/local/bin/;然后命令行输入 linuxdelpoyqt –version,查看是否安装成功,若输出版本信息表示安装成功。
> $ chmod +x linuxdeployqt-x86_64.AppImage //赋予权限
> $ mv linuxdeployqt-x86_64.AppImage linuxdeployqt //修改名称
> $ mv linuxdeployqt /usr/local/bin //移动文件位置
> $ linuxdeployqt --version //检查是否安装成功
> #输出的版本信息示例: linuxdeployqt 5 (commit 37631e5), build 631 built on 2019-01-25 22:47:58 UTC
3.将需要开机自启动的代码在Ubuntu上使用Qt在Release模式下构建编译一遍;
再在构建编译之后生成的文件夹内(build-SNTPClock-Desktop_Qt_5_12_0_GCC_64bit-Release)找到可执行文件:
4.将该文件复制到
/home/xhtime/mytest
位置
(注:mytest是自己在用户目录创建的,名称不受限)
5.然后在此文件夹内,打开终端,输入:linuxdeployqt SNTPClock -appimage
linuxdeployqt 程序名称 -appimage -always-overwrite
银河麒麟下:linuxdeployqt your_app.AppDir/your_app.desktop -verbose=3 -appimage
然后该文件内会生成以下内容:
然后我们在 此文件夹内创建 “sntp.desktop” (在终端上输入命令:vim sntp.desktop),然后在此文件内输入以下内容:
[Desktop Entry]
Version=1.0.0
Name=sntp
Exec=/home/xhtime/sntpclock/AppRun //关键点是这个,必须填生成的文件内的"AppRun"
Type=Application
再将这个 sntp.desktop 复制到 /etc/xdg/autostart 路径一份 。
保存并退出,然后重启或关机后再开机,即可实现Linux环境下Qt上位机软件开机自启的功能。
如果不想使用此功能,删除 /etc/xdg/autostart 路径下的 sntp.desktop 文件即可