我想從我的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