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