【Linux 麒麟系统 qt 程序通过root启动 桌面程序】

关键字

pkexec
.desktop
qt

原始需求:
用户在麒麟系统上通过快捷方式(.desktop)启动程序后绑定系统的26端口,但是因为系统权限问题,26端口普通用户无法绑定成功,故需要root权限。

测试系统
银河麒麟国防版 V10  龙芯3A6000

方案一

直接写一个脚本 xx.sh
通过sudo 启动程序,简单明了,但用户不接受,还是希望通过桌面图标进行启动

#!/bin/bash
sudo /opt/xxx/AppRun

方案二

第一步 修改.desktop

[Desktop Entry]
Type=Application
Comment=xxx
Connent[zh_CN]=xgs
Name=xgs
Name[zh_CN]=xxx
Exec=/opt/xxx/xxx.sh
GenericName=xxx
genericName[zh_CN]=xxx
MimeType=application/tools
Icon=xxx
Comment=xxx
Terminal=false
Categories=Development;
X-AppImage-Version=f25f840

快捷方式关联脚本,而不是直接启动程序

第二步 xxx.sh实现

通过pkexec启动

#!/bin/bash
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/xxx/AppRun

启动效果
通过pkexec启动效果

至此,程序通过root权限启动

注意

pkexec 启动时的环境变量参数 以及程序路径

在银河麒麟 Linux 系统终端设置开机自启动可参考以下方法: - **方法一**:在银河麒麟 V10 桌面版系统将用户开发 Qt 界面程序添加为开机自启动。打开终端,切换到 root 用户,进入 `/etc/xdg/autostart` 目录,创建一个新的 `.desktop` 文件,例如 `Test.desktop`。编辑 `Test.desktop` 文件并添加以下内容: ```plaintext [Desktop Entry] Encoding=UTF-8 Type=Application Name=Test Exec=/home/kylin/build-untitled-unknown-Release/untitled ``` 其中,`Name` 为应用名称,`Exec` 为执行的程序命令 [^2]。 - **方法二**:在 `/usr/share/applications` 目录中新建 `test.desktop` 文件,内容如下: ```plaintext [Desktop Entry] Encoding=UTF-8 Type=Application Name= 名称,不影响 Exec= 文件位置,包括文件名。(判断位置的关键信息) ``` desktop 文件参数较多,可查看同目录下的其他 desktop 文件的写法。最关键的是 `Exec` 启动路径。与 Windows 不同,Linux 系统中的文件启动与扩展名无关,可以先用 `./文件名` 指令尝试启动,确保文件能正常启动后再进行下一步 [^3]。 - **方法三**:编写 `.desktop` 文件,其中 `Name` 为应用名称,`Exec` 为执行的程序命令,`Icon` 为程序的图标,`X - GNOME - Autostart - enabled` 为是否启用自启动。保存并退出脚本,并将其授予可执行权限: ```bash sudo chmod +x myAppName.desktop ``` 重启电脑,查看程序是否自启 [^4]。 - **方法四**:在有的银河麒麟系统中,若正常添加开机自启项失败,可切换到 root 用户,然后把 `uavGuarantee.desktop` 文件放到 `/etc/xdg/autostart` 目录下,实现开机自动运行 [^1]。 - **方法五**:将 `.desktop` 文件保存后,设置文件属性为可执行,然后将文件放到路径为 `/usr/share/applications` 中。在桌面右键显示属性,在启动项中将 `.desktop` 文件添加到启动项中 [^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车轮滚滚向西行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值