3

gphoto2Qt プログラムから起動する必要があります。私はこれをします:

QString gphotoProgram = "/usr/bin/gphoto2";
QStringList gphotoArguments;
gphotoArguments << "--capture-image";
QProcess *gphotoProcess = new QProcess(this);
gphotoProcess->start(gphotoProgram, gphotoArguments);

ただし、通常はコマンドラインで起動するには管理者権限が必要なためRunning、この方法で状態になることはありません。gphoto2

QProcess適切な権限でこれを開始するにはどうすればよいgphoto2ですか?

編集:ユーザーがパスワードを入力する必要がないようにしたいと思います。つまり、gksudo、kdesudo、またはその他のグラフィカルソリューションは私にとって有効なオプションではありません。

4

4 に答える 4

2

ログインしたユーザーの権限で gphoto2 を実行できるようにする方法を見つけることを強くお勧めします。おそらく、この記事にはいくつかの役立つ情報があります。

于 2011-04-11T23:06:27.090 に答える
1

sudo が有効になっているディストリビューションがある場合は、プロセスのコマンド ラインに「gksudo」を追加してみてください。

QString gphotoProgram = "gksudo /usr/bin/gphoto2"

ユーザー アカウントが sudo-er として承認されている場合、プログラムが root 権限で実行できるようにユーザー パスワードを要求されます。

于 2011-04-11T18:44:01.150 に答える
1

PolicyKit を使用して、sudo 権限で QProcess を開始することもできます。

pkexec コマンド

QString gphotoProgram = "pkexec /usr/bin/gphoto2";

于 2011-05-14T12:11:57.017 に答える
0

GNOME と KDE には、独自のグラフィカルな sudo ラッパーがまだありませんか? (私自身は Windows の人間です。) QProcess を使用して "sudo" を起動し、昇格とそれに続く gphoto の起動を処理させることができます。

于 2011-04-11T18:43:58.313 に答える