我正在Vala中创建一个简单的基于GTK+的应用程序,它应该能够写入系统目录,因此需要根访问。我意识到给予完全根访问是个坏主意,所以我需要一种获得临时特权的方法。
理论上,PolicyKit D总线服务是这项工作的工具,但我不知道如何使用它,更不用说在Vala代码中了。任何洞察力都将不胜感激。
更新:,我做了一些进一步的调查。我的出发点是这。因此,基本上,我需要的是找出如何使这些解决方案适应PolicyKit。为此,有必要找到PolicyKit的D总线接口.我找到它了这里。(奇怪的是,我没有在本地/usr/share/dbus-1/interfaces文件夹中找到它。)但现在我不知道怎么继续下去了。
发布于 2013-02-25 01:57:03
polkit参考手册包含一些很好的信息,包括关于编写polkit应用程序的高级概述。
与其直接使用D总线接口,不如考虑使用libpolkit-gobject 1库。您可以直接使用GIR,也可以用蒸汽生成VAPI (我建议这样做)。这里是我刚生成的。我不太熟悉这个API,但是使用一个C API引用作为引用来计算Vala API是非常容易的。
https://stackoverflow.com/questions/15042074
复制相似问题