Vala和PolicyKit

时间:2013-02-23 15:20:00

标签: linux permissions dbus vala

我在Vala中创建一个简单的基于GTK +的应用程序,它应该能够写入系统目录,因此需要root访问权限。我意识到提供完全root权限是一个坏主意,所以我需要一种获得临时权限的方法。

理论上,PolicyKit D-Bus服务是工作的工具,但我不知道如何使用它,更不用说在Vala代码中了。任何见解都将不胜感激。

更新 我做了一些进一步的挖掘。我的出发点是this。基本上我需要的是找出如何使这些解决方案适应PolicyKit。为此,需要找到PolicyKit的D-Bus接口。我发现它here。 (奇怪的是我没有在我的本地 / usr / share / dbus-1 / interfaces 文件夹中找到它。)但现在我不知道如何继续。

1 个答案:

答案 0 :(得分:2)

polkit Reference Manual包含一些很好的信息,包括writing polkit applications的高级概述。

您应该考虑使用libpolkit-gobject-1库,而不是直接使用D-Bus接口。您可以直接使用GIR,或使用vapigen生成VAPI(我建议使用)。 Here是我刚才生成的。我并不熟悉API,但使用C API参考作为参考来计算Vala API非常容易。