Я новичок в Dbus и мне любопытно, есть ли способ контролировать процесс и видеть, получает ли этот процесс какие-либо сообщения Dbus. (Я работаю над некоторым проектом и хочу знать, получает ли Xserver какие-либо сообщения Dbus при выходе из системы). Большое спасибо.

1 ответ1

0

Взгляните на эту статью WIKI:

Обычно используются две шины: session bus и system bus . Любое может быть использовано любым приложением, в зависимости от того, что оно делает.

  • Для мониторинга сессионной шины: dbus-monitor
  • Для мониторинга системной шины:

создайте файл /etc/dbus-1/system-local.conf со следующим содержимым:

<!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 eavesdrop="true"/>
        <allow eavesdrop="true" send_destination="*"/>
    </policy>
</busconfig>

Перезагрузите компьютер, чтобы принять изменения конфигурации. Просто перезагрузить конфигурацию сервера DBus недостаточно. Для получения дополнительной информации см. Эту ошибку.

Теперь запустите dbus-monitor от имени пользователя root. Вы должны видеть все сигналы, вызовы методов и ответы методов.

sudo dbus-monitor --system

После завершения отладки целесообразно удалить фрагмент политики:

sudo rm /etc/dbus-1/system-local.conf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .