linuxmint / live-installer

A live installer for the Debian edition
55 stars 65 forks source link

After install, programs give errors like "can't set the locale" #80

Closed dg1727 closed 7 years ago

dg1727 commented 7 years ago

I have recently installed LMDE2 Cinnamon 64-bit using the Jan. 2017 beta installer. I selected an English (US) locale and the default 105-key keyboard. I don't remember doing anything out of the ordinary in the installer. This machine is dual-boot with an older Linux distro, no Windows.

Now environment variable LC_ALL is unset, which causes error messages in several programs, such as:

Edit:

LANG is set to en_US

My shell is zsh. If, at a shell prompt, I start Bash, similar error messages happen in Bash.

Please let me know if you need more info about this. Thanks.

dg1727 commented 7 years ago

Starting Bash the way I described would be expected to have Bash inherit its environment variables from zsh, so that wouldn't tell us anything. However, if I change my shell to Bash and restart the computer, the issue is still the same, indicating that the problem isn't caused by zsh.

dg1727 commented 7 years ago

Per https://forums.linuxmint.com/viewtopic.php?f=46&t=241047 The problem isn't that LC_ALL is unset, but that LANG is set to "en_US" instead of "en_US.UTF-8".

https://bugs.launchpad.net/bugs/1023421 The response on Launchpad.net was:

you just have set an incorrect locale name. "en_US" isn't generated by default, and if it is present, it enables latin1 encoding, which you probably not want. Just update /etc/default/locale by running this command:
sudo update-locale LANG=en_US.UTF-8

But en_US must be "generated by default," because I never typed en_US into the installer. Maybe the installer can be investigated to confirm whether it is generating an en_US locale instead of en_US.UTF-8, and if so, why?

dg1727 commented 7 years ago

I did this investigation. The cause turned out to be a pre-existing file called .dmrc in the primary user's home folder:

[Desktop] Language=en_US Langlist=en_US:en LCMess=en_US.UTF-8 Layout=us Session=xfce

Deleting that .dmrc file fixed the issue. :-)

Thanks to all for bearing with me on this.