Debian

Comprendre les paramètres régionaux sur Debian GNU/Linux

Comprendre les paramètres régionaux sur Debian GNU/Linux
Chaque système informatique est livré avec sa configuration spécifique concernant la langue du système et l'encodage de caractères utilisé. Sur la base de cette configuration, les messages d'erreur, le système d'aide ainsi que les commentaires du programme sont affichés à l'écran.

Sur les systèmes UNIX/Linux, cette configuration est appelée locale POSIX [7] et normalisée comme IEEE Std 1003.1-2017 [3]. Un tel paramètre régional peut varier pour le système dans son ensemble, et les comptes d'utilisateur unique, car chaque utilisateur peut individualiser son environnement de travail. Dans cet article, nous allons vous expliquer comment comprendre la configuration actuelle des paramètres régionaux sur Debian GNU/Linux, comprendre ses vis de réglage uniques et comment adapter le système à vos besoins.

Notez que cet article est adapté à Debian GNU/Linux Release 10 « Buster ». Sauf indication contraire, les techniques décrites ici fonctionnent également pour ses dérivés comme Ubuntu ou Linux Mint [8].

Qu'est-ce qu'un lieu?

D'une manière générale, un lieu est un ensemble de valeurs qui reflètent la nature et les conventions d'un pays, ou d'une culture. Entre autres, ces valeurs sont stockées en tant que variables d'environnement qui représentent la langue, l'encodage des caractères, le formatage de la date et de l'heure, le format de papier par défaut, la devise du pays ainsi que le premier jour de la semaine.

Comme évoqué précédemment, il existe un paramètre général appelé « paramètre par défaut » et un paramètre défini par l'utilisateur. La locale par défaut fonctionne à l'échelle du système et est stockée dans le fichier /etc/default/locale. La liste 1 affiche les paramètres régionaux par défaut sur une Debian GNU/Linux utilisant l'allemand comme langue principale et l'unicode 8 bits (UTF-8) comme jeu de caractères [11].

Listing 1 : La locale par défaut sur une Debian GNU/Linux allemande

$ cat /etc/default/locale # Fichier généré par update-locale LANG="de_DE.UTF-8” $ --

Veuillez noter que contrairement à Debian GNU/Linux, sur certaines versions antérieures d'Ubuntu, la configuration des paramètres régionaux à l'échelle du système est stockée dans /etc/locale.conf.

Les paramètres définis par l'utilisateur sont stockés sous forme de fichier caché dans votre répertoire personnel, et les fichiers réels qui sont évalués dépendent du shell de connexion que vous utilisez [6]. Le shell Bourne traditionnel (/bin/sh) [4] lit les deux fichiers /etc/profile et ~/.profile, alors que le shell Bourne-Again (Bash) (/bin/bash) [5] lit /etc/profile et ~/.bash_profile. Si votre shell de connexion est le shell Z (/bin/zsh) [9], les deux fichiers ~/.zprofile et ~/.zlogin sont lus, mais pas ~/.profile à moins qu'il ne soit invoqué en mode d'émulation du shell Bourne [10].

Le démarrage d'un shell dans un terminal dans une session existante entraîne un shell interactif sans connexion. Cela peut entraîner la lecture des fichiers suivants - ~/.bashrc pour Bash, et /etc/zshrc ainsi que ~/.zshrc pour le shell Z [6].

Nommer un paramètre régional

Comme expliqué ici [12], le nom d'une locale suit un modèle spécifique. Le modèle se compose de codes de langue, d'un codage de caractères et de la description d'une variante sélectionnée.

Un nom commence par un code de langue à deux lettres minuscules ISO 639-1 [13], ou un code de langue à trois lettres ISO 639-2 [14] si la langue n'a pas de code à deux lettres. Par exemple, c'est de pour allemand, fr pour français et cel pour celtique. Le code est suivi pour de nombreuses langues, mais pas toutes, d'un trait de soulignement _ et d'un code de pays à deux lettres majuscules ISO 3166 [15]. Par exemple, cela conduit à de_CH pour le suisse allemand, et fr_CA pour un système francophone pour un utilisateur canadien susceptible d'être situé au Québec.

En option, un point . suit le nom du codage de caractères tel que UTF-8 ou ISO-8859-1, et le signe @ suivi du nom d'une variante. Par exemple, le nom [email protected] décrit la configuration d'un système anglais pour l'Irlande avec un codage de caractères UTF-8 et l'euro comme symbole monétaire.

Commandes et outils

Le nombre de commandes liées aux locales est relativement faible. La liste contient des paramètres régionaux qui affiche uniquement les paramètres régionaux actuels. Le second est localectl qui peut être utilisé pour interroger et modifier les paramètres régionaux du système et la disposition du clavier. Afin d'activer une locale, les outils dpkg-reconfigure et locale-gen entrent en jeu - voir l'exemple ci-dessous.

Afficher les paramètres régionaux en cours d'utilisation

La première étape consiste à déterminer les paramètres régionaux actuels sur votre système à l'aide de la commande locale comme suit :

Listing 2 : Afficher les paramètres régionaux actuels

$ locale LANG=de_DE.LANGUE 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_MESURE='de_DE.UTF-8"
LC_IDENTIFICATION=“de_DE.UTF-8" LC_ALL= $ --

Veuillez noter que d'autres distributions Linux que Debian GNU/Linux peuvent utiliser des variables d'environnement supplémentaires non répertoriées ci-dessus. Les variables simples ont la signification suivante :

Liste des paramètres régionaux disponibles

Ensuite, vous pouvez lister les locales disponibles sur votre système en utilisant la commande locale accompagnée de son option -a. -a est l'abréviation de -all-locales :

Listing 3 : Afficher les paramètres régionaux disponibles

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

La liste 3 contient deux paramètres régionaux pour l'allemand (Allemagne) et l'anglais (États-Unis). Les trois entrées C, C.UTF-8 et POSIX sont synonymes et représentent les paramètres par défaut appropriés pour les données analysées par un programme informatique. La sortie dans la liste 3 est basée sur la liste des paramètres régionaux pris en charge stockée dans /usr/share/i18n/SUPPORTED.

De plus, l'ajout de l'option -v (abréviation de -verbose) à l'appel conduit à une sortie beaucoup plus étendue qui inclut les métadonnées LC_IDENTIFICATION sur chaque locale. La figure 1 montre ceci pour l'appel de la liste 3.

Afin de voir quelles locales existent déjà et lesquelles ont besoin d'une aide supplémentaire pour être complétées, vous pouvez également consulter la carte du projet Locale Helper [20]. Les marqueurs rouges indiquent clairement les paramètres régionaux inachevés. La figure 2 affiche les paramètres régionaux pour l'Afrique du Sud qui semblent assez complets.

Afficher les cartes de caractères disponibles

La commande locale est livrée avec l'option -m qui est l'abréviation de -charmaps. La sortie affiche les cartes de caractères disponibles ou les fichiers de description de jeux de caractères [16]. Un tel fichier est destiné à "définir les caractéristiques du jeu de caractères codés et le codage des caractères spécifiés dans le jeu de caractères portable, et peut définir le codage de caractères supplémentaires pris en charge par la mise en œuvre" [16]. Le listing 4 illustre cela avec un extrait de la liste entière.

Listing 4 : Fichiers de description de jeux de caractères

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

Afficher les définitions des variables locales

Chaque variable utilisée pour une locale est livrée avec sa propre définition. En utilisant l'option -k (abréviation de -keyword-name), la commande locale affiche ce paramètre en détail. La liste 5 illustre cela pour la variable LC_TELEPHONE telle qu'elle est définie dans un environnement allemand - le format du numéro de téléphone, le format du téléphone national, le code de sélection international ainsi que le code du pays (préfixe international) et le jeu de codes. Voir le Locale Helper Project [20] pour une description détaillée des valeurs.

Listing 5: Les détails de LC_TELEPHONE

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

Modification des paramètres régionaux actuels

La connaissance de la locale devient nécessaire dès que vous exécutez un système qui vient avec une locale différente de celle à laquelle vous êtes habitué - par exemple, sur un système Linux live. La modification des paramètres régionaux peut être effectuée de deux manières : en reconfigurant le paquet de paramètres régionaux Debian [19] et en ajoutant les paramètres régionaux requis à l'aide de la commande locale-gen. Pour la première option, l'exécution de la commande suivante ouvre une boîte de dialogue de configuration textuelle illustrée à la figure 3 :

# dpkg-reconfigurer les paramètres régionaux

Appuyez sur la barre d'espace pour choisir le(s) paramètre(s) régional(s) souhaité(s) dans la liste affichée dans la boîte de dialogue, et choisissez « OK » pour confirmer votre sélection. La fenêtre de dialogue suivante vous propose une liste des paramètres régionaux disponibles pour les paramètres régionaux par défaut. Sélectionnez celui que vous souhaitez et choisissez « OK ». Maintenant, les fichiers de paramètres régionaux correspondants sont générés et les paramètres régionaux précédemment sélectionnés sont définis pour votre système.

Pour l'option deux, la génération de la locale souhaitée se fait à l'aide de la commande locale-gen. Le listing 6 illustre ceci pour une configuration française :

Listing 6 : Génération d'une locale française

locale-gen fr_FR.UTF-8
Génération de locales… fr_FR.UTF-8… terminé Génération terminée. # --

Afin d'utiliser les paramètres régionaux précédemment générés par défaut, exécutez la commande du listing 7 pour les configurer correctement :

Listing 7 : Définir manuellement les paramètres régionaux

# update-locale LANG=fr_FR.UTF-8

Dès que vous ouvrez une nouvelle session de terminal ou que vous vous reconnectez à votre système, les modifications sont activées.

Compiler un fichier de définition de paramètres régionaux

La commande localectl vous aide à compiler manuellement un fichier de définition de locale. Afin de créer un paramètre français, exécutez la commande comme suit :

Listing 8 : Compiler une définition de locale

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

Conclusion

Comprendre les paramètres régionaux peut prendre un certain temps car il s'agit d'une configuration influencée par plusieurs facteurs. Nous avons expliqué comment déterminer votre locale actuelle et comment la modifier correctement. Adapter le système Linux à vos besoins devrait être beaucoup plus facile pour vous à partir de maintenant.

Liens et références
Top 5 des produits de souris d'ordinateur ergonomiques pour Linux
L'utilisation prolongée de l'ordinateur provoque-t-elle des douleurs au poignet ou aux doigts? Vous souffrez de raideurs articulaires et devez constam...
Comment modifier les paramètres de la souris et du pavé tactile à l'aide de Xinput sous Linux
La plupart des distributions Linux sont livrées avec la bibliothèque "libinput" par défaut pour gérer les événements d'entrée sur un système. Il peut ...
Remappez les boutons de votre souris différemment pour différents logiciels avec X-Mouse Button Control
Peut-être que vous avez besoin d'un outil qui pourrait faire changer le contrôle de votre souris avec chaque application que vous utilisez. Si tel est...