We are using systemd and we cannot enable the brltty service. The error we are getting is: # systemctl enable brltty\@ The unit files have no installation config (WantedBy=, RequiredBy=, Also=, Alias= settings in the [Install] section, and DefaultInstance= for template units). This means they are not meant to be enabled using systemctl. Possible reasons for having this kind of units are: • A unit may be statically enabled by being symlinked from another unit's .wants/ or .requires/ directory. • A unit's purpose may be to act as a helper for some other unit which has a requirement dependency on it. • A unit may be started when needed via activation (socket, path, timer, D-Bus, udev, scripted systemctl call, ...). • In case of template units, the unit is meant to be enabled with some instance name specified. In the service configuration file is the [Install] section missing.
From reading the brltty docs, it seems like you aren't supposed to enable brltty.service but instead it uses path-based activation to start this service for you. See https://brltty.app/doc/Systemd.html.
The systemd configuration is not correct. In the configuration there is on line 40: ExecStart=/usr/lib/brltty/systemd-wrapper. After installation the file /usr/lib/brltty/systemd-wrapper is missing. I think that the current package is not systemd ready and there is newer version 6.3.
The missing systemd-wrapper script is tracked in https://bugs.gentoo.org/718118, it might be worth adding yourself to the CC list there so you can be notified when it gets fixed. In the meantime you might be able to download it manually from https://raw.githubusercontent.com/brltty/brltty/master/Autostart/Systemd/systemd-wrapper and place it in /usr/lib/brltty/systemd-wrapper, but I think that this bug should be closed (as the .unit file is fine and there's another bug tracking the problem you are running into now). If the workaround above fixes it for you please mention so in the linked bug, then it's only a commit away from being fixed for everyone else too :) Thanks
There are new versions of the package that solves issues. Like in version 6.2 Linux security enhancements: BRLTTY can now run as an unprivileged user. Systemd management changes: The brltty-device@.service instance unit has been added. BRLTTY is now run as an unprivileged user with perks. The BRLTTY instance is now stopped correctly on USB disconnect. A USB device management problem introduced in Systemd 247 has been fixed. BRLTTY's needed directories are now created (if necessary). The brlapi group is now assumed (e.g. for /etc/brlapi.key ownership). For complete changelog: https://brltty.app/doc/ChangeLog.txt Please upgrade the package to the latest version 6.4.