DBUS-SEND(1)
dbus-send โ DBUS-SEND(1), but make it cute ๐
Okay bestie, welcome to dbus-send from the User Commands section โ this is the DBUS-SEND(1) manual page, and it is literally your little messenger for talking to a D-Bus message bus. ๐ฆ
๐ SYNOPSIS ๐
dbus-send [--system | --session | --bus=ADDRESS | --peer=ADDRESS]
[--sender=NAME] [--dest=NAME] [--print-reply [=literal]]
[--reply-timeout=MSEC] [--type=TYPE] OBJECT_PATH
INTERFACE.MEMBER [CONTENTS...]
๐ธ DESCRIPTION ๐ธ
So the dbus-send command sends a message to a D-Bus message bus. If you want the whole big-picture vibe, see https://www.freedesktop.org/wiki/Software/dbus/ โ thatโs where the lore lives. โจ
There are two well-known message buses, bestie:
- the systemwide message bus โ installed on many systems as the
"messagebus"service - the per-user-login-session message bus โ started each time a user logs in
The --system and --session options tell dbus-send to send messages to the system or session buses respectively. If neither is specified, dbus-send sends to the session bus. Default behavior, slay. ๐
Nearly all uses of dbus-send must provide the --dest argument, which is the name of a connection on the bus to send the message to. If --dest is omitted, no destination is set. ๐ซถ
The object path and the name of the message to send must always be specified. Following arguments, if any, are the message contents (message arguments). These are given as type-specified values and may include containers (arrays, dicts, and variants) as described below:
<contents> ::= <item> | <container> [ <item> | <container>...]
<item> ::= <type>:<value>
<container> ::= <array> | <dict> | <variant>
<array> ::= array:<type>:<value>[,<value>...]
<dict> ::= dict:<type>:<type>:<key>,<value>[,<key>,<value>...]
<variant> ::= variant:<type>:<value>
<type> ::= string | int16 | uint16 | int32 | uint32 | int64 | uint64 | double | byte | boolean | objpath
D-Bus supports more types than these, but dbus-send currently does not. Also, dbus-send does not permit empty containers or nested containers (e.g. arrays of variants). Not me finding out the hard way ๐ญ โ thatโs just the rule.
Here is an example invocation:
dbus-send --dest=org.freedesktop.ExampleName \
/org/freedesktop/sample/object/name \
org.freedesktop.ExampleInterface.ExampleMethod \
int32:47 string:'hello world' double:65.32 \
array:string:"1st item","next item","last item" \
dict:string:int32:"one",1,"two",2,"three",3 \
variant:int32:-8 \
objpath:/org/freedesktop/sample/object/name
Note that the interface is separated from a method or signal name by a dot, though in the actual protocol the interface and the interface member are separate fields. iykyk ๐ง
โจ OPTIONS โจ
The following options are supported:
--dest=NAMEโ specify the name of the connection to receive the message.--print-replyโ block for a reply to the message sent, and print any reply received in a human-readable form. It also means the message type (--type=) ismethod_call.--print-reply=literalโ block for a reply to the message sent, and print the body of the reply. If the reply is an object path or a string, it is printed literally, with no punctuation, escape characters etc.--reply-timeout=MSECโ wait for a reply for up toMSECmilliseconds. The default is implementationโdefined, typically 25 seconds.--systemโ send to the system message bus.--sessionโ send to the session message bus. (This is the default.)--bus=ADDRESSโ register on a message bus atADDRESS, typically adbus-daemon.--peer=ADDRESSโ send to a non-message-bus D-Bus server atADDRESS. In this casedbus-sendwill not call theHellomethod.--sender=NAMEโ request ownership of nameNAMEbefore sending the message. The name will be released whendbus-sendexits.--type=TYPEโ specifymethod_callorsignal(defaults to"signal").
๐ฅ EXIT STATUS ๐ฅ
Exit status 0 indicates success. A non-zero exit status indicates any failure, including invalid parameters, failure to connect to the --bus or --peer, failure to obtain the --sender name, a timeout while waiting for a reply to a method call, or receiving an error as the reply to a method call. So yeah โ 0 is the slay, non-zero is the โbestie, something went wrongโ ๐ญ
๐ AUTHOR ๐
dbus-send was written by Philip Blundell. Icon behavior, honestly. ๐
๐ BUGS ๐
Please send bug reports to the D-Bus mailing list or bug tracker, see https://www.freedesktop.org/wiki/Software/dbus/ โ they want the receipts, bestie. ๐ซถ
๐ Thatโs the whole page, bestie โ from D-Bus 1.16.2, dated 03/03/2025, and yes, itโs the DBUS-SEND(1) manual. ๐
๐ฆ where this page comes from
- alpine 3.22: dbus-doc 1.16.2-r1 ยท AFL-2.1 OR GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms