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