내 C++/Qt 코드에서 root 사용자로 linux 명령을 실행하고 싶습니다. 궁극적으로 루트 패스를 요청하는 대화 상자가 구현되어야하지만 그렇지 않은 경우 루트 비밀번호를 하드 코딩 할 수 있습니다.linux 명령을 루트로 실행
QProcess p;
p.start("dmidecode");
p.waitForFinished(-1);
QString p_stdout = p.readAllStandardOutput();
QString p_stderr = p.readAllStandardError();
을 그리고 루트 권한을 요청하지 않는 명령을 위해 노력하고 있습니다 :
이것은 내가 지금까지 할 것입니다. 하지만 "zypper up"또는 "dmidecode"와 같은 명령을 구현하고 싶습니다. 루트 암호 없이는 실행할 수 없습니다.
아마도 void QProcess::setEnvironment (const QStringList & environment)
으로 무엇인가 할 수 있습니까?
감사
나는 Qt 혼자서 (표준 또는 적어도 표준적인 방식으로) 할 수 없다고 생각한다. KDE에는 표준 방식이 있습니다. 해당 설명서를 검색하십시오. –
root로 명령을 실행하려면 데스크탑 관리자의 인터페이스를 사용해야합니다. 우분투의 경우 암호 인터페이스에 gksudo를 사용할 수 있습니다. – blottedscience