3

大多数关于此的其他问题似乎与 C 相关。我正在使用Free PascalLazarus IDE,版本分别为 2.4.0 和 0.9.30。

我正在创建一个 GUI,它调用并将参数传递给 Linux 命令。我不希望我的用户必须使用 sudo\root 运行整个 GUI,而是在适当的时候提示输入密码。

TProcess用来调用 Linux 命令并传递和读取值。但是,我无法解决如何将sudo密码从我自己的程序传递给命令?

举个例子,使用下面的普通命令行:

dd if=/dev/hda1 of=~/image.dd
Enter sudo password:

我的程序正在调用dd,从 GUI 界面传递它ifof值 - 然后它需要收集sudo密码并将其传递给dd.

4

2 回答 2

3

有点旧,但是 - 在你的命令前面使用 pkexec,比如: pkexec ls /root

您每次都会获得用于输入 root 密码的 GUI 信息。在 LinuxMint 上测试

于 2011-12-27T22:37:37.200 回答
2

在您已经在使用的前提下,您可以使用以下已建立的调用/方法之一TProcess,而不是直接向您发出命令行调用:ddsusudo

于 2011-09-21T16:19:46.537 回答