Debian

Forståelse af lokaliteterne på Debian GNU / Linux

Forståelse af lokaliteterne på Debian GNU / Linux
Hvert computersystem leveres med sin specifikke opsætning med hensyn til systemsprog og karakterkodning, der er i brug. Baseret på denne konfiguration vises fejlmeddelelserne, hjælpesystemet samt programmets feedback på skærmen.

På UNIX / Linux-systemer kaldes denne opsætning POSIX [7] locales og standardiseres som IEEE Std 1003.1-2017 [3]. En sådan lokalitet kan variere for systemet som helhed, og den enkelte brugerkonti, da hver enkelt bruger kan individualisere sit arbejdsmiljø. I denne artikel vil vi forklare dig, hvordan du finder ud af den aktuelle lokalinstallation på Debian GNU / Linux, for at forstå dens enkelte justeringsskruer, og hvordan du tilpasser systemet til dine behov.

Bemærk, at denne artikel er skræddersyet til Debian GNU / Linux Release 10 “Buster”. Medmindre andet er angivet, fungerer de her beskrevne teknikker også for dets derivater som Ubuntu eller Linux Mint [8].

Hvad er en lokalitet?

Generelt er en lokalitet et sæt værdier, der afspejler naturen og konventionerne i et land eller en kultur. Disse værdier er blandt andet gemt som miljøvariabler, der repræsenterer sproget, tegnkodningen, dato og klokkeslætformatering, standardpapirstørrelse, landets valuta samt den første ugedag.

Som berørt før er der en generel indstilling kendt som 'standard landestandard' og en brugerdefineret indstilling. Standard locale fungerer hele systemet og er gemt i filen / etc / default / locale. Fortegnelse 1 viser standardsprog på en Debian GNU / Linux ved hjælp af tysk som hovedsprog og 8 bit unicode (UTF-8) som tegnsæt [11].

Liste 1: Standardsprog på en tysk Debian GNU / Linux

$ cat / etc / default / locale # Fil genereret af update-locale LANG = “de_DE.UTF-8 ”$ --

Vær opmærksom på, at i modsætning til Debian GNU / Linux gemmes den systemdækkende landestandardopsætning på nogle tidligere Ubuntu-versioner på / etc / locale.konf.

De brugerdefinerede indstillinger gemmes som en skjult fil i dit hjemmekatalog, og de faktiske filer, der evalueres, afhænger af den login-shell, du bruger [6]. Den traditionelle Bourne-skal (/ bin / sh) [4] læser de to filer / etc / profil og ~ /.profil, mens Bourne-Again-skal (Bash) (/ bin / bash) [5] læser / etc / profil og ~ /.bash_profile. Hvis din login shell er Z shell (/ bin / zsh) [9], er de to filer ~ /.zprofile og ~ /.zlogin læses, men ikke ~ /.profil, medmindre den påberåbes i Bourne shell-emuleringstilstand [10].

At starte en shell i en terminal i en eksisterende session resulterer i en interaktiv shell, der ikke er login. Dette kan resultere i læsning af følgende filer - ~ /.bashrc for Bash og / etc / zshrc samt ~ /.zshrc til Z shell [6].

Navngivning af en lokalitet

Som forklaret her [12] følger navnet på en lokalitet et specifikt mønster. Mønsteret består af sprogkoder, tegnkodning og beskrivelsen af ​​en valgt variant.

Et navn starter med en ISO 639-1 små bogstaver med to bogstaver [13] eller en ISO 639-2 tre bogstaver sprogkode [14], hvis sproget ikke har to bogstaver. For eksempel er det de for tysk, fr for fransk og cel for keltisk. Koden følges for mange, men ikke alle sprog, af en understregning _ og af en ISO 3166 store bogstav med to bogstaver [15]. For eksempel fører dette til de_CH for schweizertysk og fr_CA for et fransktalende system for en canadisk bruger, der sandsynligvis vil være placeret i Québec.

Eventuelt en prik . følger navnet på tegnkodningen såsom UTF-8 eller ISO-8859-1, og @ -tegnet efterfulgt af navnet på en variant. For eksempel beskriver navnet [e-mailbeskyttet] opsætningen af ​​et engelsk system til Irland med UTF-8-tegnkodning og euroen som valutasymbol.

Kommandoer og værktøjer

Antallet af kommandoer relateret til lokaliteter er relativt lavt. Listen indeholder landestandard, der rent viser de aktuelle landestandardindstillinger. Den anden er localectl, der kan bruges til at forespørge og ændre indstillingerne for systemets lokalitet og tastaturlayout. For at aktivere en lokalitet kommer værktøjerne dpkg-reconfigure og locale-gen til spil - se eksemplet nedenfor.

Vis det sprog, der er i brug

Trin et er at finde ud af det aktuelle landestandard på dit system ved hjælp af landestandardkommandoen som følger:

Liste 2: Vis den aktuelle lokalitet

$ locale LANG = de_DE.UTF-8 SPROG = 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 = $ --

Bemærk, at andre Linux-distributioner end Debian GNU / Linux muligvis bruger yderligere miljøvariabler, der ikke er nævnt ovenfor. De enkelte variabler har følgende betydning:

Liste over tilgængelige lokaliteter

Derefter kan du liste de tilgængelige lokaliteter på dit system ved hjælp af landekommandoen ledsaget af dens valgmulighed -a. -a er forkortelse for -all-locales:

Liste 3: Vis tilgængelige lokaliteter

$ lokal -a C C.UTF-8 de_DE @ euro de_DE.utf8 da_DK.utf8 POSIX $ --

Liste 3 indeholder to sprogindstillinger for både tysk (tyskland) og engelsk (USA). De tre poster C, C.UTF-8 og POSIX er synonyme og repræsenterer standardindstillingerne, der passer til data, der parses af et computerprogram. Outputtet i Listing 3 er baseret på listen over understøttede lokaliteter, der er gemt i / usr / share / i18n / SUPPORTED.

Desuden fører tilføjelse af optionen -v (kort for -verbose) til opkaldet til en meget mere omfattende output, der inkluderer LC_IDENTIFICATION-metadataene om hver lokalitet. Figur 1 viser dette for opkaldet fra liste 3.

For at se hvilke lokaliteter der allerede findes, og hvilke der har brug for yderligere hjælp for at blive afsluttet, kan du også kigge på kortet over Local Helper Project [20]. Røde markører viser tydeligt, hvilke lokaliteter der er ufærdige. Figur 2 viser lokaliteterne for Sydafrika, der ser ret komplette ud.

Vis tilgængelige tegnkort

Lokalkommandoen leveres med indstillingen -m, der er en forkortelse for -charmaps. Outputtet viser de tilgængelige tegnkort eller tegnsætbeskrivelsesfiler [16]. En sådan fil er beregnet til at “definere karakteristika for det kodede tegnsæt og kodning for de tegn, der er specificeret i bærbart tegnsæt, og kan definere kodning for yderligere tegn, der understøttes af implementeringen” [16]. Liste 4 illustrerer dette med et uddrag af hele listen.

Liste 4: Tekstsæt beskrivelsesfiler

$ locale -m ANSI_X3.110-1983 ANSI_X3.4-1968 ARMSCII-8 ASMO_449 BIG5 BIG5-HKSCS… $ --

Vis definitionerne af lokalvariabler

Hver variabel, der bruges til et landestandard, har sin egen definition. Ved hjælp af indstillingen -k (forkortelse for -keyword-name) viser landestandardkommandoen denne indstilling i detaljer. Liste 5 illustrerer dette for variablen LC_TELEPHONE, som den er defineret i et tysk miljø - telefonnummerformatet, det indenlandske telefonformat, den internationale valgkode samt landekoden (internationalt præfiks) og kodesættet. Se Local Helper Project [20] for en detaljeret beskrivelse af værdierne.

Liste 5: Detaljerne i LC_TELEPHONE

$ locale -k LC_TELEPHONE tel_int_fmt = “+% c% a% l” tel_dom_fmt = “% A% l”
int_select = “00” int_prefix = “49” telefon-codeset = “UTF-8” $ --

Ændring af den aktuelle lokalitet

Viden om lokalitet bliver nødvendig, så snart du kører et system, der kommer med en anden lokalitet, end du er vant til - for eksempel på et Linux live-system. Ændring af lokalitet kan gøres på to måder - omkonfiguration af Debian-lokaliseringspakken [19] og tilføjelse af det krævede landestandard ved hjælp af kommandoen locale-gen. For valgmulighed én, ved at køre følgende kommando, åbnes en tekstbaseret konfigurationsdialog vist i figur 3:

# dpkg-omkonfigurer lokaliteter

Tryk på mellemrumstasten for at vælge det / de ønskede landestandarder fra listen vist i dialogboksen, og vælg "OK" for at bekræfte dit valg. Det næste dialogvindue giver dig en liste over lokaliteter, der er tilgængelige for standardsprog. Vælg den ønskede, og vælg “OK”. Nu genereres de tilsvarende landefiler, og den tidligere valgte landestand er indstillet til dit system.

For valgmulighed to, genereres den ønskede lokalitet ved hjælp af kommandoen locale-gen. Liste 6 illustrerer dette for en fransk opsætning:

Liste 6: Oprettelse af et fransk sprog

locale-gen fr_FR.UTF-8
Genererer lokaliteter ... fr_FR.UTF-8 ... færdig Generation fuldført. # --

For at bruge det tidligere genererede landestandard som standard, skal du køre kommandoen i liste 7 for at konfigurere den korrekt:

Liste 7: Manuel indstilling af landestandard

# update-locale LANG = fr_FR.UTF-8

Så snart du åbner en ny terminalsession eller logger ind på dit system igen, aktiveres ændringerne.

Kompilér en lokal definitionsfil

Kommandoen localectl hjælper dig med manuelt at kompilere en lokal definitionsfil. For at oprette en fransk indstilling skal du køre kommandoen som følger:

Liste 8: Kompilér en lokal definition

# localedef -i fr_FR -f UTF-8 fr_FR.UTF-8

Konklusion

At forstå lokaliteter kan tage et stykke tid, da det er en opsætning, der er påvirket af flere faktorer. Vi forklarede, hvordan du finder ud af din nuværende lokalitet, og hvordan du ændrer den korrekt. Tilpasning af Linux-systemet til dine behov skulle være meget lettere for dig fra nu af.

Links og referencer
Sådan vises OSD-overlay i fuldskærms Linux-apps og -spil
Afspilning af fuldskærmsspil eller brug af apps i distraktionsfri fuldskærmstilstand kan afskære dig fra relevante systemoplysninger, der er synlige i...
Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...
Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...