qt编译的Release版本的可执行文件路径如下:
/home/zjq/documents/metroMix_useable/METRO/Release
可执行文件名为:
MetroApp
在该路径下新建一个文本文件start.sh,在start.sh的属性中权限设置为允许文件作为程序执行,文本内容如下(参考文章):
PRO_UI=MetroAppwhile true; doNUM_UI=`ps aux | grep ${PRO_UI} | grep -v grep |wc -l`cd /home/zjq/documents/metroMix_useable/METRO/Release //qt程序路径 if [ "${NUM_UI}" -lt "1" ];then #如果不存在就重新启动 sudo ./MetroApp -c 1 & elif [ "${NUM_UI}" -gt "1" ];then killall -9 $PRO_UI fi #每次循环沉睡5s sleep 5done
这样开启的程序就会有个守护进程,关闭程序后又会自动打开运行。
2.桌面快捷方式然后,我们需要新建一个.desktop文件,可以让该程序能够双击运行,取名为MetroApp.desktop,内容如下:
[Desktop Entry]Version=1.0Type=ApplicationName=MetroAppExec=/home/zjq/documents/metroMix_useable/METRO/Release/start.shIcon=/home/zjq/documents/metroMix_useable/METRO/Release/metro.pngTerminal=true
其中Terminal为true时,除界面程序外还会运行一个终端程序,为false时则只有界面程序存在。
将MetroApp.desktop文件拷贝至桌面 **~/Desktop(/home/zjq/Desktop
) ,并给予权限: sudo chmod 777 MetroApp.desktop ,第一次双击运行时会出现下图选项:
点击信任并启动即可。如果提示应用程序无法启动,大概率就是start.sh没有设置成允许文件作为程序执行。
若要将该程序设置为开机自启,则将MetroApp.desktop文件拷贝至 /etc/xdg/autostart 下,同样给予权限 sudo chmod 777 MetroApp.desktop 。
这样不出意外的话就能实现开机自启并加以守护进程了。