Olen lisäillyt ja poistellut tuota ylimääräistä UTF-8 parametria locale.confiin, jos sillä olisi jotain merkitystä. Jonkin googlatun ohjeen se oli localen toimimattomuuden syy. /etc/locale.gen vaatii localen muodossa 'en_US.UTF-8 UTF-8', muuten se ei toimi.
/etc/locale.gen kertoo locale-gen komennolle mitkä localet on tarpeen pitää käyttövalmiina juuri tässä koneessa, ja sillä on vaikutusta vain silloin kun ajetaan "locale-gen" komentoa rootin voimalla (joko käsin ajettuna tai sitten automaattisesti locale-paketin päivityksen yhteydessä). /etc/locale.gen-tiedostolla on oma syntaksinsa, jossa tuo erillinen merkistömääritys locale-nimen perässä kuuluu asiaan; mutta kaikissa muissa paikoissa joissa puhutaan localeista tuota käytettävän merkistön tuplamainintaa ei tarvitse eikä saa olla.
Jotta uudet systeemin laajuiset locale-asetukset tulevat voimaan bootin alkuvaiheesta lähtien, saattaa olla tarpeen päivittää initramfs-tiedosto sen jälkeen kun locale-asetuksia on muutettu. Debianin sukuisissa jakeluissa tämä hoituu tyypillisesti komennolla "sudo update-initramfs -u". Muissa jakeluissa on omat työkalunsa initramfs-tiedoston päivittämiseen.
Systeemin oletuslocale-määrityksiin /etc/locale.conf on uudempi paikka joka on tulossa standardiksi suunnilleen kaikkiin systemd:tä käyttäviin jakeluihin.
Mutta vielä toistaiseksi kannattaa tarkistaa myös "vanha paikka": Debianin sukuisissa Linuxeissa pitäisi olla /etc/default/locale, RedHatista polveutuvissa jakeluissa sitten taas /etc/sysconfig/i18n. Raspbian/RasPi OS on Debianiin pohjautuva jakelu, joten kannattaa katsoa /etc/default/locale.
Pohjimmiltaan nuo locale-asetukset ovat ihan tavallisia ympäristömuuttujia, joten ne on mahdollista asettaa myös kaikkialla missä voidaan määritellä istunnon ympäristömuuttujia, esimerkiksi juuri /etc/environment-tiedostossa.
Eri paikoilla on hieman eri merkitys:
- /etc/locale.conf (tai vanhemmat Debianin /etc/default/locale / RedHatin /etc/sysconfig/i18n ) määrittää koko järjestelmän oletuslocalen, jota myös taustalla pyörivät palveluprosessit käyttävät.
- jos määrität localeita /etc/environment -tiedostossa, niistä tulee systeeminlaajuinen oletusasetus kaikille kirjautuville käyttäjille, mutta kaikki taustaprosessit jotka eivät käynnisty kirjautumisen kautta käyttävät edelleen /etc/locale.conf:ia
- jos määrität locale-ympäristömuuttujia kotihakemistossa olevassa .bashrc / .profile / .bash_profile tms. tiedostossa, asetukset tulevat voimaan omissa komentoikkunoissasi, mutta graafisen käyttöliittymän kautta käynnistettävät ohjelmat eivät välttämättä huomioi näitä asetuksia ollenkaan
- jos määrität locale-asetuksia graafisen käyttöliittymän ohjauspaneelin kautta, se todennäköisesti kirjoittaa asetukset käyttäjän kotihakemistoon, uusissa jakeluissa yleensä jonnekin .config-hakemiston alaiseen tiedostoon. Nimeämiskäytäntö on vasta vakiintumassa: Debianin KDE 5 käytti vuonna 2017 tiedostoa ~/.config/plasma-locale-settings.sh, mutta nykyversiossa on käytössä ~/.config/plasma-localerc.