summaryrefslogtreecommitdiffstats
path: root/doc/source
diff options
context:
space:
mode:
Diffstat (limited to 'doc/source')
-rw-r--r--doc/source/system/admin/seatd.html42
-rw-r--r--doc/source/system/bundles/default.html37
-rw-r--r--doc/source/system/bundles/firewall.html29
-rw-r--r--doc/source/system/bundles/mount.html48
-rw-r--r--doc/source/system/bundles/networking.html35
-rw-r--r--doc/source/system/bundles/seat-manager.html31
-rw-r--r--doc/source/system/bundles/system-bus.html34
-rw-r--r--doc/source/system/bundles/udev.html36
-rw-r--r--doc/source/user/bundle/audio.html31
-rw-r--r--doc/source/user/bundle/compositor.html33
-rw-r--r--doc/source/user/bundle/default.html39
-rw-r--r--doc/source/user/bundle/session-bus.html34
-rw-r--r--doc/source/user/other/dbus-daemon.html44
-rw-r--r--doc/source/user/xdg/xdg-runtime-dir.html75
14 files changed, 548 insertions, 0 deletions
diff --git a/doc/source/system/admin/seatd.html b/doc/source/system/admin/seatd.html
new file mode 100644
index 0000000..6303835
--- /dev/null
+++ b/doc/source/system/admin/seatd.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>seatd</title>
+ <meta name="Description" content="Seatd mediates access to hardware like a GPU or input devices to compositors." />
+ <meta name="Keywords" content="goetia s6-rc seat seatd system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The seatd service</h1>
+ <p>
+ Seatd is a seat manager.
+ This means that it mediates access to
+ hardware like a GPU or input devices to the compositor.
+ </p>
+ <p>
+ This service makes the socket have
+ <code>seat</code> group permissions.
+ Thus the group <code>seat</code> must exist
+ and users intending to run a compositor need to
+ be part of that group.
+ </p>
+ <p>
+ The service does not change the socket location,
+ by default it usually resides at
+ <code>/run/seatd.sock</code>.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/system/bundles/default.html b/doc/source/system/bundles/default.html
new file mode 100644
index 0000000..80b58c0
--- /dev/null
+++ b/doc/source/system/bundles/default.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>default system bundle</title>
+ <meta name="Description" content="System bundle that is by default started during boot." />
+ <meta name="Keywords" content="goetia s6-rc bundle system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The default system bundle</h1>
+ <p>
+ This bundle is started on boot and everything that is
+ desired to be autostarted should be part of it.
+ Minimize the amount of services in this bundle.
+ <a href="https://skarnet.org/software/s6-rc">s6-rc</a>
+ will automatically start (and stop) all dependencies.
+ Add only what should be unconditionally there.
+ An example of this would be a service to mount a storage device
+ containing photos. No other service will probably depend on
+ this, since none needs the photos, but the user still needs
+ this to be mounted.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/system/bundles/firewall.html b/doc/source/system/bundles/firewall.html
new file mode 100644
index 0000000..ecfe00e
--- /dev/null
+++ b/doc/source/system/bundles/firewall.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>firewall system bundle</title>
+ <meta name="Description" content="System bundle depended upon by services that should be started after the firewall is configured." />
+ <meta name="Keywords" content="goetia s6-rc bundle system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The firewall system bundle</h1>
+ <p>
+ Some services might require a frirewall to be ready
+ when started, those shall depend on this bundle.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/system/bundles/mount.html b/doc/source/system/bundles/mount.html
new file mode 100644
index 0000000..c295d49
--- /dev/null
+++ b/doc/source/system/bundles/mount.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>mount system bundle</title>
+ <meta name="Description" content="System bundle that is by default depended upon by program that need to read/write from/to disk." />
+ <meta name="Keywords" content="goetia s6-rc bundle system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The mount system bundle</h1>
+ <p>
+ This bundle is by default a declared dependency of many
+ services provided by goetia.
+ Most importantly, it is a dependency of all autogenerated
+ loggers.
+ It should thus contain the mount services for all drives
+ that are used for
+ <a href="//0x53.net/software/goetia/logdir.html">logging</a>.
+ </p>
+ <p>
+ In most cases, the <code>remount-root</code>
+ <a href="https://skarnet.org/software/s6-rc/s6-rc-compile.html#source">source directory</a>
+ should be added to this bundle.
+ This source directory is part of the kernel specific packages,
+ like
+ <a href="//0x53.net/software/goetia/goetia-linux/">goetia-linux</a>.
+ </p>
+ <h2>See also</h2>
+ <ul>
+ <li>
+ <a href="//0x53.net/software/goetia/tutorials/base/mount.html">Mount tutorial</a>
+ </li>
+ </ul>
+ </body>
+</html>
diff --git a/doc/source/system/bundles/networking.html b/doc/source/system/bundles/networking.html
new file mode 100644
index 0000000..0e3e18b
--- /dev/null
+++ b/doc/source/system/bundles/networking.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>networking system bundle</title>
+ <meta name="Description" content="System bundle that is depended upon by services requiring the correct network configuration to be applied." />
+ <meta name="Keywords" content="goetia s6-rc bundle system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The networking system bundle</h1>
+ <p>
+ Services requiring networking to be set up
+ will depend on this.
+ </p>
+ <h2>See also</h2>
+ <ul>
+ <li>
+ <a href="//0x53.net/software/goetia/tutorials/base/networking.html">Networking tutorial</a>
+ </li>
+ </ul>
+ </body>
+</html>
diff --git a/doc/source/system/bundles/seat-manager.html b/doc/source/system/bundles/seat-manager.html
new file mode 100644
index 0000000..eab3d26
--- /dev/null
+++ b/doc/source/system/bundles/seat-manager.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>seat-manager system bundle</title>
+ <meta name="Description" content="System bundle that is depended upon by services requiring a seat manager to be running." />
+ <meta name="Keywords" content="goetia s6-rc bundle system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The seat-manager system bundle</h1>
+ <p>
+ Refer to the
+ <a href="//0x53.net/software/goetia/tutorials/ui/seatsession.html">seat and session management</a>
+ tutorial, to understand the purpose of seat managers.
+ This bundle abstracts over the choices one has here.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/system/bundles/system-bus.html b/doc/source/system/bundles/system-bus.html
new file mode 100644
index 0000000..4efd015
--- /dev/null
+++ b/doc/source/system/bundles/system-bus.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>system-bus system bundle</title>
+ <meta name="Description" content="System bundle depended upon by services requiring a system bus to be up." />
+ <meta name="Keywords" content="goetia s6-rc bundle bus system-bus dbus system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The system-bus system bundle</h1>
+ <p>
+ Some software requires a system-bus
+ implementing - usually the dbus interface.
+ The only currently available implementation
+ of this interface is
+ <a href="https://www.freedesktop.org/wiki/Software/dbus/">dbus-daemon</a>.
+ The source directory is part of
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/system/bundles/udev.html b/doc/source/system/bundles/udev.html
new file mode 100644
index 0000000..835f04b
--- /dev/null
+++ b/doc/source/system/bundles/udev.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>udev system bundle</title>
+ <meta name="Description" content="System bundle that is depended upon by services requiring the userspace device manager to be up." />
+ <meta name="Keywords" content="goetia s6-rc bundle system supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The udev system bundle</h1>
+ <p>
+ Some software depends on userspace device management software
+ to setup device permissions, symlinks and more.
+ The corresponding services will depend on this bundle.
+ </p>
+ <h2>See also</h2>
+ <ul>
+ <li>
+ <a href="//0x53.net/software/goetia/tutorials/base/udev.html">Udev tutorial</a>
+ </li>
+ </ul>
+ </body>
+</html>
diff --git a/doc/source/user/bundle/audio.html b/doc/source/user/bundle/audio.html
new file mode 100644
index 0000000..687926e
--- /dev/null
+++ b/doc/source/user/bundle/audio.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>audio user bundle</title>
+ <meta name="Description" content="User bundle depended upon by services that need an audio server to be up." />
+ <meta name="Keywords" content="goetia s6-rc bundle user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The audio user bundle</h1>
+ <p>
+ This bundle abstracts over the different
+ autio daemon implementations,
+ so services requiring a running audion daemon
+ can depend on this.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/bundle/compositor.html b/doc/source/user/bundle/compositor.html
new file mode 100644
index 0000000..9d10e89
--- /dev/null
+++ b/doc/source/user/bundle/compositor.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>compositor user bundle</title>
+ <meta name="Description" content="User bundle depended upon by services that need a wayland compositor to be up." />
+ <meta name="Keywords" content="goetia s6-rc bundle user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The compositor user bundle</h1>
+ <p>
+ This bundle shall contain the service corresponding to the
+ main compositing program, e.g. the
+ <a href="https://wayland.freedesktop.org/">Wayland</a>
+ compositor or
+ <a href="https://www.x.org/releases/X11R7.7/doc/index.html">X11</a>.
+ instance.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/bundle/default.html b/doc/source/user/bundle/default.html
new file mode 100644
index 0000000..2192a15
--- /dev/null
+++ b/doc/source/user/bundle/default.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>default user bundle</title>
+ <meta name="Description" content="User bundle started upon starting the user supervision tree." />
+ <meta name="Keywords" content="goetia s6-rc bundle user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The default user bundle</h1>
+ <p>
+ This bundle is started when the
+ <a href="//0x53.net/software/goetia/supervisiontree.html#user">user supervision tree</a>
+ is started and everything that is
+ desired to be autostarted should be part of it.
+ Minimize the amount of services in this bundle.
+ <a href="https://skarnet.org/software/s6-rc">s6-rc</a>
+ will automatically start (and stop) all dependencies.
+ Add only what should be unconditionally there.
+ An example of this would be a service
+ starting a wallpaper daemon, no other service
+ will probably depend on this but the user
+ wants the wallpaper to be there.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/bundle/session-bus.html b/doc/source/user/bundle/session-bus.html
new file mode 100644
index 0000000..8984b80
--- /dev/null
+++ b/doc/source/user/bundle/session-bus.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>session-bus user bundle</title>
+ <meta name="Description" content="User bundle that is depended upon by services that need a session-bus to be up." />
+ <meta name="Keywords" content="goetia s6-rc bundle bus session-bus dbus user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The session-bus user bundle</h1>
+ <p>
+ Some software requires a session-bus
+ - usually implementing the dbus interface.
+ The only currently available implementation
+ of this interface is
+ <a href="https://www.freedesktop.org/wiki/Software/dbus/">dbus-daemon</a>.
+ The source directory is part of
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>.
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/other/dbus-daemon.html b/doc/source/user/other/dbus-daemon.html
new file mode 100644
index 0000000..f5290c8
--- /dev/null
+++ b/doc/source/user/other/dbus-daemon.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>dbus-daemon</title>
+ <meta name="Description" content="User longrun to start the dbus session-bus" />
+ <meta name="Keywords" content="goetia s6-rc bundle bus session-bus dbus user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The dbus-daemon service</h1>
+ <p>
+ This service starts a session
+ <a href="https://gitlab.freedesktop.org/dbus/dbus">dbus-daemon</a>.
+ It is important to set the environment variable
+ <code>DBUS_SESSION_BUS_ADDRESS</code>,
+ so other services depending on dbus-daemon can find it.
+ </p>
+ <p>
+ The <code>DBUS_SESSION_BUS_ADDRESS</code> environment variable
+ should be set at
+ <code>${HOME}/<var>@userconfdir@</var>/<var>@USERTREE@</var>/env/DBUS_SESSION_BUS_ADDRESS</code>,
+ by writing the address into this file
+ (see <a href="//0x53.net/software/goetia/confdir.html">configuration directory</a>).
+ It is recomended to set
+ <code>${HOME}/<var>@userconfdir@</var>/<var>@USERTREE@</var>/env/DBUS_SESSION_BUS_ADDRESS</code>,
+ to
+ <code><var>@tmpusdir@</var>/<var>@usrrundir@</var>/<var>@USER@</var>/<var>@USERTREE@</var>/session-bus</code>
+ (see <a href="//0x53.net/software/goetia/rundir.html">runtime directory</a>).
+ </p>
+ </body>
+</html>
diff --git a/doc/source/user/xdg/xdg-runtime-dir.html b/doc/source/user/xdg/xdg-runtime-dir.html
new file mode 100644
index 0000000..3b17d8b
--- /dev/null
+++ b/doc/source/user/xdg/xdg-runtime-dir.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>xdg-runtime-dir</title>
+ <meta name="Description" content="User oneshot to create and remove the XDG_RUNTIME_DIR." />
+ <meta name="Keywords" content="goetia s6-rc bundle xdg runtime directory user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The xdg-runtime-dir service</h1>
+ <p>
+ This service dynamically creates the directory
+ specified in the environment variable
+ <code>XDG_RUNTIME_DIR</code>.
+ </p>
+ <p>
+ Starting this service creates the directory
+ and sets the proper permissions,
+ stopping it deletes it.
+ </p>
+ <p>
+ It is recommended to set
+ <code>XDG_RUNTIME_DIR</code>
+ to the
+ <code><var>@USER@</var>/<var>@USERTREE@</var>/xdg-runtime-dir</code>
+ subdirectory of the
+ <a href="//0x53.net/software/goetia/rundir.html#user">user runtime directory</a>.
+ This allows to follow the
+ <a href="https://specifications.freedesktop.org/basedir-spec/latest/">XDG Base Directory Specification</a>.
+ </p>
+ <p>
+ If more than one
+ <a href="//0x53.net/software/goetia/supervisiontree.html#user">user supervision tree</a>
+ <em>per user</em> is used to have multiple
+ <a href="//0x53.net/software/goetia/tutorials/ui/seatsession.html">sessions</a>
+ with a distinct UI server, audio server, etc.
+ It makes sense for each session to have its own,
+ distinct <code>xdg-runtime-dir</code>,
+ since it is often used for sockets and temporary files
+ of said UI server, audio server, etc.
+ Setting
+ <code>XDG_RUNTIME_DIR</code>
+ as described above, allows for this.
+ Note, however, that this deviates from the
+ <a href="https://specifications.freedesktop.org/basedir-spec/latest/">XDG Base Directory Specification</a>.
+ </p>
+ <p>
+ All user services writing to or reading from
+ <code>XDG_RUNTIME_DIR</code>
+ should depend on this service.
+ </p>
+ <h2>See also</h2>
+ <ul>
+ <li>
+ <a href="//0x53.net/software/goetia/tutorials/ui/seatsession.html">seat and session management</a>
+ </li>
+ <li>
+ <a href="https://specifications.freedesktop.org/basedir-spec/latest/">XDG Base Directory Specification</a>.
+ </li>
+ </ul>
+ </body>
+</html>