ORG.FREED....TIMESYNC1(5)

๐Ÿ’… org.freedesktop.timesync1 โ€” like, the whole manual, but make it make sense

okay so bestie, real talk: this is the manual page for org.freedesktop.timesync1, section 5 of the man pages. It's giving "niche but iconic" โ€” you're gonna want to screenshot this one. โœจ


๐ŸŒธ NAME ๐ŸŒธ

org.freedesktop.timesync1 โ€” the D-Bus interface of systemd-timesyncd, no cap ๐Ÿ’–


๐Ÿฆ‹ INTRODUCTION ๐Ÿฆ‹

So systemd-timesyncd.service(8) is this system service that's out here doing the lord's work: it synchronizes your local system clock with a remote Network Time Protocol (NTP) server. Clock said 3:47pm and reality said 4:02pm? Not anymore, bestie. ๐Ÿ•โœจ

And this page? This page is literally all about describing the D-Bus interface. That's the vibe. That's the whole assignment. ๐ŸŽ€


๐Ÿ‘‘ THE MANAGER OBJECT ๐Ÿ‘‘

The service exposes the following interfaces on the Manager object on the bus โ€” and yes, she's the main character:

node /org/freedesktop/timesync1 {
  interface org.freedesktop.timesync1.Manager {
    methods:
      SetRuntimeNTPServers(in  as runtime_servers);
    properties:
      readonly as LinkNTPServers = ['...', ...];
      readonly as SystemNTPServers = ['...', ...];
      readonly as RuntimeNTPServers = ['...', ...];
      readonly as FallbackNTPServers = ['...', ...];
      @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
      readonly s ServerName = '...';
      @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
      readonly (iay) ServerAddress = ...;
      @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
      readonly t RootDistanceMaxUSec = ...;
      @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
      readonly t PollIntervalMinUSec = ...;
      @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
      readonly t PollIntervalMaxUSec = ...;
      @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
      readonly t PollIntervalUSec = ...;
      readonly (uuuuittayttttbtt) NTPMessage = ...;
      @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
      readonly x Frequency = ...;
  };
  interface org.freedesktop.DBus.Peer { ... };
  interface org.freedesktop.DBus.Introspectable { ... };
  interface org.freedesktop.DBus.Properties { ... };
};

And what does all of that do, you ask? It provides information about the manager. That's it. That's the whole gig. ๐ŸคŒ


๐Ÿ™ˆ EXAMPLES ๐Ÿ™ˆ

Example 1. Introspect org.freedesktop.timesync1.Manager on the bus

okay so this is the moment where you actually go look at her. Copy-paste era:

$ gdbus introspect --system \
  --dest org.freedesktop.timesync1 \
  --object-path /org/freedesktop/timesync1

Obsessed. ๐Ÿซถ


๐ŸŒˆ VERSIONING ๐ŸŒˆ

These D-Bus interfaces follow the usual interface versioning guidelines[1]. Yes, "usual". Yes, there's a link. Yes, it's at the bottom. You're welcome. ๐Ÿ’…


โญ SEE ALSO โญ

like, read those too if you're feeling extra. ๐Ÿ“š


๐Ÿ’€ NOTES ๐Ÿ’€

  1. the usual interface versioning guidelines โ€” [it lives here](https://0pointer.de/blog/projects/versioning-dbus.html)
fr fr bestie, those versioning guidelines are not optional reading if you're out here building on these interfaces. iykyk ๐Ÿ”ฅ

okay that's the whole page!! no skips, no cuts, every single property accounted for ๐Ÿ’œ

source + version + date check: this one's from systemd 261.3, and she's the ORG.FREED....TIMESYNC1(5) girlie through and through. mwah ๐Ÿ˜˜โœจ

๐Ÿ“ฆ where this page comes from