关于在Qt中获得管理员权限的问题,求助。

软件和网站开发以及相关技术探讨
回复
yndl3166
帖子: 3
注册时间: 2014-03-04 20:31
系统: Ubuntu 14.04

关于在Qt中获得管理员权限的问题,求助。

#1

帖子 yndl3166 » 2014-03-04 20:40

刚刚开始接触Qt编程,第一个程序尝试给学校的锐捷客户端加一个图形界面。
但是遇到了问题就是这个程序要求管理员权限。

我尝试了gksu,但是因为软件本身带有参数所以gksu不能工作。
现在只能在终端中用sudo打开,这样是可以正常使用的。

请问怎么样才能直接打开程序后通过交互获得管理员权限呢?
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
联系:

Re: 关于在Qt中获得管理员权限的问题,求助。

#2

帖子 月下叹逍遥 » 2014-03-04 20:49

不可能吧,不安全 :em01
浮生七十今三十,从此凄惶未可知
yndl3166
帖子: 3
注册时间: 2014-03-04 20:31
系统: Ubuntu 14.04

Re: 关于在Qt中获得管理员权限的问题,求助。

#3

帖子 yndl3166 » 2014-03-04 21:36

月下叹逍遥 写了:不可能吧,不安全 :em01
可是很多其他应用也有这样的需求啊。是怎么解决的呢?

我现在是用一个脚本来调用我的程序。可以实现用gksu来调用。
但是如果用脚本的话和写这个程序的初衷又背离了。
:em20 伤脑筋
nae6taiyie0T
帖子: 482
注册时间: 2013-09-13 0:42
系统: Debian sid

Re: 关于在Qt中获得管理员权限的问题,求助。

#4

帖子 nae6taiyie0T » 2014-03-05 0:16

yndl3166 写了:刚刚开始接触Qt编程,第一个程序尝试给学校的锐捷客户端加一个图形界面。
但是遇到了问题就是这个程序要求管理员权限。

我尝试了gksu,但是因为软件本身带有参数所以gksu不能工作。
现在只能在终端中用sudo打开,这样是可以正常使用的。

请问怎么样才能直接打开程序后通过交互获得管理员权限呢?
前些年用gksu, 现在都换用 policykit了, 因为后者更为灵活.
比如packagekit, gnome-control-center等都在用它.
在gnome-control-center中有详细的使用方法, 你可以读一下它的源码.
yndl3166
帖子: 3
注册时间: 2014-03-04 20:31
系统: Ubuntu 14.04

Re: 关于在Qt中获得管理员权限的问题,求助。

#5

帖子 yndl3166 » 2014-03-06 22:58

nae6taiyie0T 写了:
yndl3166 写了:刚刚开始接触Qt编程,第一个程序尝试给学校的锐捷客户端加一个图形界面。
但是遇到了问题就是这个程序要求管理员权限。

我尝试了gksu,但是因为软件本身带有参数所以gksu不能工作。
现在只能在终端中用sudo打开,这样是可以正常使用的。

请问怎么样才能直接打开程序后通过交互获得管理员权限呢?
前些年用gksu, 现在都换用 policykit了, 因为后者更为灵活.
比如packagekit, gnome-control-center等都在用它.
在gnome-control-center中有详细的使用方法, 你可以读一下它的源码.
好的!但是似乎policykit的实现方法有些困难!我再研究研究! :em06
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 关于在Qt中获得管理员权限的问题,求助。

#6

帖子 astolia » 2014-04-13 12:14

yndl3166 写了: 我尝试了gksu,但是因为软件本身带有参数所以gksu不能工作。
是你没用对。

代码: 全选

gksu --gksu参数 -- 你的程序 你的程序参数
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 关于在Qt中获得管理员权限的问题,求助。

#7

帖子 自由建客 » 2014-06-10 22:35

gksudo
qtiewnil
帖子: 25
注册时间: 2013-06-20 12:07
系统: ubuntu

Re: 关于在Qt中获得管理员权限的问题,求助。

#8

帖子 qtiewnil » 2014-06-18 18:46

离不开权限。
某程序能得到多高的权限,关键是由哪个级别的用户去打开(某程序)。
管理员登录吧。
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 关于在Qt中获得管理员权限的问题,求助。

#9

帖子 poloshiao » 2014-06-18 19:24

我尝试了gksu,但是因为软件本身带有参数所以gksu不能工作。
Ubuntu 預設是關閉 root 登入
特別是 登入 tty7 ~ tty12 避免使用 root 登入
gksu 如果沒有指名非 root 使用者 是給 root 登入使用的 所以會碰到尷尬情形
http://manpages.ubuntu.com/manpages/tru ... ksu.1.html
gksu is a frontend to su
http://manpages.ubuntu.com/manpages/tru ... /su.1.html
Invoked without a username, su defaults to becoming the superuser.
请问怎么样才能直接打开程序后通过交互获得管理员权限呢?
在 Ubuntu 建議
sudo + 文字指令
gksudo + gnome-圖形指令 (包含 unity)
kdesudo + kde-圖形指令
前些年用gksu, 现在都换用 policykit了,
在 Ubuntu 最好改為
前些年用 sudo gksudo, 现在都换用 policykit了
不過這個改變需要經歷 Ubuntu 好幾個版本
還有一段長路要走
http://www.serkey.com/ubuntu-policykit-bcwbst.html
http://en.wikipedia.org/wiki/Polkit
https://wiki.ubuntu.com/DesktopTeam/Spe ... ntegration
回复