mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-23 17:34:00 +03:00
timedatectl: add 'show' command to display machine-readable output
Closes #9249.
This commit is contained in:
parent
28e1a3ec44
commit
ead0adb161
@ -146,6 +146,16 @@
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>show</command></term>
|
||||
|
||||
<listitem><para>Show the same information as <option>status</option>, but in machine readable form.
|
||||
This command is intended to be used whenever computer-parsable output is required.
|
||||
Use <option>status</option> if you are looking for formatted human-readable output.</para>
|
||||
<para>By default, empty properties are suppressed. Use <option>--all</option> to show those too.
|
||||
To select specific properties to show, use <option>--property=</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>set-time [TIME]</command></term>
|
||||
|
||||
@ -207,11 +217,12 @@
|
||||
|
||||
</variablelist>
|
||||
|
||||
<refsect2><title>systemd-timesyncd Commands</title>
|
||||
<refsect2>
|
||||
<title>systemd-timesyncd Commands</title>
|
||||
|
||||
<para>The following commands are specific to
|
||||
<citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
|
||||
</para>
|
||||
<para>The following commands are specific to
|
||||
<citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
|
||||
</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
@ -225,12 +236,11 @@
|
||||
<varlistentry>
|
||||
<term><command>show-timesync</command></term>
|
||||
|
||||
<listitem><para>Show properties of the manager of
|
||||
<citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
|
||||
By default, empty properties are suppressed. Use <option>--all</option> to show those too. To select specific
|
||||
properties to show, use <option>--property=</option>. This command is intended to be used whenever
|
||||
computer-parsable output is required. Use <option>timesync-status</option> if you are looking for formatted
|
||||
human-readable output.</para></listitem>
|
||||
<listitem><para>Show the same information as <option>timesync-status</option>, but in machine readable form.
|
||||
This command is intended to be used whenever computer-parsable output is required.
|
||||
Use <option>timesync-status</option> if you are looking for formatted human-readable output.</para>
|
||||
<para>By default, empty properties are suppressed. Use <option>--all</option> to show those too.
|
||||
To select specific properties to show, use <option>--property=</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
|
@ -696,7 +696,8 @@ int bus_print_property(const char *name, sd_bus_message *m, bool value, bool all
|
||||
/* Yes, heuristics! But we can change this check
|
||||
* should it turn out to not be sufficient */
|
||||
|
||||
if (endswith(name, "Timestamp") || STR_IN_SET(name, "NextElapseUSecRealtime", "LastTriggerUSec")) {
|
||||
if (endswith(name, "Timestamp") ||
|
||||
STR_IN_SET(name, "NextElapseUSecRealtime", "LastTriggerUSec", "TimeUSec", "RTCTimeUSec")) {
|
||||
char timestamp[FORMAT_TIMESTAMP_MAX];
|
||||
const char *t;
|
||||
|
||||
|
@ -168,6 +168,26 @@ static int show_status(int argc, char **argv, void *userdata) {
|
||||
return r;
|
||||
}
|
||||
|
||||
static int show_properties(int argc, char **argv, void *userdata) {
|
||||
sd_bus *bus = userdata;
|
||||
int r;
|
||||
|
||||
assert(bus);
|
||||
|
||||
r = bus_print_all_properties(bus,
|
||||
"org.freedesktop.timedate1",
|
||||
"/org/freedesktop/timedate1",
|
||||
NULL,
|
||||
arg_property,
|
||||
arg_value,
|
||||
arg_all,
|
||||
NULL);
|
||||
if (r < 0)
|
||||
return bus_log_parse_error(r);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_time(int argc, char **argv, void *userdata) {
|
||||
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
bool relative = false, interactive = arg_ask_password;
|
||||
@ -696,6 +716,7 @@ static int help(void) {
|
||||
"\n"
|
||||
"Commands:\n"
|
||||
" status Show current time settings\n"
|
||||
" show Show properties of systemd-timedated\n"
|
||||
" set-time TIME Set system time\n"
|
||||
" set-timezone ZONE Set system time zone\n"
|
||||
" list-timezones Show known time zones\n"
|
||||
@ -815,6 +836,7 @@ static int timedatectl_main(sd_bus *bus, int argc, char *argv[]) {
|
||||
|
||||
static const Verb verbs[] = {
|
||||
{ "status", VERB_ANY, 1, VERB_DEFAULT, show_status },
|
||||
{ "show", VERB_ANY, 1, 0, show_properties },
|
||||
{ "set-time", 2, 2, 0, set_time },
|
||||
{ "set-timezone", 2, 2, 0, set_timezone },
|
||||
{ "list-timezones", VERB_ANY, 1, 0, list_timezones },
|
||||
|
Loading…
Reference in New Issue
Block a user