dbus-send
command-line D-Bus method invocation and signaling
TLDR
SYNOPSIS
dbus-send [options] --dest=NAME object-path message [args...]
DESCRIPTION
dbus-send sends a message to a D-Bus message bus, either the system-wide bus or a session bus. It can invoke methods on D-Bus objects or emit signals, and optionally wait for and print replies.The command is useful for scripting interactions with D-Bus services, debugging D-Bus interfaces, and testing service implementations. Arguments are type-annotated (string:, int32:, boolean:, etc.) to construct properly typed D-Bus messages.Common use cases include sending desktop notifications, querying system properties, and controlling media players or other desktop services that expose D-Bus interfaces.
PARAMETERS
--session
Send to session bus.--system
Send to system bus.--dest NAME
Destination service name.--print-reply
Block for a reply and print the result in human-readable form.--print-reply=literal
Print reply with string values unescaped and unquoted.--type TYPE
Message type: method_call (default) or signal.--reply-timeout=MSEC
Timeout in milliseconds to wait for a reply (default: 25000).OBJECT-PATH
D-Bus object path (e.g., /org/freedesktop/DBus).MESSAGE
Method or signal name including interface (e.g., org.freedesktop.DBus.ListNames).string:, int32:, uint32:, boolean:, double:, byte:, objpath:
Typed arguments appended to the message.--help
Display help information.
CAVEATS
Complex method calls with nested types can be difficult to construct. System bus methods often require elevated privileges. Missing --print-reply means responses are ignored. Type annotations must match service expectations exactly.
HISTORY
dbus-send is part of the D-Bus reference implementation, developed by Red Hat and freedesktop.org starting in 2003. It provides command-line access to the D-Bus IPC system used extensively in Linux desktop environments.
SEE ALSO
dbus-daemon(1), dbus-launch(1), dbus-monitor(1), busctl(1), gdbus(1), qdbus(1)
