How do I change the language of the Linux subsystem in Windows 10 (WSL)?
Solution 1
The Windows Subsystem for Linux (WSL) installation should automatically set the Ubuntu locale to match the locale of your Windows install. You can change the Ubuntu locale manually using the shell.
-
Run this command in bash.exe to change the language to US English:
sudo update-locale LANG=en_US.UTF8
If you get a
sudo: unable to resolve host
error whenever you runsudo
,-
Verify that you have a hostname set (with the
hostname
command).- If it isn't set, add it to the
/etc/hostname
file. - Ensure that
/etc/hostname
contains only the hostname.
Edit the file with
sudoedit /etc/hostname
(assuming you can get that to work); see this. - If it isn't set, add it to the
- Ensure that your
/etc/hosts
file contains entries for your actual hostname (spelled exactly the same) and/orlocalhost
. Again, usesudoedit
.
See Error message when I run sudo: unable to resolve host for more information.
-
- Relaunch the
bash.exe
for the changes to take effect. -
If that doesn't fix it, try restarting the service:
sc stop lxssmanager sc start lxssmanager
If you want to learn more about the bash in WSL, you can read the FAQ by Microsoft.
Solution 2
This manual describes different ways. Since in this case we are using Ubuntu, choose corresponding options. Summary:
- Change locale for current session only:
LANG=en_US.UTF-8
- Change locale permanently for current user: add
LANG=en_US.UTF-8
to~/.bashrc
- Change default system locale: use
LANG=en_US.UTF-8
in
/etc/default/locale
According to locale -a
the following English locales are available in my system by default: C
, C.UTF-8
, en_US.utf8
.
Solution 3
If you haven't the language already installed you need to use:
sudo apt-get install language-pack-en language-pack-en-base manpages
changing "en" to your locale, and then use the command to switch locale.
Solution 4
Instead of reinstalling bash, add the following line to the file ~/.bashrc
LANG=c
Then you get english language bash.
Related videos on Youtube
User0
Updated on September 18, 2022Comments
-
User0 over 1 year
After installing Bash in Windows 10 I noted that it is using Swedish in the linux applications. My Windows 10 installation is in English.
I have tried to reinstall bash after changing the default input language to english using
lxrun /uninstall /full lxrun /install
But it is still using swedish texts in the linux apps, e.g. in nano.
So how can I force the Linux subsystem to install with english language?
-
User0 almost 8 yearsSeems that a restart of the service is also required for the change to take effect: "sc stop lxssmanager" , "sc start lxssmanager". I got an error when running the update-locale cmd: "sudo: unable to resolve host ...".
-
Sami Kuhmonen almost 8 years"WSL install will automatically detects the Ubuntu locale to match the locale of your Windows install" I'd rather say "misdetects." I got Finnish, I have all settings on English, except keyboard layout and date format. That's not really a Finnish locale in my book.
-
sgtfrankieboy almost 8 yearsI got the error
sudo: unable to resolve host
while trying to run that command. It worked when I ran it withoutsudo
. -
cat almost 8 years@sgtfrankieboy It won't persist without
sudo
. See this question and its answers. -
eee over 7 yearsLANG=en_US.UTF-8, missing the '-'
-
Neurotransmitter over 7 yearsThe
unable to resolve host
is there, but still this command works. -
OmG about 6 yearsI have tried
LANG=fa.UTF8
for persian language, but getting this error:*** update-locale: Error: invalid locale settings: LANG=fa.UTF8