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