turnstiled.conf(5)

πŸ“¦
version 0.1.11 Β· 2 versions
, in ubuntu stonking

πŸ’– turnstiled.conf β€” bestie edition πŸ’–

okay so this is the manual page for turnstiled.conf(5), living in the File Formats Manual section of your man pages. it's the config file for turnstiled(8). grab a snack, we're going in πŸ“


✨ NAME ✨

turnstiled.conf β€” literally the configuration file for turnstiled(8). that's it, that's the name, periodt πŸ’…


🌸 DESCRIPTION 🌸

so bestie, this file right here holds the daemon's config. it usually chills in /etc/turnstile (or whatever sysconfdir you're feeling that day). πŸ“

and here's the cute part: the daemon can totally run with no config file at all because it ships with built-in defaults. iconic behavior honestly. but there are so many options you might wanna tweak to your liking, so like… do you πŸ’–


πŸŽ€ SYNTAX πŸŽ€

the syntax is simple and line-based, no cap. each option line is just the option name and the option value, separated by the = symbol. that's the whole vibe.

comments start with the # symbol. also, all whitespace is ignored β€” and when she says all, she means all:

  • lines containing only whitespace βœ… ignored
  • trailing whitespace βœ… ignored
  • leading whitespace βœ… ignored
  • whitespace inbetween names βœ… ignored

okay and one thing to know: only 1024 characters at most are read per line, including whitespace. if a line is longer than that, the rest is simply ignored. so don't be out here writing essays on one line πŸ“


πŸ‘‘ OPTIONS πŸ‘‘

here's the full list of possible options, with their type and default value, plus extra description because she's thorough like that.

quick heads up: boolean options accept only the values yes and no. other options may accept more values. slay 🫢

  • debug (boolean: no) β€” whether to output debug information. this is verbose logging that's only useful when you're investigating issues. it's giving detective mode πŸ”
  • backend (string: dinit) β€” the service backend to use. the default is build-dependent and in this case is set to suss.

it can also be set to none to disable the service backend. in that case, nothing will be spawned, but the daemon will still perform login tracking and auxiliary tasks such as rundir management. so like, it stops doing some stuff but not all of it, iykyk ✨

  • debug_stderr (boolean: no) β€” whether to print debug messages also to stderr.
  • linger (combo: maybe) β€” whether to keep already started services running even after the last login of the user is gone. the default behavior is to stop them unless a file with the same name as the user exists in /var/lib/turnstiled/linger. πŸ‘€

it is not necessary to log in and out when the linger directory is changed, because the current state is checked upon last logout. convenient fr fr.

note that lingering is disabled when manage_rundir is set to no. that's because various user services may be relying on the rundir's existence, and it cannot be deleted until the user is gone. this is overridable with an environment variable (for those who worked around it on their own). πŸ’€

valid values are yes, no and maybe.

  • rundir_path (string: /run/user/%u) β€” the value of $XDG_RUNTIME_DIR that gets exported into the user service environment. special values %u (user ID), %g (group ID) and %% (the character %) are allowed and substituted in the string. set it to the empty string if you want to prevent it from being exported altogether.

it must not end with a slash, be relative, or be just the root filesystem. 🚫

if you're using elogind, you should not mess with this path, and doing so will result in subtly broken systems. you should in general not mess with this path. like, please, bestie, hands off πŸ™ˆ
  • manage_rundir (boolean: no) β€” whether to manage the $XDG_RUNTIME_DIR. this may conflict with other rundir management methods, such as elogind, so when turning it on, make sure this is not the case.

it is a requirement for the linger functionality to work. πŸ”‘

the default is dependent on the build.

  • export_dbus_address (boolean: yes) β€” whether to export $DBUS_SESSION_BUS_ADDRESS into the environment. when enabled, this will be exported and set to 'unix:path=RUNDIR/bus' where RUNDIR is the expanded value of rundir_path. this works regardless of if rundir is managed. ✨
  • login_timeout (integer: 60) β€” the timeout for the login, in seconds. if the user services that are a part of the initial startup process take longer than this, the service manager instance is terminated and all connections to the session are closed. dramatic but necessary πŸ’…
  • root_session (boolean: no) β€” whether to run a user service manager for root logins. by default, the root login is tracked but a service manager is not run for it. if you override that, the root user is treated like any other user and will have its own user services. this may result in various gotchas, such as root having a session bus, and so on. ⚠️

and that's the whole page babes πŸ¦‹ she was written for turnstiled.conf(5), version dated 2026-02-25 β€” no cap, that's the date at the bottom of the original, and the man page name is right there in the footer too. go forth and configure, you've got this πŸŒˆπŸ’œ

πŸ“¦ where this page comes from