add new method handlers/properties for new location & deployment elements
[systembsd.git] / systembsd.8
CommitLineData
95acc120 1.Dd $Mdocdate$
2.Dt SYSTEMBSD 8
3.Os
4.Sh NAME
5.Nm systembsd
6.Nd systemd compatibility layer
7.\" .Sh SYNOPSIS
8.\" .Nm systembsd
9.Sh DESCRIPTION
aa113e77 10.Nm provides the functionality of hostnamed, localed, timedated and
11(eventually) logind, four systemd daemons.
12.Sh OVERVIEW
13.Nm systembsd emulates the DBus behavior of several afforementioned
14systemd daemons by exposing matching interfaces on the system bus. The
15systembsd executables themselves are run dynamically, as a call to a
16DBus method/property listed in a .service file will cause DBus to
17execute the systembsd binary with proper permissions. The resulting
18proccess, after a period of inactivity, will exit() safely.
19.Pp
20.Nm systembsd was written to provide compatibility for large codebases
21(e.g. GNOME) that depend on Linux's systemd. Systemd is decidedly
22incompatibile on *BSD systems. Systembsd does not intend to bring
23systemd philosphy or practices to its target platform.
24.Sh HOSTNAMED
25Hostnamed manages setting the system's hostnames, which comprise of the
26dynamic hostname via sethostname(3), the static hostname via
27sethostname(3) and /etc/myname, and the pretty hostname, a UTF-8 string
28contained in /etc/machine-info.
29.Pp
30Hostnamed also handles determining the physical machine's
31characteristics, which it reciprocates through the Chassis and IconName
32properties. IconName is a string following the XDG naming specification
33and is set based off the information from the Chassis property. The
34Chassis property is a string, one of "desktop", "laptop", "server",
35"tablet", "handset", "vm" or "container". Chassis determination involves
36analyzing hwctl, dmesg, and uname output.
37.Pp
38The remaining Kernel* properties and OperatingSystemPrettyName are
39analogous to corresponding uname(3) calls. OperatingSystemCPEName is a
40string following the Common Platform Enumeration specification.
41.Sh LOCALED
42Write this!
43.Sh TIMEDATED
44Write this!
45.Sh LOGIND
46Not implemented yet, work ongoing.
47.Sh FILES
48
49.Sh EXIT STATUS
50.Nm systemd-*d will return 0 on success, 1 on failure.
51.Sh HISTORY
52systembsd was written as a Google Summer of Code project in 2014,
53OpenBSD's first year participating.
7759487c 54.Br
54d254c3 55Mentored by Antoine Jacoutot and Landry Breuil.
aa113e77 56.Sh AUTHORS
7759487c 57.Nm Ian Sutton <ian@kremlin.cc>