Le programme shell /bin/bash (dénommé ci-après
« le
shell ») utilise une collection de fichiers de
démarrage pour aider à la création d'un environnement d'exécution.
Chaque fichier a une utilisation spécifique et pourrait avoir des
effets différents sur les environnements de connexion et interactif.
Les fichiers du répertoire /etc
fournissent un paramétrage global. Si un fichier équivalent existe
dans le répertoire personnel, il pourrait surcharger les paramétrages
globaux.
Un shell interactif de connexion est lancé après une connexion
réussie, en utilisant /bin/login, par la lecture du
fichier /etc/passwd
. Un shell
interactif sans connexion est lancé en ligne de commande
(c'est-à-dire [prompt]$
/bin/bash). Un shell non interactif
est habituellement présent quand un script shell est en cours
d'exécution. Il est non interactif parce qu'il traite un script et
n'attend pas une saisie de l'utilisateur entre les commandes.
Pour plus d'informations, consultez les sections Fichiers de démarrage Bash et Shells interactifs dans le chapitre Caractéristiques de Bash sur les pages d'information du Bash(info bash).
Les fichiers /etc/profile
et
~/.bash_profile
sont lus quand le shell
est appelé en tant que shell interactif de connexion.
Le fichier /etc/profile
de base
ci-dessous configure quelques variables d'environnement nécessaires à
la prise en charge native des langues. Les configurer convenablement
permet ce qui suit :
La sortie des programmes traduite dans la langue maternelle
Un classement correct des caractères en lettres, chiffres et autres classes. Ceci est nécessaire pour que bash accepte correctement les caractères non-ASCII dans les lignes de commandes pour les locales autres que l'anglais
Le tri alphabétique correct pour les autres pays
Taille de papier par défaut appropriée
Le bon formatage des valeurs monétaires, d'heure et de dates
Remplacez <ll>
ci-dessous par le code à deux lettres de la langue désirée (par
exemple, « fr ») et <CC>
avec le code à deux
lettres du pays approprié (par exemple, « FR »).
<charmap>
devra être
remplacé avec le jeu de caractères canonique de la locale choisie.
Des modificateurs optionnels comme « @euro » peuvent
aussi être présents.
La liste des paramètre régionaux pris en charge par Glibc peut être obtenue en exécutant la commande suivante :
locale -a
Charmaps can have a number of aliases, e.g., « ISO-8859-1 » is
also referred to as « iso8859-1 » and « iso88591. »
Some applications cannot handle the various synonyms correctly (e.g.,
require that « UTF-8 » is written as UTF-8
, not utf8
), so it
is safest in most cases to choose the canonical name for a particular
locale. To determine the canonical name, run the following command,
where <locale name>
is the output given by locale
-a for your preferred locale (« en_GB.iso88591 » in our example).
LC_ALL=<nom du paramètre linguistique>
locale charmap
Pour le paramètre « fr_FR.iso885915 », la commande ci-dessus affichera :
ISO-8859-15
This results in a final locale setting of en_GB.ISO-8859-1
. It is important that the locale
found using the heuristic above is tested before it is added to the
Bash startup files:
LC_ALL=<nom du paramètre linguistique> locale language LC_ALL=<nom du paramètre linguistique> locale charmap LC_ALL=<nom du paramètre linguistique> locale int_curr_symbol LC_ALL=<nom du paramètre linguistique> locale int_prefix
Les commandes ci-dessus devraient afficher le nom de la langue, le codage des caractères utilisé par le paramètre régional, la monnaie et le préfixe du pays à composer avant de saisir un numéro de téléphone. Si une des commandes ci-dessus échoue avec un message similaire à un de ceux montrés ci-dessous, cela signifie que votre paramètre linguistique n'a pas été installé au chapitre Section 8.5, « Glibc-2.38 » ou qu'il n'est pas pris en charge par l'installation par défaut de Glibc.
locale: Cannot set LC_* to default locale: No such file or directory
Si cela arrive, vous devriez soit installer le paramètre linguistique désiré en utilisant la commande localedef, soit utiliser un autre paramètre. Les instructions suivantes supposent que vous n'avez pas reçu ces messages d'erreur de Glibc.
D'autres paquets peuvent aussi mal fonctionner (mais pourraient ne pas nécessairement afficher de messages d'erreurs) si le nom de la locale ne correspond pas à leurs attentes. Dans ce cas, vous pouvez obtenir des informations utiles en cherchant comment les autres distributions Linux prennent en charge votre locale.
Une fois que les bons paramètres de locale ont été déterminés, créez
le fichier /etc/profile
:
cat > /etc/profile << "EOF"
# Début de /etc/profile
export LANG=<ll>_<CC>.<charmap><@modifiers>
# Fin de /etc/profile
EOF
Les paramètres régionaux « C » (par défaut) et « en_US.utf8 » (celui recommandé pour les utilisateurs de langue anglaise vivant aux États-Unis) sont différents. « C » utilise le codage US-ASCII 7-bit et traite les octets utilisant le bit de poids le plus fort comme des caractères invalides. C'est pourquoi, par exemple, la commande ls les remplace par des points d'interrogation sous ce paramètre. De même, essayer d'envoyer un courriel avec de tels caractères depuis Mutt ou Pine envoi des messages non compatibles avec la RFC (le codage du mail sortant est indiqué comme « 8-bit inconnu »). Donc, vous ne pouvez utiliser le paramètre « C » que si vous êtes sûr de ne jamais avoir besoin de caractères 8-bit.
Les locales basées sur UTF-8 ne sont pas bien prises en charge par certains programmes. Le travail pour documenter et, si possible, réparer de tels problèmes est en cours, voir https://fr.linuxfromscratch.org/blfs/../view/blfs-svn/introduction/locale-issues.html.