Làm cách nào để thay đổi ngôn ngữ của hệ thống con Linux trong Windows 10 (WSL)?


78

Sau khi cài đặt Bash trong Windows 10, tôi lưu ý rằng nó đang sử dụng tiếng Thụy Điển trong các ứng dụng linux. Cài đặt Windows 10 của tôi bằng tiếng Anh.

Tôi đã cố gắng cài đặt lại bash sau khi thay đổi ngôn ngữ nhập mặc định sang tiếng Anh bằng cách sử dụng

lxrun /uninstall /full

lxrun /install

Nhưng nó vẫn đang sử dụng các văn bản Thụy Điển trong các ứng dụng linux, ví dụ như ở nano.

Vậy làm thế nào tôi có thể buộc hệ thống con Linux cài đặt bằng ngôn ngữ tiếng Anh?

Câu trả lời:


119

Cài đặt Windows subsystem cho Linux (WSL) sẽ tự động đặt ngôn ngữ Ubuntu khớp với miền địa phương của cài đặt Windows của bạn. Bạn có thể thay đổi ngôn ngữ Ubuntu bằng tay bằng cách sử dụng trình bao.

  1. Chạy lệnh này trong bash.exe để thay đổi ngôn ngữ sang tiếng Anh Mỹ:

    sudo update-locale LANG=en_US.UTF8

    Nếu bạn gặp sudo: unable to resolve hostlỗi bất cứ khi nào bạn chạy sudo,

    • Xác minh rằng bạn có một bộ tên máy chủ (với hostnamelệnh).

      • Nếu nó không được đặt, thêm nó vào /etc/hostnametập tin.
      • Đảm bảo chỉ/etc/hostname chứa tên máy chủ.

      Chỉnh sửa tệp với sudoedit /etc/hostname (giả sử bạn có thể làm cho nó hoạt động); thấy này .

    • Đảm bảo rằng bạn /etc/hoststập tin chứa mục cho hostname thực tế của bạn (đánh vần chính xác giống nhau) và / hoặc localhost. Một lần nữa, sử dụng sudoedit.

    Xem thông báo lỗi khi tôi chạy sudo: không thể giải quyết máy chủ để biết thêm thông tin.

  2. Khởi chạy lại bash.exeđể những thay đổi có hiệu lực.
  3. Nếu không khắc phục được, hãy thử khởi động lại dịch vụ:

    sc stop  lxssmanager
    sc start lxssmanager
    

Nếu bạn muốn tìm hiểu thêm về bash trong WSL, bạn có thể đọc Câu hỏi thường gặp của Microsoft .


Có vẻ như việc khởi động lại dịch vụ cũng được yêu cầu để thay đổi có hiệu lực: "sc stop lxssmanager", "sc start lxssmanager". Tôi đã gặp lỗi khi chạy cmd cập nhật-locale: "sudo: không thể giải quyết máy chủ ...".
Người dùng0

3
"Cài đặt WSL sẽ tự động phát hiện ngôn ngữ Ubuntu để khớp với miền địa phương của cài đặt Windows của bạn" Tôi muốn nói là "hiểu sai". Tôi có tiếng Phần Lan, tôi có tất cả các cài đặt về tiếng Anh, ngoại trừ bố cục bàn phím và định dạng ngày. Đó không thực sự là một địa phương của Phần Lan trong cuốn sách của tôi.
Sami Kuhmonen

Tôi đã gặp lỗi sudo: unable to resolve hosttrong khi cố gắng chạy lệnh đó. Nó hoạt động khi tôi chạy nó mà không có sudo.
sgtfrankieboy

@sgtfrankieboy Nó sẽ không tồn tại mà không có sudo. Xem câu hỏi này và câu trả lời của nó.
con mèo

2
LANG = en_US.UTF-8, thiếu '-'
eee

1

Thay vì cài đặt lại bash, hãy thêm dòng sau vào tệp ~/.bashrc

LANG=c

Sau đó, bạn nhận được bash ngôn ngữ tiếng Anh.


1

Hướng dẫn này mô tả các cách khác nhau. Vì trong trường hợp này, chúng tôi đang sử dụng Ubuntu, chọn các tùy chọn tương ứng. Tóm lược:

  • Thay đổi ngôn ngữ chỉ cho phiên hiện tại: LANG=en_US.UTF-8
  • Thay đổi ngôn ngữ vĩnh viễn cho người dùng hiện tại: thêm LANG=en_US.UTF-8vào~/.bashrc
  • Thay đổi ngôn ngữ hệ thống mặc định: sử dụng LANG=en_US.UTF-8trong
    /etc/default/locale

Theo locale -acác miền địa phương sau tiếng Anh có sẵn trong hệ thống của tôi theo mặc định: C, C.UTF-8, en_US.utf8.


0

Nếu bạn chưa cài đặt ngôn ngữ, bạn cần sử dụng:

    sudo apt-get install language-pack-en language-pack-en-base manpages

thay đổi "en" thành ngôn ngữ của bạn và sau đó sử dụng lệnh để chuyển đổi ngôn ngữ.


0

Không ai trong số này làm việc cho tôi. Chạy Ubuntu18.04.2 LTS (Bionic Beaver) trên WSL Build 16299.

Cách giải quyết cho tôi là từ giải pháp của Lri :

$ sudo apt install gcal
$ alias cal='gcal --starting-day=1'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.