Я хочу выполнить команду linux от имени пользователя root из моего кода C ++ / Qt.
В конечном итоге должен быть реализован диалог, запрашивающий пароль root, но я не могу жестко закодировать пароль root.
Это то, что я сделал до сих пор:
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 )
?
Спасибо