continue documenting
[systembsd.git] / systembsd.8
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
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
14 systemd daemons by exposing matching interfaces on the system bus. The
15 systembsd executables themselves are run dynamically, as a call to a
16 DBus method/property listed in a .service file will cause DBus to
17 execute the systembsd binary with proper permissions. The resulting
18 proccess, 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
22 incompatibile on *BSD systems. Systembsd does not intend to bring
23 systemd philosphy or practices to its target platform.
24 .Sh HOSTNAMED
25 Hostnamed manages setting the system's hostnames, which comprise of the
26 dynamic hostname via sethostname(3), the static hostname via
27 sethostname(3) and /etc/myname, and the pretty hostname, a UTF-8 string
28 contained in /etc/machine-info.
29 .Pp
30 Hostnamed also handles determining the physical machine's
31 characteristics, which it reciprocates through the Chassis and IconName
32 properties. IconName is a string following the XDG naming specification
33 and is set based off the information from the Chassis property. The
34 Chassis property is a string, one of "desktop", "laptop", "server",
35 "tablet", "handset", "vm" or "container". Chassis determination involves
36 analyzing hwctl, dmesg, and uname output.
37 .Pp
38 The remaining Kernel* properties and OperatingSystemPrettyName are
39 analogous to corresponding uname(3) calls. OperatingSystemCPEName is a
40 string following the Common Platform Enumeration specification.
41 .Sh LOCALED
42 Write this!
43 .Sh TIMEDATED
44 Write this!
45 .Sh LOGIND
46 Not 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
52 systembsd was written as a Google Summer of Code project in 2014,
53 OpenBSD's first year participating.
54 .Sh AUTHORS
55 .Nm Written by Ian Sutton <ian@kremlin.cc>
56 .br
57 .Nm Mentored/Co-authored by Antione Jacoutot <ajacoutot@openbsd.org>
58 and Landry Breuil <landry@openbsd.org>