[systemd-devel] By what mechanism are locale-related environment variables (LC_*) set in services?

Farblos AKFKQU.9DF7RP at vodafonemail.de
Thu May 25 14:12:29 UTC 2023


Running on systemd 252 (252.6-1) on Debian testing.

It seems that systemd services, also transient ones, get the full set of locale environment variables (LANG, LANGUAGE, LC_*) as defined in /etc/default/locale.

I only have found environment variable $LANG mentioned in systemd.exec(5) as "Set or Propagated by the Service Manager".

And I have found the following mentioned in locale.conf(5):

  Depending on the operating system, other configuration files might be
  checked for locale configuration as well, however only as fallback.

I guess from that:

1) On Debian, systemd consults /etc/default/locale for locale settings as fallback.

2) systemd does not only propagate $LANG, but also all other locale-related environment variables to the processes it invokes.

Is that correct?

Is there any other systemd documentation on that which I might have missed?

If not, should I open whatever doc bugs on GitHub to get the man page(s) extended?

Thanks!




More information about the systemd-devel mailing list