web-dev-qa-db-fra.com

Comment définir LC_NUMERIC en anglais de façon permanente?

Je dois changer LC_NUMERIC en anglais (Ubuntu en espagnol) à cause des points et des virgules, mais si j'utilise LC_NUMERIC="en_US.UTF-8" lorsque je quitte le terminal et que je l'ouvre à nouveau, LC_NUMERIC est de nouveau en espagnol.

Quelqu'un sait-il comment résoudre ceci?

4
Maria

Ajoutez la valeur à votre fichier ~/.bashrc:

echo 'export LC_NUMERIC="en_US.UTF-8"' >>~/.bashrc

Pour le rendre applicable à partir de la session en cours de bashname__, sourcele fichier ~/.bashrc:

source ~/.bashrc

Exemple: Je change de en_US.UTF-8 à Cname__:

$ locale | grep LC_NUMERIC
LC_NUMERIC="en_US.UTF-8"

$ echo 'export LC_NUMERIC="C"' >>~/.bashrc

$ source ~/.bashrc 

$ locale | grep LC_NUMERIC
LC_NUMERIC=C

Ceci changera le localeuniquement pour l'utilisateur qui exécute la commande. Pour une modification à l'échelle du système, vous devez ajouter la valeur à /etc/default/locale, vérifiez la partie ajoutée ci-dessous.


Vous pouvez également ajouter la valeur au fichier localename__, /etc/default/locale, qui sera lue au début. Pour le mettre là:

echo 'LC_NUMERIC="en_US.UTF-8"' | Sudo tee -a /etc/default/locale

Ou

Sudo bash -c 'echo "LC_NUMERIC=\"en_US.UTF-8\"" >>/etc/default/locale'
7
heemayl

Les connexions graphiques ne lisent pas les fichiers de démarrage de Shell (~/.bashrc, ~/.profile et ainsi de suite) par défaut et ne doivent pas non plus, car ils sont spécifiques à bash.

Il est donc préférable d'utiliser /etc/environment pour les paramètres d'environnement système et ~/.xsessionrc pour les paramètres spécifiques à l'utilisateur.

PAM devrait par défaut lire /etc/environment - vérifier que

/etc/pam.d/login /etc/pam.d/sshd /etc/pam.d/su /etc/pam.d/cron

comprend la ligne

session       required   pam_env.so readenv=1

-> https://wiki.debian.org/EnvironmentVariables

0
ESDAT