~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using Systemd Service Management
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. include:: prologue.rst

.. |configuration directory| replace:: /usr/lib
.. |unit directory| replace:: |configuration directory|/systemd/system
.. |users directory| replace:: |configuration directory|/sysusers.d
.. |files directory| replace:: |configuration directory|/tmpfiles.d
.. |commands directory| replace:: /usr/libexec/brltty
.. |build subdirectory| replace:: Autostart/Systemd
.. |default configuration file| replace:: ``/etc/brltty.conf``

Initial Setup
=============

The following steps need to be performed:

* Systemd service and path units need to be installed
  into the |unit directory| directory:

  + brltty@.service
  + brltty-device@.service
  + brltty.path
  + brltty@.path

* A wrapper script needs to be installed
  into the |commands directory| directory:

  + systemd-wrapper

* A file defining the non-root user that BRLTTY is to run as,
  including the supplementary groups that it needs access to,
  needs to be installed into the |users directory| directory:

  + sysusers -> brltty.conf

* A file defining the files and directories that should exist
  needs to be installed into the |files directory| directory:

  + tmpfiles -> brltty.conf

A make file has been provided in order to make this easy to do.
It can be found within the |build subdirectory| subdirectory
of BRLTTY's build tree.
To install all of these files, change to this directory and run the command::

  make install

You then need to tell Systemd that the files have been installed.
To do this, run the command::

  systemctl daemon-reload

That's all you need to do.
Your system is now able to manage BRLTTY instances via Systemd.

Managing BRLTTY Instances
=========================

Systemd manages BRLTTY instances on your system in a number of ways.

USB Braille Devices
-------------------

If BRLTTY's Udev rules have also been installed
then a BRLTTY instance will be automatically started
when a USB braille device is connected,
and automatically stopped when it's disconnected.
Several braille devices can be managed in this way at the same time.
They can be connected and disconnected at any time and in any order.

The default configuration file - |default configuration file| - is used
except that any ``braille-device`` and ``braille-driver`` directives
that it specifies are ignored because they're overridden by the Udev rules.
It's safe, therefore, to specify a default non-USB braille device
within |default configuration file|.

The Default Instance
--------------------

The default BRLTTY instance is the one that's configured
via the file |default configuration file|.
It's managed by applying standard Systemd commands to BRLTTY's path unit.
For example::

  systemctl enable brltty.path
  systemctl start brltty.path
  systemctl stop brltty.path
  systemctl disable brltty.path

Additional Instances
--------------------

Additional BRLTTY instances can be managed via path instance references.
Each of them has its own configuration file.

If, for example, the name of an instance is ``iname``, then
its Systemd path name would be ``brltty@iname``,
its configuration file would be ``/etc/brltty_iname.conf``,
and it'd be managed via Systemd commands like these::

  systemctl enable brltty@iname.path
  systemctl start brltty@iname.path
  systemctl stop brltty@iname.path
  systemctl disable brltty@iname.path

Any number of instances may be managed in this way.
These instances don't implicitly also read the default configuration file
(|default configuration file|).
You can, however, explicitly include it
from within any instance-specific configuration file:

.. parsed-literal:: include |default configuration file|

