Maybe this will help to understand what's happening:
When I run ❯ gnome-control-center -v
I get
(process:24830): Gtk-CRITICAL **: 13:52:29.045: gtk_style_context_add_provider_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
13:52:29.0357 GLib: DEBUG: setenv()/putenv() are not thread-safe and should not be used after threads are created
13:52:29.0375 diagnostics-cc-panel: DEBUG: ABRT vanished
13:52:29.0376 accountsservice: DEBUG: Finding a graphical session for user 1000
13:52:29.0377 accountsservice: DEBUG: Considering session '5'
13:52:29.0377 accountsservice: DEBUG: ActUserManager: Seat still actively loading, so not setting loaded property
13:52:29.0378 accountsservice: DEBUG: ActUserManager: Seat still actively loading, so not setting loaded property
13:52:29.0378 accountsservice: DEBUG: ActUserManager: Seat loaded, so now setting loaded property
13:52:29.0378 accountsservice: DEBUG: ActUserManager: user manager now loaded, proceeding with fetch user request for user with id 1000
13:52:29.0378 accountsservice: DEBUG: ActUserManager: finding user with id 1000 state 2
13:52:29.0378 accountsservice: DEBUG: ActUserManager: Looking for user with id 1000 in accounts service
13:52:29.0379 accountsservice: DEBUG: ActUserManager: Found object path of user with id 1000: /org/freedesktop/Accounts/User1000
13:52:29.0379 accountsservice: DEBUG: ActUserManager: finding user with id 1000 state 3
13:52:29.0379 accountsservice: DEBUG: ActUserManager: user with id 1000 fetched
13:52:29.0381 accountsservice: DEBUG: ActUserManager: user killian is now loaded
13:52:29.0381 accountsservice: DEBUG: ActUserManager: user killian was not yet known, adding it
13:52:29.0381 accountsservice: DEBUG: ActUserManager: tracking user 'killian'
13:52:29.0381 accountsservice: DEBUG: ActUserManager: not yet loaded, so not emitting user-added signal
13:52:29.0381 accountsservice: DEBUG: ActUserManager: no pending users, trying to set loaded property
13:52:29.0381 accountsservice: DEBUG: ActUserManager: already loaded, so not setting loaded property
13:52:29.0381 accountsservice: DEBUG: ActUserManager: finished handling request for user with id 1000
13:52:29.0381 accountsservice: DEBUG: ActUserManager: unrefing manager owned by fetch user request
When I then click on Language
to open the dialog that allow chosing another language, these two lines are added to the terminal:
13:53:04.0234 GnomeDesktop: CRITICAL: gnome_get_country_from_code: assertion 'code != NULL' failed
13:53:04.0234 GnomeDesktop: CRITICAL: gnome_get_country_from_code: assertion 'code != NULL' failed
When I then select a language, nothing happens in the terminal until I click the Select
button:
(gnome-control-center:24926): dconf-DEBUG: 13:57:20.789: change_fast
(gnome-control-center:24926): dconf-DEBUG: 13:57:20.789: change_notify: /system/locale/region
13:57:20.0805 GLib: CRITICAL: g_regex_match_full: assertion 'string != NULL' failed
13:57:20.0805 GnomeDesktop: WARNING: locale '(null)' isn't valid
Furthermore I tracked my home folder ~/
in git and found that changing the language had no effect on any file in my home directory, whereas changing the Formats
locale, the /system/locale/region entry in dconf was updated accordingly.
So is this a bug in upstream Gnome? My next step would be to run a gnome linux distro in a VM and see what is supposed to happen when the user language is changed in gnome-control-center. It'll probably take a while until I get around to that. Any ideas are welcome in the mean time, how this could be debugged further.
Further to note: in ~/.pam_environment I can overwrite LANGUAGE and all LC_* environment values, but not the LANG variable. The LANG variable can however be overwritten by setting export LANG=nl_NL.utf8
in ~/.profile. I have no idea if this has any influence on the Gnome sesssion though.
To be continued.