我想从我的C++/Qt代码中以root用户的身份执行linux命令。 最终应该实现一个请求根传递的对话框,但是对于没有,我可以硬编码根密码。以root身份执行linux命令
这是我迄今所做的:
QProcess p;
p.start("dmidecode");
p.waitForFinished(-1);
QString p_stdout = p.readAllStandardOutput();
QString p_stderr = p.readAllStandardError();
而且它正在为那些不要求root权限的命令。但是我想实现像“zypper up”或“dmidecode”这样的命令,我不能在没有root密码的情况下执行命令。
可能是void QProcess::setEnvironment (const QStringList & environment)
可以做些什么?
感谢
我相信它不能仅在Qt中完成(以标准或至少标准化的方式)。 KDE有一个标准的方法。尝试搜索他们的文档。 –
您需要使用桌面管理器的界面以root身份运行命令。例如,对于Ubuntu,您可以使用gksudo作为密码界面。 – blottedscience