You are not logged in.
I wanted to change the locale variables to `en_US.UTF-8` (or something else), but can't seem to. I am using `zsh` + `startx`/`xinit`, if it helps.
Locales sure seem to be present.
> locale -a
C
POSIX
en_US.utf8
> locale
LANG=en_US.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
I can't seem to replace the "C"s with the conventional methods (/etc/profile, $HOME/.profile, /etc/locale.conf, $XDG_CONFIG_HOME/locale.conf).
Only `LC_ALL=$LANG` seems to do something.
> LC_CTYPE=$LANG
> locale
LANG=en_US.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
> localectl set-locale LC_CTYPE=$LANG
> locale
LANG=en_US.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
> LC_ALL=$LANG
> locale
LANG=en_US.UTF-8
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=en_US.UTF-8
Found `~/.pam_environment`
LANGUAGE DEFAULT=en_US:en
LANG DEFAULT=en_US.UTF-8
LC_NUMERIC DEFAULT=en_US.UTF-8
LC_TIME DEFAULT=en_US.UTF-8
LC_MONETARY DEFAULT=en_US.UTF-8
LC_PAPER DEFAULT=en_US.UTF-8
LC_NAME DEFAULT=en_US.UTF-8
LC_ADDRESS DEFAULT=en_US.UTF-8
LC_TELEPHONE DEFAULT=en_US.UTF-8
LC_MEASUREMENT DEFAULT=en_US.UTF-8
LC_IDENTIFICATION DEFAULT=en_US.UTF-8
PAPERSIZE DEFAULT=letter
Removed it, no result.
I've even tried sourcing ` /etc/profile.d/locale.sh` after unsetting `LANG`. Even tried relogging in and restarting.
Can you help me out?
Last edited by desperado (2021-05-15 06:45:00)
Offline
Have you consulted https://wiki.archlinux.org/title/Locale … the_locale?
--edit: Actually, sorry, I missed this part:
I can't seem to replace the "C"s with the conventional methods (/etc/profile, $HOME/.profile, /etc/locale.conf, $XDG_CONFIG_HOME/locale.conf).
What exactly did you write into the locale.conf files?
Last edited by ayekat (2021-05-14 17:11:57)
Offline
What exactly did you write into the locale.conf files?
> cat /etc/locale.conf
LANG=en_US.UTF-8
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
It was initially $XDG_CONFIG_HOME/locale.conf. I moved it for testing.
Last edited by desperado (2021-05-14 17:37:52)
Offline
Contents of ~/.zprofile, ~/.zshrc and ~/.zshenv?
Offline
It's quite long to be any interesting, but I've found a line.
LC_ALL=C
I guess that was the problem. Found out from the wiki that you aren't supposed to set LC_ALL as a permanent variable (i.e. in a startup script).
Removed it and it's starting to work. Hope I haven't broken something else. Thanks.
Edit -
I asked the dotfiles author why it was put here.
Had something to do with this.
https://androidstudio.googleblog.com/20 … anary.html
Last edited by desperado (2021-05-15 14:16:53)
Offline
I asked the dotfiles auther why it was put here...
So you were using someone else's dotfiles copied just willy-nilly as-is?
"the wind-blown way, wanna win? don't play"
Offline
Welcome to almostarchlinux ;-)
Also
LC_ALL=C by default. To address issues with crashes and other problems stemming from different locales, we now set LC_ALL=C by default.
Offline
So you were using someone else's dotfiles copied just willy-nilly as-is?
Yeah, big mistake.
Offline