Debian

Comprensione delle impostazioni locali su Debian GNU/Linux

Comprensione delle impostazioni locali su Debian GNU/Linux
Ogni sistema informatico viene fornito con la sua configurazione specifica per quanto riguarda la lingua del sistema e la codifica dei caratteri in uso. In base a questa configurazione vengono visualizzati sullo schermo i messaggi di errore, il sistema di aiuto e il feedback del programma.

Sui sistemi UNIX/Linux questa configurazione è chiamata locale POSIX [7] e standardizzata come IEEE Std 1003.1-2017 [3]. Tale locale può variare per il sistema nel suo insieme e i singoli account utente poiché ogni singolo utente può personalizzare il proprio ambiente di lavoro. In questo articolo ti spiegheremo come capire l'attuale configurazione locale su Debian GNU/Linux, per capire le sue singole viti di regolazione e come adattare il sistema alle tue esigenze.

Nota che questo articolo è su misura per Debian GNU/Linux Release 10 “Buster”. Salvo diversa indicazione, le tecniche qui descritte funzionano anche per i suoi derivati ​​come Ubuntu o Linux Mint [8].

Che cos'è un locale??

In generale, un locale è un insieme di valori che riflettono la natura e le convenzioni di un paese o di una cultura. Tra l'altro questi valori sono memorizzati come variabili di ambiente che rappresentano la lingua, la codifica dei caratteri, la formattazione di data e ora, il formato carta predefinito, la valuta del paese e il primo giorno della settimana.

Come accennato in precedenza, esiste un'impostazione generale nota come "impostazione internazionale predefinita" e un'impostazione definita dall'utente. La localizzazione predefinita funziona a livello di sistema ed è memorizzata nel file /etc/default/locale. Il Listato 1 mostra la localizzazione predefinita su una Debian GNU/Linux usando il tedesco come lingua principale e unicode a 8 bit (UTF-8) come set di caratteri [11].

Listato 1: La localizzazione predefinita su una Debian GNU/Linux tedesca

$ cat /etc/default/locale # File generato da update-locale LANG=“de_DE.UTF-8” $ --

Si noti che, contrariamente a Debian GNU/Linux, su alcune versioni precedenti di Ubuntu la configurazione locale a livello di sistema è memorizzata in /etc/locale.conf.

Le impostazioni definite dall'utente sono memorizzate come file nascosto nella tua directory home e i file effettivi che vengono valutati dipendono dalla shell di accesso che usi [6]. La tradizionale shell Bourne (/bin/sh) [4] legge i due file /etc/profile e ~/.profile, mentre la shell Bourne-Again (Bash) (/bin/bash) [5] legge /etc/profile e ~/.bash_profile. Se la tua shell di login è Z shell (/bin/zsh) [9], i due file ~/.zprofile e ~/.zlogin vengono letti, ma non ~/.profile a meno che non venga richiamato in modalità di emulazione Bourne shell [10].

L'avvio di una shell in un terminale in una sessione esistente risulta in una shell interattiva, senza login. Ciò potrebbe comportare la lettura dei seguenti file - ~/.bashrc per Bash e /etc/zshrc così come ~/.zshrc per Z shell [6].

Denominazione di una località

Come spiegato qui [12], il nome di un locale segue uno schema specifico. Il modello è costituito da codici lingua, codifica dei caratteri e descrizione di una variante selezionata.

Un nome inizia con un codice lingua di due lettere minuscole ISO 639-1 [13] o un codice lingua di tre lettere ISO 639-2 [14] se la lingua non ha un codice di due lettere. Ad esempio, è de per il tedesco, fr per il francese e cel per il celtico. Il codice è seguito per molte ma non tutte le lingue da un carattere di sottolineatura _ e da un codice paese di due lettere maiuscole ISO 3166 [15]. Ad esempio, questo porta a de_CH per il tedesco svizzero e fr_CA per un sistema di lingua francese per un utente canadese che probabilmente si trova in Québec.

Facoltativamente, un punto . segue il nome della codifica dei caratteri come UTF-8 o ISO-8859-1 e il segno @ seguito dal nome di una variante. Ad esempio, il nome [email protected] descrive l'impostazione per un sistema inglese per l'Irlanda con codifica dei caratteri UTF-8 e l'euro come simbolo di valuta.

Comandi e strumenti

Il numero di comandi relativi alle impostazioni locali è relativamente basso. L'elenco contiene le impostazioni locali che visualizzano esclusivamente le impostazioni locali correnti. Il secondo è localectl che può essere utilizzato per interrogare e modificare le impostazioni internazionali del sistema e del layout della tastiera. Per attivare una localizzazione entrano in gioco gli strumenti dpkg-reconfigure e locale-gen - vedi l'esempio sotto.

Mostra le impostazioni internazionali in uso

Il primo passo è capire la locale corrente sul tuo sistema usando il comando locale come segue:

Listato 2: mostra le impostazioni locali correnti

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

Si prega di notare che altre distribuzioni Linux diverse da Debian GNU/Linux possono utilizzare variabili di ambiente aggiuntive non elencate sopra. Le singole variabili hanno il seguente significato:

Elenca le località disponibili

Successivamente, puoi elencare le versioni locali disponibili sul tuo sistema utilizzando il comando locale accompagnato dalla sua opzione -a. -a è l'abbreviazione di -all-locales:

Listato 3: Mostra le lingue disponibili

$ locale -a C C.UTF-8 de_DE@euro de_DE.utf8 it_IT.utf8 POSIX $ --

Il listato 3 contiene due impostazioni internazionali sia per il tedesco (Germania) che per l'inglese (USA). Le tre voci C, C.UTF-8 e POSIX sono sinonimi e rappresentano le impostazioni predefinite appropriate per i dati che vengono analizzati da un programma per computer. L'output nel Listato 3 si basa sull'elenco delle versioni locali supportate memorizzate in /usr/share/i18n/SUPPORTED.

Inoltre, l'aggiunta dell'opzione -v (abbreviazione di -verbose) alla chiamata porta a un output molto più ampio che include i metadati LC_IDENTIFICATION su ogni locale. La Figura 1 mostra questo per la chiamata dal Listato 3.

Per vedere quali locali esistono già e quali necessitano di ulteriore aiuto per essere completati si può anche dare un'occhiata alla mappa del Locale Helper Project [20]. Gli indicatori rossi mostrano chiaramente quali locali sono incompiuti. La Figura 2 mostra le impostazioni locali per il Sudafrica che sembrano abbastanza complete.

Mostra le mappe dei caratteri disponibili

Il comando locale viene fornito con l'opzione -m che è l'abbreviazione di -charmaps. L'output mostra le mappe dei caratteri disponibili o i file di descrizione del set di caratteri [16]. Tale file ha lo scopo di "definire le caratteristiche per il set di caratteri codificati e la codifica per i caratteri specificati nel set di caratteri portatili e può definire la codifica per caratteri aggiuntivi supportati dall'implementazione" [16]. Il Listato 4 lo illustra con un estratto dell'intero elenco.

Listato 4: File di descrizione del set di caratteri

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

Mostra le definizioni delle variabili locali

Ogni variabile utilizzata per una localizzazione ha una propria definizione. Usando l'opzione -k (abbreviazione di -keyword-name) il comando locale mostra questa impostazione in dettaglio. Il Listato 5 illustra questo per la variabile LC_TELEPHONE come è definita in un ambiente tedesco: il formato del numero di telefono, il formato del telefono nazionale, il codice di selezione internazionale, nonché il prefisso internazionale (prefisso internazionale) e il set di codici. Vedere il progetto Locale Helper [20] per una descrizione dettagliata dei valori.

Listato 5: I dettagli di LC_TELEPHONE

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

Modifica delle impostazioni locali correnti

La conoscenza della localizzazione diventa necessaria non appena si esegue un sistema che viene fornito con una localizzazione diversa da quella a cui si è abituati, ad esempio su un sistema live Linux. La modifica della localizzazione può essere eseguita in due modi: riconfigurando il pacchetto Debian locales [19] e aggiungendo la localizzazione richiesta utilizzando il comando locale-gen. Per l'opzione uno, l'esecuzione del comando seguente apre una finestra di dialogo di configurazione basata su testo mostrata nella Figura 3:

# dpkg-reconfigure locali

Premere la barra spaziatrice per scegliere le impostazioni internazionali desiderate dall'elenco mostrato nella finestra di dialogo e scegliere "OK" per confermare la selezione. La finestra di dialogo successiva ti offre un elenco di locali disponibili per il locale predefinito. Seleziona quello desiderato e scegli "OK". Ora vengono generati i file locali corrispondenti e la locale selezionata in precedenza è impostata per il tuo sistema.

Per l'opzione due, la generazione della localizzazione desiderata viene eseguita con l'aiuto del comando locale-gen. Il Listato 6 illustra questo per una configurazione francese:

Listato 6: Generazione di una localizzazione francese

locale-gen fr_FR.UTF-8
Generazione delle impostazioni internazionali... fr_FR.UTF-8... fatto Generazione completata. # --

Per utilizzare la locale generata in precedenza come predefinita, esegui il comando nel Listato 7 per configurarla correttamente:

Listato 7: Impostazione manuale delle impostazioni internazionali

# update-locale LANG=fr_FR.UTF-8

Non appena apri una nuova sessione di terminale, o accedi nuovamente al tuo sistema, le modifiche vengono attivate.

Compila un file di definizione delle impostazioni internazionali

Il comando localectl ti aiuta a compilare manualmente un file di definizione locale locale. Per creare un'impostazione francese, eseguire il comando come segue:

Listato 8: Compila una definizione locale locale

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

Conclusione

La comprensione delle impostazioni locali può richiedere del tempo poiché si tratta di una configurazione influenzata da diversi fattori. Abbiamo spiegato come capire la tua lingua attuale e come cambiarla correttamente. Adattare il sistema Linux alle tue esigenze dovrebbe essere molto più semplice per te d'ora in poi.

Link e riferimenti
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...
Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...