Escape TTY in systemd service (closes #889) (#890)

## What are the changes about?

* fix templated systemd dependencies: %I -> %i
* amend systemd-specific documentation in readme with section specific to systemd-logind / autovt

## What existing issue does this resolve?

[issue #889](https://codeberg.org/fairyglade/ly/issues/889)

## Pre-requisites

- [x] I have tested & confirmed the changes work locally

Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/890
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: qbe <public.github.c@hannen.at>
Co-committed-by: qbe <public.github.c@hannen.at>
This commit is contained in:
qbe
2025-12-18 12:17:00 +01:00
committed by AnErrupTion
parent ced8f9bee3
commit 04d4447273
2 changed files with 11 additions and 5 deletions

View File

@@ -121,9 +121,15 @@ that Ly will run on, otherwise bad things will happen. For example, to disable `
# systemctl disable getty@tty2.service # systemctl disable getty@tty2.service
``` ```
You can change the TTY Ly will run on by editing the corresponding On platforms that use systemd-logind to dynamically start `autovt@.service` instances when the switch to a new tty occurs, any ly instances for ttys *except the default tty* need to be enabled using a different mechanism: To autostart ly on switch to `tty2`, do not enable any `ly` unit directly, instead symlink `autovt@tty2.service` to `ly@tty2.service` within `/usr/lib/systemd/system/` (analogous for every other tty you want to enable ly on).
service file for your platform, or on systemd, by enabling the service on
different TTYs, as is done above. The target of the symlink, `ly@ttyN.service`, does not actually exist, but systemd nevertheless recognizes that the instanciation of `autovt@.service` with `%I` equal to `ttyN` now points to an instanciation of `ly@.service` with `%I` set to `ttyN`.
Compare to `man 5 logind.conf`, especially regarding the `NAutoVTs=` and `ReserveVT=` parameters.
On non-systemd systems, you can change the TTY Ly will run on by editing the corresponding
service file for your platform.
### OpenRC ### OpenRC

View File

@@ -1,8 +1,8 @@
[Unit] [Unit]
Description=TUI display manager Description=TUI display manager
After=systemd-user-sessions.service plymouth-quit-wait.service After=systemd-user-sessions.service plymouth-quit-wait.service
After=getty@%I.service After=getty@%i.service
Conflicts=getty@%I.service Conflicts=getty@%i.service
[Service] [Service]
Type=idle Type=idle