You are not logged in.
I just installed Arch on my new machine and I wrote:
==> /etc/locale.conf
LANG=es_CL.utf-8
# LANG=es_CL.UTF-8 (I've tried with both).
after uncommenting it on /etc/locale.gen and running # locale-gen
(I basically followed every step in the wiki).
No matter what I do when I start any terminal, I found the locale commands output:
$ ~ locale
LANG=
LC_CTYPE="POSIX
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
I found that if I open a tty, the /etc/profile.d/locale.sh is ran so, the locales are correct and locale shows the correct output.
The weirdest thing is that my old machine doesn't load locale.sh, and still the locale it's right.
I've search a lot through the wiki and bbs and even when there are couple of articles, none of them help me to solve this issue :(.
I'm running my session through systemd --user (in case it means anything).
EDIT: Add more info.
EDIT2: Fix typo
Last edited by pablox (2013-03-25 13:19:42)
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline
Try es_CL.UTF-8 (utf-8 is case sensitive).
Offline
I should have specified that I tried with both without success.
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline
pablox,
In /etc/locale.conf it should be:
LANG=es_CL.UTF-8
not
LANG=es_CL.UTF.8
Offline
Sorry, that was a typo writing it here D:, I actually tried with:
LANG=es_CL.utf-8
and
LANG=es_CL.UTF-8
I modified (again) the post to reflect this.
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline
Just tested:
% su -
# vim /etc/locale.gen
# egrep -v '^#|^$' /etc/locale.gen
es_CL.UTF-8 UTF-8
# echo LANG=es_CL.UTF-8 > /etc/locale.conf
# locale-gen
Generating locales...
es_CL.UTF-8... done
Generation complete.
and after reboot:
% locale
LANG=es_CL.UTF-8
LC_CTYPE="es_CL.UTF-8"
LC_NUMERIC="es_CL.UTF-8"
LC_TIME="es_CL.UTF-8"
LC_COLLATE="es_CL.UTF-8"
LC_MONETARY="es_CL.UTF-8"
LC_MESSAGES="es_CL.UTF-8"
LC_PAPER="es_CL.UTF-8"
LC_NAME="es_CL.UTF-8"
LC_ADDRESS="es_CL.UTF-8"
LC_TELEPHONE="es_CL.UTF-8"
LC_MEASUREMENT="es_CL.UTF-8"
LC_IDENTIFICATION="es_CL.UTF-8"
LC_ALL=
Offline
Well, I did that but doesn't work =/. I'm using zsh, so I don't know if has something to do.
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline
Try adding
source /etc/profile
to your .zshrc
Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD
Making lemonade from lemons since 2015.
Offline
According to the wiki:
/etc/profile is not a part of the regular list of startup files run for Zsh, but is sourced from /etc/zsh/zprofile in the zsh package.
So, in theory, it should be loaded right?
@mah0
Are you using bash or zsh? Can you tell me if you are sourcing .zprofile or forcing /etc/profile?
Last edited by pablox (2013-03-25 15:33:23)
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline
Looks like it is, I removed it from my .zshrc and nothing changed.
Could you check whether es_CL.UTF-8 is actually listed as an available locale?
localectl list-locales
And if so, whether it's correctly set
localectl status
Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD
Making lemonade from lemons since 2015.
Offline
pablox,
I'm using zsh. I just followed steps in the "Beginners' Guide" and I didn't add anything to ".zprofile" or "/etc/profile".
Offline
Looks like it is, I removed it from my .zshrc and nothing changed.
Could you check whether es_CL.UTF-8 is actually listed as an available locale?
localectl list-locales
And if so, whether it's correctly set
localectl status
$ localectl list-locales
en_US.utf8
es_CL.utf8
$ localectl status
System Locale: LANG=es_CL.UTF-8
LC_COLLATE=C
LC_MESSAGES=C
VC Keymap: la-latin1
X11 Layout: n/a
$ locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
$
Ô_o
I have removed an empty ~/.zprofile just in case but the issue persist. Running an empty zsh shell (with zsh -f) doesn't work either.
Last edited by pablox (2013-03-26 23:59:45)
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline
Have you tried actually setting the locale with localectl?
Offline
`localectl` just add the locale to the /etc/locale.conf file, nothing else. Besides, localectl point the status is ok. On my old computer I have the same settings, so I don't understand why is changing it here =/.
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline
I managed to find the issue. It's just about the zsh wiki page incorrectly states:
/etc/zsh/zprofile it's ONLY loaded if you ran it through a login shell, so just opening a terminal in the DE/WM doesn't work .
The only difference from my old laptop is that its running xfce + xmonad, while this one it's only running xmonad so I guess xfce was actually making sure and fixing the locale. The other alternative it's that it's systemd (I'm opening my session trough systemd --user).
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline