如何启动具有root权限的QProcess?

我需要从Qt程序中启动
gphoto2
。我这样做:
QString gphotoProgram = "/usr/bin/gphoto2";
QStringList gphotoArguments;
gphotoArguments << "--capture-image";
QProcess *gphotoProcess = new QProcess(this);
gphotoProcess->start(gphotoProgram, gphotoArguments);
但它永远不会以这种方式进入
Running
状态,因为
gphoto2
通常需要在命令行上启动管理员权限。 我怎样才能以适当的权利开始这个ѭѭ工作? 编辑:我确切地说我希望用户不必输入密码,这意味着gksudo,kdesudo或任何其他图形解决方案对我来说不是一个有效的选项。     
已邀请:
我强烈建议找到一种方法,允许gphoto2以登录用户的权限运行。也许这篇文章有一些有用的信息。     
如果您启用了sudo的发行版,请尝试将“gksudo”添加到您的进程的命令行:
QString gphotoProgram = "gksudo /usr/bin/gphoto2"
如果用户帐户被授权为sudo-er,它将询问用户密码,以便程序可以使用root权限运行。     
您还可以使用PolicyKit以sudo权限启动QProcess。 pkexec命令 QString gphotoProgram =“pkexec / usr / bin / gphoto2”;     
GNOME和KDE还没有自己的图形sudo包装器吗? (我自己就是Windows用户。)你可以使用QProcess启动“sudo”并让它照顾高程和随后的gphoto发射。     

要回复问题请先登录注册