The description looks right to me now.

The thing is that the regional formats value you set is *also*
represented by a line in a user file in the
/var/lib/AccountsService/users directory. There is quite some code which
tries to keep that line in sync with ~/.pam_environment, and by changing
those variables in ~/.pam_environment only they got out of sync. :/

If you want to use a script in connection with preparing a distro, one
way is to change it in both places.

Or probably better: Let the script edit only /etc/default/locale to your
liking and don't create ~/.pam_environment in advance.

A few years ago I figured out a terminal command to change the user's
regional format value the 'right' way:

https://askubuntu.com/a/754519

It's pretty long...

** Changed in: language-selector (Ubuntu)
   Importance: Undecided => Wishlist

** Changed in: language-selector (Ubuntu)
       Status: Incomplete => New

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to language-selector in Ubuntu.
https://bugs.launchpad.net/bugs/2035212

Title:
  [Feature request]: Command line option

Status in language-selector package in Ubuntu:
  New

Bug description:
  The settings for gnome-language-selector -> Regional Formats in the
  "Display numbers, dates and currency in the usual format for" list,
  are stored in ~/.pam_environment

  # How is it possible to make the DE reload the new values from 
~/.pam_environment
  So it's possible to modify ~/.pam_environment with a script. But how do you 
update the system to use the changes? Not even reboot worked. This issue can 
manually be evaluated in order to make sure that the file content is correct:

  ############
  Step 1, identify how to load ~/.pam_environment to `locale`

  * Default Ubuntu MATE 23.04:

  ~/.pam_environment does not exist

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

  * Open gnome-language-selector, click on the "Regional Formats" tab, and 
click on the "Display numbers, dates and currency in the usual format for" list 
and select "English (Canada)"
  * Press on the Close button

  $ cat .pam_environment
  LC_NUMERIC    DEFAULT=en_CA.UTF-8
  LC_TIME       DEFAULT=en_CA.UTF-8
  LC_MONETARY   DEFAULT=en_CA.UTF-8
  LC_PAPER      DEFAULT=en_CA.UTF-8
  LC_NAME       DEFAULT=en_CA.UTF-8
  LC_ADDRESS    DEFAULT=en_CA.UTF-8
  LC_TELEPHONE  DEFAULT=en_CA.UTF-8
  LC_MEASUREMENT        DEFAULT=en_CA.UTF-8
  LC_IDENTIFICATION     DEFAULT=en_CA.UTF-8
  PAPERSIZE     DEFAULT=letter

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

  * Sign out, and sign in

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


  
  ############
  Step 2, demonstrate that ~/.pam_environment can be scripted

  Run this in terminal:

  sudo tee ~/.pam_environment > /dev/null << 'EOF'
  LC_NUMERIC    DEFAULT=en_DK.UTF-8
  LC_TIME       DEFAULT=en_DK.UTF-8
  LC_MONETARY   DEFAULT=en_DK.UTF-8
  LC_PAPER      DEFAULT=en_DK.UTF-8
  LC_NAME       DEFAULT=en_DK.UTF-8
  LC_ADDRESS    DEFAULT=en_DK.UTF-8
  LC_TELEPHONE  DEFAULT=en_DK.UTF-8
  LC_MEASUREMENT        DEFAULT=en_DK.UTF-8
  LC_IDENTIFICATION     DEFAULT=en_DK.UTF-8
  PAPERSIZE     DEFAULT=a4
  EOF

  * Sign out, and sign in to the desktop environment.
  * $ locale
  LANG=en_US.UTF-8
  LANGUAGE=en_US
  LC_CTYPE="en_US.UTF-8"
  LC_NUMERIC=en_DK.UTF-8
  LC_TIME=en_DK.UTF-8
  LC_COLLATE="en_US.UTF-8"
  LC_MONETARY=en_DK.UTF-8
  LC_MESSAGES="en_US.UTF-8"
  LC_PAPER=en_DK.UTF-8
  LC_NAME=en_DK.UTF-8
  LC_ADDRESS=en_DK.UTF-8
  LC_TELEPHONE=en_DK.UTF-8
  LC_MEASUREMENT=en_DK.UTF-8
  LC_IDENTIFICATION=en_DK.UTF-8
  LC_ALL=

  
  Issue:
  * Open gnome-language-selector, click on the "Regional Formats" tab, check 
the "Display numbers, dates and currency in the usual format for" list, it is 
not set to "English (Denmark)"

  # [Feature request]: Implement command line option
  Implemented command line options, for both user and system-wide settings, 
would be useful.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/language-selector/+bug/2035212/+subscriptions


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to