Linux Commands Examples

A great documentation place for Linux commands


Send a message to a message bus


dbus-send [--system | --session] [--dest=NAME] [--print-reply[=literal]] [--reply-timeout=MSEC] [--type=TYPE] OBJECT_PATH INTERFACE.MEMBER [CONTENTS ...]

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


dbus-send --system --print-reply --dest="org.freedesktop.UPower" \
/org/freedesktop/UPower org.freedesktop.UPower.Suspend
dbus-send --session --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.freedesktop.DBus.Introspectable.Introspect
dbus-send --session --print-reply --type=method_call --dest=at.beko.inspect / org.freedesktop.DBus.Introspectable.Introspect


The dbus-send command is used to send a message to a D-Bus message bus. See for more information about the big picture.

There are two well-known message buses: the systemwide message bus (installed on many systems as the "messagebus" service) and the per-user-login-session message bus (started each time a user logs in). The --system and --session options direct dbus-send to send messages to the system or session buses respectively. If neither is specified, dbus-send sends to the session bus.

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 | uint 16 | 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).

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 \

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.


The following options are supported:

Specify the name of the connection to receive the message.


Block for a reply to the message sent, and print any reply received in a human-readable form.


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.


Wait for a reply for up to MSEC milliseconds. The default is implementation-defined, typically 25 seconds.


Send to the system message bus.


Send to the session message bus. (This is the default.)


Specify method_call or signal (defaults to "signal").


Please send bug reports to the D-Bus mailing list or bug tracker, see


dbus-send was written by Philip Blundell.

How can this site be more helpful to YOU ?

give  feedback