51 lines
1.5 KiB
Plaintext
51 lines
1.5 KiB
Plaintext
# User Services
|
|
|
|
User services can be placed in ~/.config/service/.
|
|
|
|
To ensure that a subset of services are started before login can proceed,
|
|
these services can be listed in ~/.config/service/turnstile-ready/conf, for
|
|
example:
|
|
|
|
core_services="dbus foo"
|
|
|
|
The turnstile-ready service is created by turnstile on first login.
|
|
|
|
## Shared Environment for User Services
|
|
|
|
To give user services access to important environment variables, chpst's
|
|
envdir functionality can be used. See chpst(8) (-e flag) for more info.
|
|
|
|
To make a service aware of these variables:
|
|
|
|
- exec foo
|
|
+ exec chpst -e "$TURNSTILE_ENV_DIR" foo
|
|
|
|
Inside user services, the convenience variable "$TURNSTILE_ENV_DIR" can be used
|
|
to refer to this directory.
|
|
|
|
The helper script 'turnstile-update-runit-env' can be used to easily update
|
|
variables in this shared envdir:
|
|
|
|
turnstile-update-runit-env DISPLAY XAUTHORITY FOO=bar BAZ=
|
|
|
|
# D-Bus Session Bus
|
|
|
|
If you want to manage dbus using a turnstile-managed runit user service:
|
|
|
|
mkdir ~/.config/service/dbus
|
|
ln -s /usr/share/examples/turnstile/dbus.run ~/.config/service/dbus/run
|
|
|
|
# Elogind Replacement
|
|
|
|
Turnstile is not (nor ever will be, according to the developer) a complete
|
|
replacement for elogind, but it can replace several parts, including
|
|
XDG_RUNTIME_DIR management.
|
|
|
|
If using turnstile with elogind:
|
|
- disable rundir management in /etc/turnstile/turnstiled.conf
|
|
(manage_rundir = no)
|
|
|
|
If using turnstile without elogind:
|
|
- install and enable seatd for seat management
|
|
- install and enable acpid for lid switch/button handling
|