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
[invite]$
/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, voir info bash sous la section Bash Startup Files and Interactive Shells.
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écessaire au support des
langues natives. Les configurer proprement résulte en ce qui suit :
La sortie des programmes traduite dans le langage natif
Correction de la classification des caractères en lettres, chiffres et autres classes. Ceci est nécessaire pour que bash accepte proprement les caractères non ASCII dans les lignes de commandes pour les locales autres qu'anglais
L'ordre de tri alphabétique correct pour le pays
Taille de papier par défaut appropriée
Bon formatage des valeurs monétaires, de l'heure et des dates
Ce script configure aussi la variable d'environnement
INPUTRC
qui fait que Bash et
Readline utilisent le fichier
/etc/inputrc
créé précédemment.
Remplacez [ll]
ci-dessous avec le code à deux
lettres de la langue désirée (par exemple, « en ») et
[CC]
avec le code à deux lettres du pays approprié
(par exemple, « GB »). [charmap]
devra être
remplacé avec le charmap canonique de votre locale.
La liste de toutes les locales supportées par Glibc peut être obtenue en exécutant la commande suivante :
locale -a
Les locales peuvent avoir plusieurs synonymes. Par exemple,
« ISO-8859-1 » est aussi appelée « iso8859-1 » et
« iso88591 ». Quelques applications ne peuvent pas gérer les
différents synonymes correctement, donc il est plus sûr de choisir le nom
canonique pour une locale particulière. Pour déterminer le nom canonique,
lancez la commande suivante, où [nom locale]
est
l'affichage donnée par locale -a pour votre locale
préférée (« en_GB.iso88591 » dans notre exemple).
LC_ALL=[nom locale] locale charmap
Pour la locale « en_GB.iso88591 », la commande ci-dessus affichera :
ISO-8859-1
Ceci résulte en un paramétrage final de locale avec « en_GB.ISO-8859-1 ».
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 /etc/profile export LANG=[ll]_[CC].[charmap] export INPUTRC=/etc/inputrc # Fin /etc/profile EOF
Les locales « C » (par défaut) et « en_US » (celle recommandée pour les utilisateurs de langue anglaise vivant aux États-Unis) sont différentes.
Initialiser le plan de codage du clavier, la police de la console et les variables d'environnement relatives à la locale sont les seules étapes d'internationalisation nécessaires pour supporter les locales qui utilisent habituellement les codages à un seul octet et la direction d'écriture de la gauche vers la droite. Les cas plus complexes (incluant les locales basées sur UTF-8) nécessitent des étapes et des correctifs supplémentaires parce qu'un grand nombre d'applications ont tendance à ne pas fonctionner correctement dans de telles conditions. Ces étapes et correctifs ne sont pas inclus dans le livre LFS et de telles locales ne sont pas supportées par LFS.