So, I’ve been using EndeavourOS since Decembre 2021, and for quite a while I’ve been seeing warnings about my locale. I had to install my system again because I recently broke it, and I had seen the obligatory warnings again.
[$] sudo pacman -Syu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
endeavouros is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Package (1) Old Version New Version Net Change
extra/accountsservice 22.07.5-1 22.08.8-1 0.02 MiB
Total Installed Size: 0.97 MiB
Net Upgrade Size: 0.02 MiB
:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring [-------------------------------------] 100%
(1/1) checking package integrity [-------------------------------------] 100%
(1/1) loading package files [-------------------------------------] 100%
(1/1) checking for file conflicts [-------------------------------------] 100%
:: Processing package changes...
(1/1) upgrading accountsservice [-------------------------------------] 100%
:: Running post-transaction hooks...
(1/4) Reloading system manager configuration...
(2/4) Arming ConditionNeedsUpdate...
(3/4) Reloading system bus configuration...
(4/4) Checking which packages need to be rebuilt
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_GB:de",
LC_ALL = (unset),
LC_ADDRESS = "de_DE.UTF-8",
LC_NAME = "de_DE.UTF-8",
LC_MONETARY = "Default.UTF-8",
LC_PAPER = "de_DE.UTF-8",
LC_IDENTIFICATION = "de_DE.UTF-8",
perl: warning: Setting locale failed.
LC_TELEPHONE = "de_DE.UTF-8",
LC_MEASUREMENT = "Default.UTF-8",
LC_TIME = "Default.UTF-8",
perl: warning: Please check that your locale settings:
LC_NUMERIC = "Default.UTF-8",
LANG = "Default.UTF-8"
LANGUAGE = "en_GB:de",
are supported and installed on your system.
LC_ALL = (unset),
LC_ADDRESS = "de_DE.UTF-8",
LC_NAME = "de_DE.UTF-8",
LC_MONETARY = "Default.UTF-8",
perl: warning: Falling back to the standard locale ("C").
LC_PAPER = "de_DE.UTF-8",
LC_IDENTIFICATION = "de_DE.UTF-8",
LC_TELEPHONE = "de_DE.UTF-8",
LC_MEASUREMENT = "Default.UTF-8",
LC_TIME = "Default.UTF-8",
LC_NUMERIC = "Default.UTF-8",
LANG = "Default.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_GB:de",
LC_ALL = (unset),
LC_ADDRESS = "de_DE.UTF-8",
LC_NAME = "de_DE.UTF-8",
LC_MONETARY = "Default.UTF-8",
LC_PAPER = "de_DE.UTF-8",
LC_IDENTIFICATION = "de_DE.UTF-8",
LC_TELEPHONE = "de_DE.UTF-8",
LC_MEASUREMENT = "Default.UTF-8",
LC_TIME = "Default.UTF-8",
LC_NUMERIC = "Default.UTF-8",
LANG = "Default.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Since this was a fresh install, I decided to investigate this time and tried to fix this.
[$] locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=Default.UTF-8
LC_CTYPE="Default.UTF-8"
LC_NUMERIC=Default.UTF-8
LC_TIME=Default.UTF-8
LC_COLLATE="Default.UTF-8"
LC_MONETARY=Default.UTF-8
LC_MESSAGES="Default.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=Default.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
There are two potential ways I could find online to fix this, and one I figured out on my own - however, none of them worked.
The first I attempted was this:
[$] sudo localectl set-locale LC_ALL=Default.UTF-8
Failed to issue method call: Locale assignment LC_ALL=Default.UTF-8 not valid, refusing.
This did not work at all. The same output (“assignment not valid, refusing”) is something I’ve seen with many varations, trying different locales and different locale settings, and even different writing styles because locale -a
displayed the locales written differently.
[$] locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
de_DE.utf8
en_GB.utf8
en_US.utf8
However, I always received the same output and nothing changed.
Another way I found was was with sudo update-locale
, but I’ll just get the output that update-locale
command was not found.
The next thing I tried was kate /etc/default/locale
. I could easily change the settings there, but, if you know better than I do what I was doing, you can probably already tell that this did not work out all either. It didn’t seem to break my system, at least, lol
Please advise.