как создать dbus шину в linux?

у меня вопрос, у меня приложение требует root прав, так как работает с сетевыми пакетами. Если запустить без root прав, то приложение создает dbus нужные шины. Но если запустить с правами root, то ничего не создает. пробовал менять шину с session на system, всё равно не видно созданной шины. что делать? уже получилось создать, но это не работает, только шина видна. введите сюда описание изображения есть конфиг com.xverizex.watcher.conf

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
    <policy user="root">
        <allow own="com.xverizex.watcher"/>
        <allow send_destination="com.xverizex.watcher" 
            send_interface="com.xverizex.watcher"/>
    </policy>
    <policy context="default">
        <allow send_destination="com.xverizex.watcher" 
            send_interface="com.xverizex.watcher"/>
        </policy>
</busconfig>

сам skeleton выглядит так.

<node name="/com/xverizex/watcher">
    <interface name="com.xverizex.watcher">
        <annotation name="org.gtk.GDBus.C.Name" value="scanner" />

        <signal name="Clear"/>
    </interface>
</node>

я его с помощью gdbus-codegen делаю из него skeleton. так вот. если запустить без прав root и на сессионной шине, то интерфейс с сигналом видно, если запустить с root на системной шине, то видно только own шину, а интерфейса не видно.


Ответы (0 шт):