从gnome扩展运行sudo命令



我想运行一个sudo命令,提示GUI让用户输入密码并取回密码以备将来使用。

在gnome扩展中运行

GLib.spawn_command_line_sync('sudo echo e')

我得到以下错误

sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper

您永远不应该存储用户密码供以后使用,也不应该运行产生其他程序的特权程序,而是在每次需要时进行提示。

要提示输入特权程序,通常可以使用pkexec代替sudo。此外,您应该尽可能与Gio.Subprocess异步生成,因为同步子进程会阻塞GNOMEShell的主线程。

最新更新