如何永久地将LC_NUMERIC设置为英语?

由于点和逗号,我需要将LC_NUMERIC更改为英语(我有西class牙语的Ubuntu),但如果我在退出终端时使用LC_NUMERIC="en_US.UTF-8"并再次打开它,则LC_NUMERIC将再次出现西class牙。

有谁知道如何解决这个问题?

将值附加到~/.bashrc文件:

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

要使其适用于当前的bash会话,请输入~/.bashrc文件:

 source ~/.bashrc 

示例:这里我将从en_US.UTF-8更改为C

 $ 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 

这将仅更改运行命令的用户的locale ,对于系统范围的更改,您需要将值添加到/etc/default/locale ,请检查下面添加的部分。


您还可以将值添加到systmwide locale文件/etc/default/locale ,该文件将在开始时读取。 把它放在那里:

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

要么

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

默认情况下,图形登录不会读取shell启动文件( ~/.bashrc~/.profile等),也不应该因为这些是特定于bash的。

因此,最好将/etc/environment用于系统范围的环境设置,使用~/.xsessionrc进行用户特定的设置。

PAM应该默认读取/etc/environment – 检查一下

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

包括这条线

 session required pam_env.so readenv=1 

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