linux qt 程序开机自启
设置自启动
由于项目要求Qt的程序实现开机自动启动功能,本人在网上找了一下,成功运行,在这里分享一下。
首先说一下我自己的配置:Ubuntu 18.04 ,Qt4.5.0(其他版本也可)
1、在/etc/xdg/autostart/目录下新建test.desktop
打开终端,输入:
sudo touch /etc/xdg/autostart/test.desktop
1
test 是自己起的名字,自己定义什么名字都ok。你可以在图形界面打开这个autostart文件夹可以看到里面有个test.desktop文件。
创建完之后有的可以在终端直接显示这个文件夹,如:
ncu@ncu:/etc/xdg/autostart:$
1
我的就没显示。。。。。如果没显示,你可以使用cd命令打开:
ncu@ncu:cd /etc/xdg/autostart
1
随后会出现和上面一样的命令行。
2、赋予权限 sudo chmod 777 test.desktop
ncu@ncu:/etc/xdg/autostart:$ sudo chmod 777 test.desktop
1
然后会让你输入root权限,输入就ok。
3、编辑test.desktop
我很简单,直接在图形界面文件夹里双击打开test.desktop这个文件。然后在其中输入以下内容:
[Desktop Entry]
Type=Application
Name=test
Exec=/home/wzq/qt/test.sh ///执行的脚本路径
1
2
3
4
执行的脚本路径其实可以直接改成你要运行的程序路径,路径获取可以打开qt然后跑一下你编写的程序,中止后最后的就是你的路径。我记得我的好像是****** with code 0.还是什么的,******就是路径。然后保存退出。
上面的步骤已经可以达到自启动要求了,我就是这样做的,重启之后确实可以自启动。
也可以在脚本里写入:
4、在/home/wzq/qt下 sudo touch test.sh
就是先在终端用cd命令打开qt文件夹(具体根据你的路径来),然后和1步骤类似创建出这个test.sh文件。
5、sudo vim test.sh(进程守护)
添加以下内容:
#! /bin/sh
PRO_UI=PingTechRZHY
while true; do
NUM_UI=`ps aux | grep ${PRO_UI} | grep -v grep |wc -l`
cd /home/wzq/qt/LIHYSB/V2/build-PingTechRZHY-Desktop_Qt_5_9_0_GCC_64bit-Debug //qt程序路径
if [ "${NUM_UI}" -lt "1" ];then
#如果不存在就重新启动
./PingTechRZHY -c 1 &
elif [ "${NUM_UI}" -gt "1" ];then
killall -9 $PRO_UI
fi
#每次循环沉睡5s
sleep 5
done
重启linux验证。
关闭自启动
我用的笨办法,如下:
1、根据脚本名称搜索脚本执行的进程;
ps -ef|grep **********
1
*******就是你的脚本进程,然后会出现类似下面的语句,
2、根据进程ID杀掉进程;
kill -9 24853
1
这样自启动的程序就暂时关闭了。
清除自启动
如果你不想要这个自启动功能了,把.desktop文件从/etc/xdg/autostart文件夹中删除就可以了。
ncu@ncu:$ cd /etc/xdg/autostart
ncu@ncu: cd /etc/xdg/autostart:$ sudo rm -rf test.desktop
ncu@ncu:$ //输入root密码
1
2
3
这样就可以了。
文章知识点
————————————————
版权声明:本文为CSDN博主「pupil 程」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_51512325/article/details/115352201
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2021-10-27 ubuntu安装libjasper.so.1,libpng12.so.0