From 1fc5560911a7e9e8cf2993e17e1f0a001e148809 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 20 Nov 2014 23:12:29 +0100 Subject: busctl: show property values in "introspect" output, add "set-property" command, and support both a terse and a verbose output format --- man/busctl.xml | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 144 insertions(+), 11 deletions(-) (limited to 'man') diff --git a/man/busctl.xml b/man/busctl.xml index ccbd832a75..e9b758aed5 100644 --- a/man/busctl.xml +++ b/man/busctl.xml @@ -161,6 +161,17 @@ along with systemd; If not, see . + + + + + + When used with the call or + get-property command shows output in a + more verbose format. + + + @@ -238,21 +249,31 @@ along with systemd; If not, see . Invoke a method and show the response. Takes a service name, object path, interface name and method name. If parameters shall be passed to the method call a signature - string is required, followed by the individual arguments, - individually formatted as textual parameters. + string is required, followed by the arguments, individually + formatted as strings. For details on the formatting used, see + below. To suppress output of the returned data use the + option. - get-property SERVICE OBJECT INTERFACE PROPERTY - - Retrieve the current value one or more object - properties. Takes a service name and object path. Optionally - takes an interface name and property name. If the property - name is omited, shows all properties on the selected - interface. If the interface is also omitted shows the - properties of all interfaces. Multiple properties may be + get-property SERVICE OBJECT INTERFACE PROPERTY + + Retrieve the current value of one or more + object properties. Takes a service name, object path, + interface name and property name. Multiple properties may be specified at once in which case their values will be shown one - after the other. + after the other, separated by newlines. The output is by + default in terse format. Use for a + more elaborate output format. + + + + set-property SERVICE OBJECT INTERFACE PROPERTY SIGNATURE ARGUMENT + + Set the current value an object + property. Takes a service name, object path, interface name, + property name, property signature, followed by a list of + parameters formatted as strings. @@ -263,6 +284,118 @@ along with systemd; If not, see . + + Parameter Formatting + + The call and + set-property commands take a signature + string followed by a list of parameters formatted as string + (for details on D-Bus signature strings see the Type + system chapter of the D-Bus specification). For + simple types each parameter following the signature should + simply be the parameter's value formatted as + string. Positive boolean values may be formatted as + true, yes, + on, 1; negative + boolean values may be specified as false, + no, off, + 0. For arrays, a numeric argument for the + number of entries followed by the entries shall be + specified. For variants the signature of the contents shall + be specified, followed by the contents. For dictionaries and + structs the contents of them shall be directly + specified. + + For example, + s jawoll is the formatting + of a single string jawoll. + + + as 3 hello world foobar + is the formatting of a string array with three entries, + hello, world and + foobar. + + + a{sv} 3 One s Eins Two u 2 Yes b true + is the formatting of a dictionary + array that maps strings to variants, consisting of three + entries. The string One is assigned the + string Eins. The string + Two is assigned the 32bit unsigned + integer 2. The string Yes is assigned a + positive boolean. + + Note that the call, + get-property, + introspect commands will also generate + output in this format for the returned data. Since this + format is sometimes too terse to be easily understood, the + call and get-property + commands may generate a more verbose, multi-line output when + passed the option. + + + + Examples + + + Write and Read a Property + + The following two commands first write a + property and then read it back. The property is + found on the + /org/freedesktop/systemd1 object + of the org.freedesktop.systemd1 + service. The name of the property is + LogLevel on the + org.freedesktop.systemd1.Manager + interface. The property contains a single + string: + + # busctl set-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel s debug +# busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel +s "debug" + + + + + Terse and Verbose Output + + The following two commands read a property that + contains an array of strings, and first show it in + terse format, followed by verbose format: + + $ busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment +as 2 "LANG=en_US.UTF-8" "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" +$ busctl get-property --verbose org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment +ARRAY "s" { + STRING "LANG=en_US.UTF-8"; + STRING "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"; +}; + + + + Invoking a Method + + The following command invokes a the + StartUnit method on the + org.freedesktop.systemd1.Manager + interface of the + /org/freedesktop/systemd1 object + of the org.freedesktop.systemd1 + service, and passes it two strings + cups.service and + replace. As result of the method + call a single object path parameter is received and + shown: + + # busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager StartUnit ss "cups.service" "replace" +o "/org/freedesktop/systemd1/job/42684" + + + See Also -- cgit v1.2.3-54-g00ecf