小编por*_*Jay的帖子

sd-bus API,sd_bus_request_name 返回权限被拒绝

systemd 221 中的总线 API。当我为系统总线中的对象请求名称时,它会打印出一条错误消息,指出“权限被拒绝”。我以 root 身份运行输出文件。“sd_bus_request_name(bus, "net.poettering.Calculator", 0)” 行抛出错误:“无法获取服务名称..:权限被拒绝”

我认为 root 应该有权获取对象的名称。有谁知道如何解决这个问题?

先感谢您。

这是来自http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html的示例代码:

int main(int argc, char *argv[]) {
sd_bus_slot *slot = NULL;
sd_bus *bus = NULL;
int r;

r = sd_bus_default_system(&bus);
if (r < 0) {
    fprintf(stderr, "Failed to connect to system bus: %s\n", strerror(-r));
    goto finish;
}

/* Install the object */
r = sd_bus_add_object_vtable(bus,
                             &slot,
                             "/net/poettering/Calculator",
                             "net.poettering.Calculator",   /* interface name                             */calculator_vtable,
                             NULL);
if (r < 0) {
    fprintf(stderr, "Failed to issue method call: %s\n", …
Run Code Online (Sandbox Code Playgroud)

linux dbus bus systemd

4
推荐指数
2
解决办法
2501
查看次数

标签 统计

bus ×1

dbus ×1

linux ×1

systemd ×1