私の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権限を要求しないコマンドのために働いています。しかし、私はrootパスワードなしでは実行できない "zypper up"や "dmidecode"のようなコマンドを実装したい。
void QProcess::setEnvironment (const QStringList & environment)
でおそらく何かできますか?
おかげ
私はそれがQt単独で(標準的な方法または少なくとも標準的な方法で)行えないと信じています。しかし、KDEには標準的な方法があります。ドキュメントを検索してみてください。 –
rootとしてコマンドを実行するには、デスクトップマネージャのインターフェースを使用する必要があります。 ubuntuでは、例えばパスワードインタフェースとしてgksudoを使うことができます。 – blottedscience