chiark / gitweb /
busctl: add new "introspect" verb for introspecting objects
[elogind.git] / man / busctl.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5 <!--
6 This file is part of systemd.
7
8 Copyright 2014 Zbigniew Jędrzejewski-Szmek
9
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19
20 You should have received a copy of the GNU Lesser General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22 -->
23
24 <refentry id="busctl"
25           xmlns:xi="http://www.w3.org/2001/XInclude">
26
27   <refentryinfo>
28     <title>busctl</title>
29     <productname>systemd</productname>
30
31     <authorgroup>
32       <author>
33         <contrib>A monkey with a typewriter</contrib>
34         <firstname>Zbigniew</firstname>
35         <surname>Jędrzejewski-Szmek</surname>
36         <email>zbyszek@in.waw.pl</email>
37       </author>
38     </authorgroup>
39   </refentryinfo>
40
41   <refmeta>
42     <refentrytitle>busctl</refentrytitle>
43     <manvolnum>1</manvolnum>
44   </refmeta>
45
46   <refnamediv>
47     <refname>busctl</refname>
48     <refpurpose>Introspect the bus</refpurpose>
49   </refnamediv>
50
51   <refsynopsisdiv>
52     <cmdsynopsis>
53       <command>busctl</command>
54       <arg choice="opt" rep="repeat">OPTIONS</arg>
55       <arg choice="opt">COMMAND</arg>
56       <arg choice="opt" rep="repeat"><replaceable>NAME</replaceable></arg>
57     </cmdsynopsis>
58   </refsynopsisdiv>
59
60   <refsect1>
61     <title>Description</title>
62
63     <para><command>busctl</command> may be used to
64     introspect and monitor the D-Bus bus.</para>
65   </refsect1>
66
67   <refsect1>
68     <title>Options</title>
69
70     <para>The following options are understood:</para>
71
72     <variablelist>
73       <varlistentry>
74           <term><option>--address=<replaceable>ADDRESS</replaceable></option></term>
75
76           <listitem><para>Connect to the bus specified by
77           <replaceable>ADDRESS</replaceable> instead of using suitable
78           defaults for either the system or user bus (see
79           <option>--system</option> and <option>--user</option>
80           options).</para></listitem>
81       </varlistentry>
82
83       <varlistentry>
84           <term><option>--show-machine</option></term>
85
86           <listitem><para>When showing the list of endpoints, show a
87           column containing the names of containers they belong to.
88           See
89           <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
90           </para></listitem>
91       </varlistentry>
92
93       <varlistentry>
94           <term><option>--unique</option></term>
95
96           <listitem><para>When showing the list of endpoints, show
97           only "unique" names (of the form
98           <literal>:<replaceable>number</replaceable>.<replaceable>number</replaceable></literal>).
99           </para></listitem>
100       </varlistentry>
101
102       <varlistentry>
103           <term><option>--acquired</option></term>
104
105           <listitem><para>The opposite of <option>--unique</option> —
106           only "well-known" names will be shown.</para></listitem>
107       </varlistentry>
108
109       <varlistentry>
110           <term><option>--activatable</option></term>
111
112           <listitem><para>When showing the list of endpoints, show
113           only endpoints which have actually not been activated yet,
114           but may be started automatically if accessed.</para>
115           </listitem>
116       </varlistentry>
117
118       <varlistentry>
119           <term><option>--match=<replaceable>MATCH</replaceable></option></term>
120
121           <listitem><para>When showing messages being exchanged, show only the
122           subset matching <replaceable>MATCH</replaceable>.</para></listitem>
123           <!-- TODO: link to sd_bus_add_match when it is written? -->
124       </varlistentry>
125
126       <varlistentry>
127         <term><option>--no-legend</option></term>
128
129         <listitem>
130           <para>Do not print the legend,
131           i.e. the column headers and the
132           footer.</para>
133         </listitem>
134       </varlistentry>
135
136       <varlistentry>
137         <term><option>--size=</option></term>
138
139         <listitem>
140           <para>When used with the <command>capture</command> command
141           specifies the maximum bus message size to capture
142           ("snaplen"). Defaults to 4096 bytes.</para>
143         </listitem>
144       </varlistentry>
145
146       <varlistentry>
147         <term><option>--list</option></term>
148
149         <listitem>
150           <para>When used with the <command>tree</command> command shows a
151           flat list of object paths instead of a tree.</para>
152         </listitem>
153       </varlistentry>
154
155       <varlistentry>
156         <term><option>--quiet</option></term>
157
158         <listitem>
159           <para>When used with the <command>call</command> command suppresses
160           display of the response message.</para>
161         </listitem>
162       </varlistentry>
163
164       <xi:include href="user-system-options.xml" xpointer="user" />
165       <xi:include href="user-system-options.xml" xpointer="system" />
166       <xi:include href="user-system-options.xml" xpointer="host" />
167       <xi:include href="user-system-options.xml" xpointer="machine" />
168
169       <xi:include href="standard-options.xml" xpointer="help" />
170       <xi:include href="standard-options.xml" xpointer="version" />
171       <xi:include href="standard-options.xml" xpointer="no-pager" />
172     </variablelist>
173   </refsect1>
174
175   <refsect1>
176     <title>Commands</title>
177
178     <para>The following commands are understood:</para>
179
180     <variablelist>
181       <varlistentry>
182         <term><command>list</command></term>
183
184         <listitem><para>Show service names on the bus. This is the
185         default if no command is specified.</para></listitem>
186       </varlistentry>
187
188       <varlistentry>
189         <term><command>status</command> <arg choice="plain"><replaceable>SERVICE</replaceable></arg></term>
190
191         <listitem><para>Show process information and credentials of a
192         bus service.</para></listitem>
193       </varlistentry>
194
195       <varlistentry>
196         <term><command>monitor</command> <arg choice="opt" rep="repeat"><replaceable>SERVICE</replaceable></arg></term>
197
198         <listitem><para>Dump messages being exchanged. If
199         <replaceable>SERVICE</replaceable> is specified, show messages
200         to or from this endpoint. Otherwise, show all messages on the
201         bus. Use Ctrl-C to terminate dump.</para></listitem>
202       </varlistentry>
203
204       <varlistentry>
205         <term><command>capture</command> <arg choice="opt" rep="repeat"><replaceable>SERVICE</replaceable></arg></term>
206
207         <listitem><para>Similar to <command>monitor</command> but
208         writes the output in pcap format (for details see the <ulink
209         url="http://wiki.wireshark.org/Development/LibpcapFileFormat">Libpcap
210         File Format</ulink> description. Make sure to redirect the
211         output to STDOUT to a file. Tools like
212         <citerefentry><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
213         may be used to dissect and view the generated
214         files.</para></listitem>
215       </varlistentry>
216
217       <varlistentry>
218         <term><command>tree</command> <arg choice="opt" rep="repeat"><replaceable>SERVICE</replaceable></arg></term>
219
220         <listitem><para>Shows an object tree of one or more
221         services. If <replaceable>SERVICE</replaceable> is specified,
222         show object tree of the specified services only. Otherwise,
223         show all object trees of all services on the bus that acquired
224         at least one well-known name.</para></listitem>
225       </varlistentry>
226
227       <varlistentry>
228         <term><command>introspect</command> <arg choice="plain"><replaceable>SERVICE</replaceable></arg> <arg choice="plain"><replaceable>OBJECT</replaceable></arg></term>
229
230         <listitem><para>Show interfaces, methods, properties and
231         signals of the specified object (identified by its path) on
232         the specified service.</para></listitem>
233       </varlistentry>
234
235       <varlistentry>
236         <term><command>call</command> <arg choice="plain"><replaceable>SERVICE</replaceable></arg> <arg choice="plain"><replaceable>OBJECT</replaceable></arg> <arg choice="plain"><replaceable>INTERFACE</replaceable></arg> <arg choice="plain"><replaceable>METHOD</replaceable></arg> <arg choice="opt"><replaceable>SIGNATURE</replaceable> <arg choice="opt" rep="repeat"><replaceable>ARGUMENT</replaceable></arg></arg></term>
237
238         <listitem><para>Invoke a method and show the response. Takes a
239         service name, object path, interface name and method name. If
240         parameters shall be passed to the method call a signature
241         string is required, followed by the individual arguments,
242         individually formatted as textual parameters.</para></listitem>
243       </varlistentry>
244
245       <varlistentry>
246         <term><command>get-property</command> <arg choice="plain"><replaceable>SERVICE</replaceable></arg> <arg choice="plain"><replaceable>OBJECT</replaceable></arg> <arg choice="opt"><replaceable>INTERFACE</replaceable> <arg choice="opt" rep="repeat"><replaceable>PROPERTY</replaceable></arg></arg></term>
247
248         <listitem><para>Retrieve the current value one or more object
249         properties. Takes a service name and object path. Optionally
250         takes an interface name and property name. If the property
251         name is omited, shows all properties on the selected
252         interface. If the interface is also omitted shows the
253         properties of all interfaces. Multiple properties may be
254         specified at once in which case their values will be shown one
255         after the other.</para></listitem>
256       </varlistentry>
257
258       <varlistentry>
259         <term><command>help</command></term>
260
261         <listitem><para>Show command syntax help.</para></listitem>
262       </varlistentry>
263     </variablelist>
264   </refsect1>
265
266   <refsect1>
267     <title>See Also</title>
268
269     <para>
270       <citerefentry><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
271       <ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
272       <ulink url="https://code.google.com/p/d-bus/">kdbus</ulink>,
273       <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
274       <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
275       <citerefentry><refentrytitle>systemd-bus-proxyd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
276       <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
277       <citerefentry><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
278     </para>
279   </refsect1>
280 </refentry>