← Back to team overview

desktop-packages team mailing list archive

[Bug 1511259] [NEW] Session child does not inherit all LC_* variables

 

You have been subscribed to a public bug:

In file session-child.c in function session_child_run() variable
`locale_var_names` contains explicit list of locale environment
variables to inherit. This list lacks of some LC_* variables: LC_PAPER,
LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT and LC_IDENTIFICATION.
As a result, these variables are not inherited by child session.
Therefore, processes inside desktop session set these variables to the
value of LANG, instead of appropriate values configured in
/etc/locale.conf.

$ more /etc/locale.conf 
LANG=en_US.UTF-8
LC_CTYPE=pl_PL.UTF-8
LC_NUMERIC=pl_PL.UTF-8
LC_TIME=pl_PL.UTF-8
LC_COLLATE=pl_PL.UTF-8
LC_MONETARY=pl_PL.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=pl_PL.UTF-8
LC_NAME=pl_PL.UTF-8
LC_ADDRESS=pl_PL.UTF-8
LC_TELEPHONE=pl_PL.UTF-8
LC_MEASUREMENT=pl_PL.UTF-8
LC_IDENTIFICATION=pl_PL.UTF-8
LC_ALL=

Inside desktop session:

$ locale
LANG=en_US.utf8
LC_CTYPE=pl_PL.UTF-8
LC_NUMERIC=pl_PL.UTF-8
LC_TIME=pl_PL.UTF-8
LC_COLLATE=pl_PL.UTF-8
LC_MONETARY=pl_PL.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=

Notice wrong values of LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE,
LC_MEASUREMENT and LC_IDENTIFICATION (en_US.utf8 instead pl_PL.UTF-8).

Fix:

Add LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT and
LC_IDENTIFICATION  to the `locale_var_names` array in file session-
child.c.

** Affects: lightdm
     Importance: Medium
         Status: Fix Committed

** Affects: lightdm/1.10
     Importance: Medium
         Status: Fix Committed

** Affects: lightdm/1.14
     Importance: Medium
         Status: Fix Released

** Affects: lightdm/1.16
     Importance: Medium
         Status: Fix Committed

** Affects: lightdm/1.2
     Importance: Medium
         Status: Won't Fix

** Affects: lightdm (Ubuntu)
     Importance: Medium
         Status: Fix Committed

-- 
Session child does not inherit all LC_* variables
https://bugs.launchpad.net/bugs/1511259
You received this bug notification because you are a member of Desktop Packages, which is subscribed to lightdm in Ubuntu.