Turnstile is a work in progress effort to create a session/login tracker to serve as a fully featured alternative to the logind subproject from systemd, and to provide a neutral API to both our session tracker and to logind itself.
Turnstile also provides a service-manager-agnostic way to manage per-user service managers for user services.
Turnstile will not (and probably will never be) a full replacement for elogind. Some functions which are covered by turnstile
Some functions are probably (and in some cases, are definitely) out of scope and thus won't be provided by turnstile, such as
seatd
provides this)
acpid
provides this)
Install the turnstile
package and enable the turnstiled
service according to your service manager (if available).
By default, it will use dinit
as its default user service manager backend. It is also usable under other system service managers such as OpenRC. dinit
under turnstile will run independently alongside your system service manager.
In Artix, dinit
is the only supported service manager backend right now, but runit
as a backend is also available, it's just not supported.
Turnstile can be configured through /etc/turnstile/turnstiled.conf
file. You can change the service backend, debug mode, and so on.
WARNING: See limitations.
Enable the turnstiled
service, log out, and log in. To see if your session is managed by turnstile
, check if /run/turnstiled
exists.
Service manager should be spawned automatically. So you can also try running dinitctl
to see if it's running.
Turnstile by itself supports /run
directory management, but in its current state it conflicts with elogind
since it also manages rundir. If you want to use it, you can force remove elogind
.
WARNING: Some functionalities might be limited if elogind
is not installed.
Consequently, linger is not supported as well since elogind
also does it.