私はシャットダウンボタンがあるQTアプリケーションを書いています。私はこのボタンでシステムをシャットダウンしたいが、シェルコマンド "shutdown -h now"を使うと、システムはパスワードを要求する。
パスワードなしでシャットダウンします。ubuntu 11.04でパスワードなしのシステムシャットダウン
私のQTのコードは次のとおりです。
QObject *parent;
myProcess = new QProcess(this);
QString command= "sudo shutdown";
QStringList arguments;
arguments << "-h " << "now" ;
myProcess->start(command,arguments);
はあなたが権限について考えたことがありますか?あなたのプログラムをsetuid(悪い考え方)にするか、 '/ sbin/shutdown'をsetuid(悪い考え方)にするか、現在のユーザを'/etc/sudoers'ファイルに追加して、 'sudo/sbin/shutdown'をプログラム(面倒)。 – trojanfoe