OSETC TECH

CentOS 7 /RHEL 7: Change the System Locale

The system locale are used to control the language setting of system services and the UI before the user logs in. How do I change the default system locale in CentOS 7 linux system? How to check the current locate setting under centos 7 or RHEL 7? How to get the list of all available locales in current linux system? In this post you will see that how to change the system locale.

Check Current System Locale Settings

To show the current locale settings, you can view the “/etc/locale.conf” configuration file via “cat /etc/locale.conf” command or issue the following “localectl status” command.

cat /etc/locale.conf

OR

localectl status

Outputs:

[root@devops ~]# cat /etc/locale.conf
LANG=es_US.utf8

[root@devops ~]# localectl status
System Locale: LANG=es_US.utf8
VC Keymap: us
X11 Layout: us

CentOS 7 / RHEL 7 List All Available  Locales

Before changing the system locale, you must know that which locales are available on the current system, issue the following command:

localectl list-locales

Example: If you want to select a EN_US locale, then you can list all EN_US locales by issue the following command:

localectl list-locales | grep en_US

Outputs:

[root@devops ~]# localectl list-locales | grep en_US
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8

Change The System Locale

There are two ways to change the system locale by through modifying the “/etc/locale.conf” configuration file or using a new command “localect” which is newly added in centos 7 or RHEL 7 operating system.

Edit “/etc/locale.conf” file using “vim” command and search “LANG” line and change its value as what you want to select the locale. Such as: change locale to “en_us.iso88591”.

vim /etc/locale.conf

Before:

LANG=es_US.utf8

After:

LANG=en_US.iso88591

Save and exit the above configuration file and reboot the system, then the changes will take effect.

Set the system locale via localectl command

To set the default system locale, you can use the following command:

localectl set-locale LANG=<locale name>

you need to replace the locale name as you want to select the locale.

Example: changing the default locale to german locale, issue the following command:

localectl set-locale LANG=de_DE.UTF-8

Outputs:

[root@devops ~]# localectl set-locale LANG=de_DE.UTF-8
[root@devops ~]# localectl status
System Locale: LANG=de_DE.UTF-8
VC Keymap: us
X11 Layout: us

Note: you must log on  the system with root user  to  run localectl command .