V systémoch UNIX / Linux sa toto nastavenie nazýva miestne nastavenia POSIX [7] a je štandardizované ako IEEE Std 1003.1-2017 [3]. Takéto miestne nastavenie sa môže líšiť pre systém ako celok a účty jednotlivých používateľov, pretože každý užívateľ môže individualizovať svoje pracovné prostredie. V tomto článku vám vysvetlíme, ako zistiť aktuálne nastavenie miestneho nastavenia v systéme Debian GNU / Linux, pochopiť jednotlivé nastavovacie skrutky a ako prispôsobiť systém vašim potrebám.
Upozorňujeme, že tento článok je šitý na mieru pre Debian GNU / Linux vydanie 10 „Buster“. Pokiaľ nie je uvedené inak, tu popísané techniky fungujú aj pre jej deriváty ako Ubuntu alebo Linux Mint [8].
Čo je to miestne nastavenie?
Obecne možno povedať, že miestne nastavenie je súbor hodnôt, ktoré odrážajú povahu a konvencie krajiny alebo kultúry. Tieto hodnoty sa okrem iného ukladajú ako premenné prostredia, ktoré reprezentujú jazyk, kódovanie znakov, formátovanie dátumu a času, predvolenú veľkosť papiera, menu krajiny a prvý deň týždňa.
Ako už bolo spomenuté predtým, existuje všeobecné nastavenie známe ako „predvolené miestne nastavenie“ a nastavenie definované používateľom. Predvolené miestne nastavenie funguje v celom systéme a je uložené v súbore / etc / default / locale. Zoznam 1 zobrazuje predvolené miestne nastavenie na Debiane GNU / Linux, pričom ako hlavný jazyk je použitý nemecký jazyk, a 8-bitový unicode (UTF-8) ako znaková sada [11].
Výpis 1: Predvolené národné prostredie v nemeckom Debian GNU / Linux
$ cat / etc / default / locale # Súbor vygenerovaný programom update-locale LANG = “de_DE.UTF-8 ”$ --Upozorňujeme, že na rozdiel od Debianu GNU / Linux je v niektorých starších verziách systému Ubuntu nastavenie miestneho nastavenia pre celý systém uložené v priečinku / etc / locale.konf.
Užívateľom definované nastavenia sú uložené ako skrytý súbor vo vašom domovskom adresári a skutočné hodnotené súbory závisia od použitého prihlasovacieho shellu [6]. Tradičný Bourneov shell (/ bin / sh) [4] číta dva súbory / etc / profile a ~ /.profil, zatiaľ čo shell Bourne-Again (Bash) (/ bin / bash) [5] znie / etc / profile a ~ /.bash_profile. Ak je vaším prihlasovacím shellom Z shell (/ bin / zsh) [9], dva súbory ~ /.zprofile a ~ /.zlogin sa čítajú, ale nie ~ /.profil, pokiaľ nie je vyvolaný v režime emulácie Bourne shell [10].
Spustenie shellu v termináli v existujúcej relácii má za následok interaktívny shell bez prihlásenia. Môže to mať za následok prečítanie nasledujúcich súborov - ~ /.bashrc pre Bash a / etc / zshrc rovnako ako ~ /.zshrc pre Z shell [6].
Pomenovanie miestneho nastavenia
Ako je vysvetlené tu [12], názov miestneho nastavenia sa riadi špecifickým vzorom. Vzor sa skladá z jazykových kódov, kódovania znakov a popisu vybranej varianty.
Názov sa začína dvojpísmenovým kódom jazyka ISO 639-1 [13] alebo trojpísmenovým kódom jazyka ISO 639-2 [14], ak jazyk nemá dvojpísmenový kód. Napríklad je to de pre nemčinu, fr pre francúzštinu a cel pre keltčinu. Za týmto kódom nasleduje v mnohých, ale nie vo všetkých jazykoch, znak podčiarknutia _ a veľký dvojpísmenový kód krajiny podľa ISO 3166 [15]. Napríklad to vedie k de_CH pre švajčiarsku nemčinu a fr_CA pre francúzsky hovoriaci systém pre kanadského používateľa, ktorý sa pravdepodobne bude nachádzať v Québecu.
Prípadne bodka . nasleduje za menom kódovania znakov, ako je UTF-8 alebo ISO-8859-1, a za znakom @ nasledovaným názvom variantu. Názov [chránený e-mailom] napríklad popisuje nastavenie anglického systému pre Írsko s kódovaním znakov UTF-8 a eurom ako symbolom meny.
Príkazy a nástroje
Počet príkazov týkajúcich sa miestnych nastavení je pomerne nízky. Zoznam obsahuje miestne nastavenie, ktoré zobrazuje iba aktuálne nastavenie miestneho nastavenia. Druhým z nich je localectl, ktorý je možné použiť na dopytovanie a zmenu miestnych nastavení systému a nastavení rozloženia klávesnice. Pre aktiváciu miestneho nastavenia prichádzajú do úvahy nástroje dpkg-reconfigure a locale-gen - viď príklad nižšie.
Zobraziť miestne nastavenie, ktoré sa používa
Prvým krokom je zistiť aktuálne miestne nastavenie vo vašom systéme pomocou príkazu locale nasledujúcim spôsobom:
Výpis 2: Zobraziť aktuálne miestne nastavenie
$ locale LANG = de_DE.UTF-8 LANGUAGE = LC_CTYPE = “de_DE.UTF-8 ”LC_NUMERIC =“ de_DE.UTF-8 ”LC_TIME = „de_DE.UTF-8 ”LC_COLLATE =“ de_DE.UTF-8 ”LC_MONETARY =“ de_DE.UTF-8 ”
LC_MESSAGES = “de_DE.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 =“ de_DE.UTF-8 ”
LC_IDENTIFICATION = “de_DE.UTF-8 ”LC_ALL = $ --
Upozorňujeme, že iné distribúcie Linuxu ako Debian GNU / Linux môžu používať ďalšie premenné prostredia, ktoré nie sú uvedené vyššie. Jednotlivé premenné majú nasledujúci význam:
- LANG: Určuje predvolené miestne nastavenie bez ďalších premenných prostredia súvisiacich s miestnym prostredím
- LANGUAGE: Zoznam jazykov prekladov záložných správ
- LC_CTYPE: Klasifikácia znakov a prevod veľkých a malých písmen
- LC_NUMERIC: číselné formátovanie
- LC_TIME: formáty dátumu a času
- LC_COLLATE: Poradie triedenia (triedenia)
- LC_MONETARY: Peňažné formátovanie
- LC_MESSAGES: Formát interaktívnych slov a odpovedí
- LC_PAPER: Predvolená veľkosť papiera pre región
- LC_NAME: Formáty mien
- LC_ADDRESS: Konvencia používaná na formátovanie ulíc alebo poštových adries
- LC_TELEPHONE: Konvencie používané na reprezentáciu telefónnych čísel
- LC_MEASUREMENT: Predvolený systém merania používaný v regióne
- LC_IDENTIFICATION: Metadáta o miestnych informáciách
- LC_RESPONSE: Určuje, ako sa odpovede (napríklad Áno a Nie) objavia v miestnom jazyku (nepoužívajú ich Debian GNU / Linux, ale Ubuntu)
- LC_ALL: Prepíše všetky ostatné miestne premenné (okrem LANGUAGE)
Zoznam dostupných miestnych nastavení
Ďalej môžete uviesť dostupné miestne nastavenia vo vašom systéme pomocou príkazu locale sprevádzaného ich voľbou -a. -a je skratka pre -all-locales:
Výpis 3: Zobraziť dostupné miestne nastavenia
$ miestne nastavenie -a C C.UTF-8 de_DE @ euro de_DE.utf8 sk_SK.utf8 POSIX $ --Zoznam 3 obsahuje dve miestne nastavenia pre nemčinu (Nemecko) a angličtinu (USA). Tri záznamy C, C.UTF-8 a POSIX sú synonymá a predstavujú predvolené nastavenia vhodné pre údaje analyzované počítačovým programom. Výstup v zozname 3 je založený na zozname podporovaných miestnych nastavení uložených v priečinku / usr / share / i18n / SUPPORTED.
Okrem toho pridanie možnosti -v (skratka pre -verbose) do hovoru vedie k oveľa rozsiahlejšiemu výstupu, ktorý obsahuje metadáta LC_IDENTIFICATION o každom miestnom nastavení. Obrázok 1 to ukazuje pre hovor z výpisu 3.
Aby ste zistili, ktoré miestne nastavenia už existujú a ktoré potrebujú ďalšiu pomoc, aby ste ich mohli dokončiť, môžete sa tiež pozrieť na mapu projektu Locale Helper Project [20]. Červené značky jasne ukazujú, ktoré miestne nastavenia sú nedokončené. Obrázok 2 zobrazuje miestne nastavenia pre Južnú Afriku, ktoré vyzerajú úplne kompletne.
Zobraziť dostupné mapy znakov
Príkaz locale je dodávaný s možnosťou -m, čo je skratka pre -charmaps. Výstup zobrazuje dostupné mapy znakov alebo súbory s popisom znakovej sady [16]. Takýto súbor je určený na „definovanie charakteristík kódovanej znakovej sady a kódovania znakov uvedených v prenosnej znakovej sade a môže definovať kódovanie ďalších znakov podporovaných implementáciou“ [16]. Zoznam 4 to ilustruje výňatkom z celého zoznamu.
Výpis 4: Súbory s popismi znakovej sady
$ locale -m ANSI_X3.110-1983 ANSI_X3.4-1968 ARMSCII-8 ASMO_449 BIG5 BIG5-HKSCS… $ --Zobraziť definície miestnych premenných
Každá premenná použitá pre miestne nastavenie má svoju vlastnú definíciu. Pomocou voľby -k (skratka pre -keyword-name) príkaz locale zobrazí toto nastavenie podrobne. Výpis 5 to ilustruje pre premennú LC_TELEPHONE, ktorá je definovaná v nemeckom prostredí - formát telefónneho čísla, formát domáceho telefónu, medzinárodný výberový kód, ako aj kód krajiny (medzinárodná predvoľba) a sada kódov. Podrobný popis hodnôt nájdete v dokumente Locale Helper Project [20].
Výpis 5: Podrobnosti o LC_TELEPHONE
$ locale -k LC_TELEPHONE tel_int_fmt = “+% c% a% l” tel_dom_fmt = “% A% l”int_select = “00” int_prefix = “49” telefónny kódový súbor = “UTF-8” $ --
Zmena aktuálneho miestneho nastavenia
Znalosti týkajúce sa miestneho nastavenia budú potrebné, akonáhle spustíte systém, ktorý je dodávaný s iným národným prostredím, ako ste zvyknutí - napríklad v živom systéme Linux. Zmenu miestneho nastavenia je možné vykonať dvoma spôsobmi - prekonfigurovaním balíka miestnych nastavení Debianu [19] a pridaním požadovaného miestneho nastavenia pomocou príkazu locale-gen. V prípade možnosti 1 spustením nasledujúceho príkazu otvoríte textové konfiguračné dialógové okno zobrazené na obrázku 3:
# dpkg-prekonfigurujte miestne nastavenia
Stlačením medzerníka vyberte požadované miestne nastavenie zo zoznamu zobrazeného v dialógovom okne a výber potvrďte tlačidlom „OK“. Nasledujúce dialógové okno ponúka zoznam miestnych nastavení, ktoré sú k dispozícii pre predvolené miestne nastavenie. Vyberte požadovaný a zvoľte „OK“. Teraz sa vygenerujú príslušné súbory miestnych nastavení a pre váš systém sa nastaví predtým vybrané miestne nastavenie.
V prípade možnosti dva sa generovanie požadovaného miestneho nastavenia vykonáva pomocou príkazu locale-gen. Výpis 6 to ilustruje pre francúzske nastavenie:
Výpis 6: Generovanie francúzskeho miestneho nastavenia
miestny gen fr_FR.UTF-8Generujú sa miestne nastavenia ... fr_FR.UTF-8 ... hotové Generácia je dokončená. # --
Ak chcete použiť predvolené miestne nastavenie ako predvolené, správne ho nastavte spustením príkazu v zozname 7:
Výpis 7: Ručné nastavenie miestneho nastavenia
# update-locale LANG = fr_FR.UTF-8Akonáhle otvoríte novú reláciu terminálu alebo sa znovu prihlásite do systému, zmeny sa aktivujú.
Zostavte definičný súbor miestneho nastavenia
Príkaz localectl vám pomôže manuálne zostaviť definičný súbor miestneho nastavenia. Ak chcete vytvoriť francúzske nastavenie, spustite príkaz nasledovne:
Výpis 8: Zostavte definíciu miestneho nastavenia
# localedef -i fr_FR -f UTF-8 fr_FR.UTF-8Záver
Pochopenie miestnych nastavení môže chvíľu trvať, pretože ide o nastavenie ovplyvnené niekoľkými faktormi. Vysvetlili sme, ako zistiť vaše súčasné miestne nastavenie a ako ho správne zmeniť. Prispôsobenie systému Linux vašim potrebám by malo byť odteraz pre vás oveľa jednoduchšie.
Odkazy a referencie
- [1] Miestne nastavenie, Debian Wiki
- [2] ChangeLanguage, Ako zmeniť jazyk vášho systému Debian
- [3] POSIX Locale, The Open Group Base Specification, vydanie 7, vydanie 2018
- [4] Bourneova škrupina, Wikipedia
- [5] Bourne-Again shell, Wikipedia
- [6] Rozdiel medzi prihlásením a neprihlásením?, StackExchange
- [7] Rozhranie prenosného operačného systému (POSIX), Wikipedia
- [8] Linux Mint
- [9] Z shell, Wikipedia
- [10] Príkazy Zsh Shell Builtin
- [11] UTF-8, Wikipedia
- [12] Na čo by som mal nastaviť svoje miestne nastavenie a aké to má dôsledky?
- [13] ISO 639-1, Wikipedia
- [14] ISO 639-2, Wikipedia
- [15] ISO 3166, Wikipedia
- [16] Súbory s popismi znakovej sady
- [17] Miestne, Ubuntu Wiki
- [19] lokalizuje balík Debian
- [20] Lokálny pomocný projekt