- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Using Systemd Service Management
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- .. include:: prologue.rst
- .. |configuration directory| replace:: /usr/lib
- .. |unit directory| replace:: |configuration directory|/systemd/system
- .. |scripts directory| replace:: |configuration directory|/brltty
- .. |users directory| replace:: |configuration directory|/sysusers.d
- .. |files directory| replace:: |configuration directory|/tmpfiles.d
- .. |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 |scripts 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|
Raw Paste