That's true, and it's intended behavior. The idea is to distinguish between language and regional formats, and the latter variables are considered to be part of the language option.
> "Setting LC_ALL that way persistently on a desktop is a misconfiguration"?
>
> Is it?
Yes it is. If you want the same locale for every locale category, just make sure that you select the same locale for both language and regional formats.
LC_ALL is typically used by coders. It's not suitable as an environment variable on a desktop, since it makes any UI for this purpose useless.
If you want to make an exception for a particular locale category, e.g. LC_CTYPE or LC_TIME, then set that category separately. But leave LC_ALL unset.
> How does gnome-language-selector reload ~/.pam_environment ?
It doesn't. PAM loads ~/.pam_environment at login.
> $ cat /etc/default/locale "en_CA. UTF-8" "en_CA. UTF-8" "en_CA. UTF-8" "en_CA. UTF-8" ON="en_ CA.UTF- 8" "en_CA. UTF-8" "en_CA. UTF-8" "en_CA. UTF-8" "en_CA. UTF-8" "en_US. UTF-8" en_CA.UTF- 8 "en_US. UTF-8" en_CA.UTF- 8 "en_US. UTF-8" en_CA.UTF- 8 en_CA.UTF- 8 en_CA.UTF- 8 en_CA.UTF- 8 ON=en_CA. UTF-8 "en_US. UTF-8" "en_US. UTF-8" "en_US. UTF-8"
> # File generated by update-locale
> LANG="en_US.UTF-8"
> LC_NUMERIC=
> LC_TIME=
> LC_MONETARY=
> LC_PAPER=
> LC_IDENTIFICATI
> LC_NAME=
> LC_ADDRESS=
> LC_TELEPHONE=
> LC_MEASUREMENT=
>
> $ locale
> LANG=en_US.UTF-8
> LANGUAGE=en_US
> LC_CTYPE=
> LC_NUMERIC=
> LC_TIME=en_CA.UTF-8
> LC_COLLATE=
> LC_MONETARY=
> LC_MESSAGES=
> LC_PAPER=
> LC_NAME=en_CA.UTF-8
> LC_ADDRESS=
> LC_TELEPHONE=
> LC_MEASUREMENT=
> LC_IDENTIFICATI
> LC_ALL=
>
> $ locale | grep en_US | grep LC_
> LC_CTYPE=
> LC_COLLATE=
> LC_MESSAGES=
>
> The latter variables are not set to "en_CA.UTF-8"
That's true, and it's intended behavior. The idea is to distinguish between language and regional formats, and the latter variables are considered to be part of the language option.
> "Setting LC_ALL that way persistently on a desktop is a misconfiguration"?
>
> Is it?
Yes it is. If you want the same locale for every locale category, just make sure that you select the same locale for both language and regional formats.
LC_ALL is typically used by coders. It's not suitable as an environment variable on a desktop, since it makes any UI for this purpose useless.
If you want to make an exception for a particular locale category, e.g. LC_CTYPE or LC_TIME, then set that category separately. But leave LC_ALL unset.
> How does gnome-language- selector reload ~/.pam_environment ?
It doesn't. PAM loads ~/.pam_environment at login.