如何向我的 GUI 应用程序的用户询问 root 密码,并将其通过管道传递给 makepkg?

如何向我的 GUI 应用程序的用户询问 root 密码,并将其通过管道传递给 makepkg?

我正在学习铁锈。我正在构建一个简单的 GUI 应用程序,它可以抓取 aur 并安装一个包。我使用 tauri 作为 GUI。

因此,要安装 aur 应用程序,我将makepkg -si在包目录中运行。但是,它在安装过程中要求输入 root 密码。搜索网络后,我发现,我可以使用 pkexec 以图形方式询问密码,但 pkexec 就像使用 sudo 并运行 makepkg 一样,因为 sudo 是不允许的。

知道我应该做什么吗?有什么文章可以看吗?

答案1

因此,要安装 aur 应用程序,我将在包目录中运行 makepkg -si。但是,它在安装过程中要求输入 root 密码。搜索网络后,我发现,我可以使用 pkexec 以图形方式询问密码,但 pkexec 就像使用 sudo 并运行 makepkg 一样,因为 sudo 是不允许的。

makepkg本身必要时使用 sudo。它从不直接要求您输入密码;它只是在必须调用 pacman 时调用sudoor 。doas

因此,如果使用 sudo,您可以将SUDO_ASKPASS环境变量设置为某个会显示密码提示的程序。

您还可以PACMAN_AUTH通过 ~/.config/pacman/makepkg.conf 设置以使其使用 pkexec。

答案2

使用图形 AUR 助手可能会导致系统出现缺陷,例如通过无人值守部分升级。话虽这么说,我建议看看帕鲁成为 rust aur 助手,了解如何在 rust 中制作/使用 aur 助手

相关内容