dbus-monitor
Monitor D-Bus message traffic
SYNOPSIS
dbus-monitor [options] [match-rule ...]
PARAMETERS
--system
Connect to the system message bus (default is session bus).
--session
Connect to the session (user) message bus.
--address=ADDRESS
Connect to bus instance at given ADDRESS (e.g., unix:path=/run/dbus).
--monitor
Enable full monitoring mode, including broadcasts and security events (requires bus admin privileges).
-e, --stderr
Write output to stderr instead of stdout.
-p, --print-reply[=literal]
Print replies to outgoing method calls. literal prints raw values.
-x, --raw
Dump message data in hexadecimal format.
-h, --help
Display help and exit.
-V, --version
Print version information.
DESCRIPTION
dbus-monitor is a diagnostic tool from the D-Bus library that listens to and displays messages passing through the D-Bus message bus system. D-Bus is an inter-process communication (IPC) mechanism used extensively in Linux desktop environments like GNOME and KDE for communication between applications, services, and the desktop session.
It captures method calls, signals, replies, and errors in real-time, formatting them in a readable way with details like timestamps, sender/receiver serial numbers, object paths, interfaces, member names, and message bodies. This is invaluable for developers debugging applications, system administrators troubleshooting services (e.g., NetworkManager, systemd-logind), or users investigating desktop issues.
By default, it connects to the user session bus, but can monitor the system-wide bus. Matches can filter specific messages by type, interface, path, etc. Output includes headers like signal time=... sender=...:org.freedesktop.DBus → :1.0 org.freedesktop.DBus.NameOwnerChanged, followed by arguments. It's non-intrusive but may require elevated privileges for system bus or full monitoring.
CAVEATS
System bus monitoring often requires root privileges via sudo. High-traffic buses produce verbose output; use match rules to filter. Not suitable for long-term logging due to performance overhead. Unicode control characters may need --allow-unicode-control-characters in newer versions.
EXAMPLES
dbus-monitor --system # Monitor system bus
dbus-monitor "type='signal',interface='org.freedesktop.Notifications'" # Filter notification signals
dbus-monitor --session --print-reply # Session bus with replies
HISTORY
Developed as part of the D-Bus project by freedesktop.org around 2002 for GNOME's IPC needs, replacing CORBA/dcops. Integrated into most distros by mid-2000s with systemd and modern desktops. Current versions (1.14+) support enhanced filtering and security.
SEE ALSO
dbus-send(1), dbus-launch(1), dbus-daemon(1), qdbus(1)


