Debian

Förstå språk på Debian GNU / Linux

Förstå språk på Debian GNU / Linux
Varje datorsystem har sin specifika inställning angående systemspråk och teckenkodning som används. Baserat på denna konfiguration visas felmeddelandena, hjälpsystemet och programmets feedback på skärmen.

På UNIX / Linux-system kallas denna installation POSIX [7] -lokaler och standardiseras som IEEE Std 1003.1-2017 [3]. En sådan lokal kan variera för systemet som helhet, och de enskilda användarkontona eftersom varje användare kan individualisera sin arbetsmiljö. I den här artikeln kommer vi att förklara för dig hur du kan räkna ut den aktuella lokalinställningen på Debian GNU / Linux, förstå dess enskilda justeringsskruvar och hur du anpassar systemet till dina behov.

Observera att den här artikeln är skräddarsydd för Debian GNU / Linux Release 10 “Buster”. Om inte annat anges fungerar de tekniker som beskrivs här också för dess derivat som Ubuntu eller Linux Mint [8].

Vad är en lokal?

Generellt sett är ett språk en uppsättning värden som återspeglar naturen och konventionerna i ett land eller en kultur. Bland annat lagras dessa värden som miljövariabler som representerar språket, teckenkodningen, formatering av datum och tid, standardpappersstorlek, landets valuta samt första veckodagen.

Som berörts tidigare finns det en allmän inställning som kallas 'standardinställning' och en användardefinierad inställning. Standardinställningen fungerar hela systemet och lagras i filen / etc / default / locale. Listning 1 visar standardläget på en Debian GNU / Linux med tyska som huvudspråk och 8 bitars unicode (UTF-8) som teckenuppsättning [11].

Listning 1: Standardinställningen för en tysk Debian GNU / Linux

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

Observera att, i motsats till Debian GNU / Linux, lagras den systemomfattande lokalinställningen i vissa tidigare Ubuntu-versioner på / etc / locale.konf.

De användardefinierade inställningarna lagras som en dold fil i din hemkatalog, och de faktiska filer som utvärderas beror på inloggningsskalet som du använder [6]. Det traditionella Bourne-skalet (/ bin / sh) [4] läser de två filerna / etc / profilen och ~ /.medan Bourne-Again-skalet (Bash) (/ bin / bash) [5] läser / etc / profile och ~ /.bash_profile. Om ditt inloggningsskal är Z-skal (/ bin / zsh) [9], kommer de två filerna ~ /.zprofile och ~ /.zlogin läses, men inte ~ /.profil såvida det inte anropas i Bourne-skalemuleringsläge [10].

Att starta ett skal i en terminal i en befintlig session resulterar i ett interaktivt skal utan inloggning. Detta kan resultera i läsning av följande filer - ~ /.bashrc för Bash och / etc / zshrc samt ~ /.zshrc för Z-skal [6].

Namnger en lokal

Som förklaras här [12] följer namnet på en lokal ett specifikt mönster. Mönstret består av språkkoder, teckenkodning och beskrivningen av en vald variant.

Ett namn börjar med en ISO 639-1 gemenskod med två bokstäver [13] eller en ISO 639-2 trebokstavsspråk [14] om språket inte har två bokstäver. Till exempel är det de för tyska, fr för franska och cel för keltiska. Koden följs för många men inte alla språk av en understrykning _ och av en ISO 3166 stor bokstav med två bokstäver [15]. Till exempel leder detta till de_CH för schweizertysk och fr_CA för ett fransktalande system för en kanadensisk användare som sannolikt kommer att finnas i Québec.

Eventuellt en prick . följer namnet på teckenkodningen som UTF-8 eller ISO-8859-1 och @ -tecknet följt av namnet på en variant. Till exempel beskriver namnet [e-postskyddad] inställningen för ett engelska system för Irland med UTF-8-teckenkodning och euron som valutasymbol.

Kommandon och verktyg

Antalet kommandon relaterade till språk är relativt lågt. Listan innehåller språk som endast visar de aktuella språkinställningarna. Den andra är localectl som kan användas för att fråga och ändra systeminställningarna och tangentbordslayoutinställningarna. För att aktivera en lokal kommer verktygen dpkg-reconfigure och locale-gen till spel - se exemplet nedan.

Visa det språk som används

Steg ett är att räkna ut den aktuella platsen på ditt system med hjälp av kommandot locale enligt följande:

Listning 2: Visa den aktuella platsen

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

Observera att andra Linux-distributioner än Debian GNU / Linux kan använda ytterligare miljövariabler som inte anges ovan. De enskilda variablerna har följande betydelse:

Lista tillgängliga språk

Därefter kan du lista tillgängliga språk på ditt system med kommandot locale åtföljd av dess alternativ -a. -a är en förkortning för alla språk:

Listning 3: Visa tillgängliga språk

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

Listning 3 innehåller två språkinställningar för både tyska (Tyskland) och engelska (USA). De tre posterna C, C.UTF-8 och POSIX är synonyma och representerar standardinställningarna som är lämpliga för data som analyseras av ett datorprogram. Utdata i Listing 3 är baserad på listan över stödda platser som lagras i / usr / share / i18n / SUPPORTED.

Att lägga till alternativet -v (kort för -verbose) till samtalet leder till en mycket mer omfattande utdata som inkluderar LC_IDENTIFICATION-metadata om varje land. Figur 1 visar detta för samtalet från Listing 3.

För att se vilka platser som redan finns och vilka som behöver ytterligare hjälp för att kunna slutföras kan du också ta en titt på kartan över Local Helper Project [20]. Röda markörer visar tydligt vilka platser som är oavslutade. Figur 2 visar platser för Sydafrika som ser ganska kompletta ut.

Visa tillgängliga karaktärskartor

Lokalkommandot kommer med alternativet -m som är en förkortning för -charmaps. Utdata visar tillgängliga karaktärskartor eller beskrivningsfiler för teckenuppsättning [16]. En sådan fil är tänkt att "definiera egenskaper för den kodade teckenuppsättningen och kodningen för de tecken som anges i Portable Character Set, och kan definiera kodning för ytterligare tecken som stöds av implementeringen" [16]. Listning 4 illustrerar detta med ett utdrag av hela listan.

Lista 4: Beskrivningsfiler för teckenuppsättningar

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

Visa definitionerna av språkvariabler

Varje variabel som används för en lokal har sin egen definition. Med hjälp av alternativet -k (kort för-nyckelord-namn) visar locale-kommandot denna inställning i detalj. Listning 5 illustrerar detta för variabeln LC_TELEPHONE som den definieras i en tysk miljö - telefonnummerformatet, det inhemska telefonformatet, den internationella urvalskoden samt landskoden (internationellt prefix) och koduppsättningen. Se Locale Helper Project [20] för en detaljerad beskrivning av värdena.

Listning 5: Detaljerna för 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” $ --

Ändrar den aktuella platsen

Kunskapen om platsen blir nödvändig så snart du kör ett system som kommer med en annan plats än du är van vid - till exempel på ett Linux live-system. Ändring av språk kan göras på två sätt - konfigurera om Debian locales-paketet [19] och lägga till den önskade platsen med kommandot locale-gen. För alternativ ett öppnas en textbaserad konfigurationsdialog som visas i figur 3 genom att köra följande kommando:

# dpkg-omkonfigurera språk

Tryck på mellanslagstangenten för att välja önskad plats i listan som visas i dialogrutan och välj “OK” för att bekräfta ditt val. Nästa dialogfönster ger dig en lista över språk som är tillgängliga för standardinställningen. Välj önskad och välj “OK”. Nu genereras motsvarande språkfiler och den tidigare valda platsen är inställd för ditt system.

För alternativ två görs önskad lokalisering med hjälp av kommandot loc-gen. Listning 6 illustrerar detta för en fransk installation:

Listning 6: Skapa en fransk språk

locale-gen fr_FR.UTF-8
Skapar språk ... fr_FR.UTF-8 ... klar Generation klar. # --

För att använda den tidigare genererade platsen som standard, kör du kommandot i Listing 7 för att ställa in det korrekt:

Lista 7: Ställa in språk manuellt

# update-locale LANG = fr_FR.UTF-8

Så snart du öppnar en ny terminalsession eller loggar in igen på ditt system aktiveras ändringarna.

Kompilera en lokal definitionsfil

Kommandot localectl hjälper dig att manuellt kompilera en lokal definitionsfil. För att skapa en fransk inställning kör du kommandot enligt följande:

Listning 8: Kompilera en språkdefinition

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

Slutsats

Att förstå språk kan ta ett tag eftersom det är en installation som påverkas av flera faktorer. Vi förklarade hur du kan räkna ut din nuvarande plats och hur du ändrar den korrekt. Att anpassa Linux-systemet efter dina behov borde vara mycket enklare från och med nu.

Länkar och referenser
Mus Hur man använder Xdotool för att stimulera musklick och tangenttryckningar i Linux
Hur man använder Xdotool för att stimulera musklick och tangenttryckningar i Linux
Xdotool är ett ledigt verktyg för öppen källkod för simulering av musklick och tangenttryckningar. Den här artikeln kommer att täcka en kort guide om ...
Mus Topp 5 Ergonomiska datormusprodukter för Linux
Topp 5 Ergonomiska datormusprodukter för Linux
Ger långvarig datoranvändning smärta i handleden eller fingrarna? Lider du av styva leder och måste ständigt skaka hand? Känner du en brännande smärta...
Mus Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
De flesta Linux-distributioner levereras med "libinput" -bibliotek som standard för att hantera inmatningshändelser i ett system. Den kan bearbeta inm...