最近制作了一个访问系统特殊设备的程序,需要管理员权限。
并且为了方便监控,使用QT做的程序,可实时监控。
最后要求系统桌面启动后自动加载。
Ubuntu系统版本为20.04.5
此处程序名定为 QDemo,位于[ /home/tom ] 下
1.创建脚本[qdemo.sh],用于启动程序,脚本内容为:
#!/bin/bash
sudo /home/tom/QDemo
为脚本添加权限
sudo chmod +x /home/tom/qdemo.sh
此时调用脚本,会提示输入密码,还不符合我们最后自动启动的要求
2.设置程序无密码启动
切换root用户
使用visudo编辑策略文件(VIM编辑器,按"I"插入)
在#Allow members of group sudo to execute any command下面加入一句
username(当前用户名) ALL=(root) NOPASSWD: /home/tom/QDemo
可参考当前组其他条目格式
修改后保存退出(:wq)
此时回到程序目录,发现调用脚本即可直接启动
3.自动启动
使用gnome-session-properties打开自启动管理器
选择【添加】
名称随意,【命令】改为/home/tom/qdemo.sh
点击添加保存
重新启动系统,目标程序如愿自动弹出工作。
本文详细描述了如何在Ubuntu20.04.5系统中制作一个需要管理员权限的QT程序QDemo,通过创建启动脚本、设置无密码执行权限以及添加至系统自启动列表,实现程序自动启动的过程。
2455

被折叠的 条评论
为什么被折叠?



