c++ - C++ 如何启动具有 root 权限的QProcess?

  显示原文与译文双语对照的内容
138 1

我需要从Qt程序启动 gphoto2我这样做:

QString gphotoProgram ="/usr/bin/gphoto2";
QStringList gphotoArguments;
gphotoArguments <<"--capture-image";
QProcess *gphotoProcess = new QProcess(this);
gphotoProcess->start(gphotoProgram, gphotoArguments);

因为 gphoto2 通常需要管理员权限才能启动 命令行,所以它不会以这种方式进入 Running 状态。

如何启动 QProcess 以使 gphoto2 工作正常?

我希望用户不必输入密码,这是我希望用户不必输入的密码,这意味着 gksudo 。kdesudo或者其他图形解决方案不是有效的选项。

时间: 原作者:

78 3

我强烈建议使用用户登录权限来查找允许gphoto2运行的方式。也许这篇文章中的有一些有用的信息。

原作者:
56 5

如果启用了已经启用的分发,请尝试将"gksudo"添加到进程的命令行 中:

QString gphotoProgram ="gksudo/usr/bin/gphoto2"

如果用户帐户被授权为 sudo,它将询问用户密码,以便程序能够使用 root 权限运行。

原作者:
...