Làm cách nào để đặt LANG ở miền địa phương, mặc dù trong / etc / default / locale trong ubfox để hỗ trợ unicode?


8

Tôi chạy Ubuntu 12.04, tôi không thể đặt miền địa phương en_US.utf8. Tôi thiết lập LANGbằng cách cấu hình /etc/default/localenhư mô tả ở đây .

$cat /etc/default/locale
LANG=en_US.utf8
$locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=POSIX

Nhưng nó không hoạt động, như bạn có thể thấy ở trên. Làm cách nào để đặt LANGbiến này thành en_US.utf8?

Lý do tôi hỏi là, khi tôi chạy echo -e "\x03\bb", tôi nhận được unicode greek letter lambda symbolhiển thị chính xác, nhưng vấn đề của tôi là với emacs. Trong các emacs, tôi không thể hiển thị các ký hiệu unicode, ví dụ: C-x 8 RET 03bbđầu ra \u03bb, thay vì a greek letter lambda symbol. Tôi nghĩ vấn đề là do các cài đặt ngôn ngữ này, nhưng tôi không thể đặt chúng.

Chỉnh sửa : Tôi nghĩ rằng vấn đề đã được khắc phục.

$su $USER -c 'env; echo ==; locale' | egrep '==|LANG'

LANG=en_US
LANGUAGE=en_US
==
LANG=en_US
LANGUAGE=en_US

Giải pháp cho tôi là, tôi đã sử dụng mintty để ssh vào Ubuntu 12.04 Server Edition, vì vậy tôi phải cấu hình ~/.pam_environment~/.etc/ssh_config, và ~/bashrc. Nhưng vấn đề thực sự của tôi với emacs không phải là về cấu hình ubfox này, vì vậy tôi không biết LANGcấu hình biến này được sử dụng để làm gì hoặc nếu tôi đặt nó thành giá trị chính xác.

Chỉnh sửa 2: Dưới đây là các bước tôi đã thực hiện để giải quyết vấn đề này, theo các đề xuất của ansillin từ kênh irub #ubfox:

Thêm cái này vào ~/.bash_profile

export LANGUAGE="en"
export LANG="C"
export LC_MESSAGES="C"

Thêm cái này vào ~/.pam_environment(vì vậy cái này phải có vấn đề)

LANG=en_US
LANGUAGE=en_US

Thêm cái này vào /etc/ssh/sshd_config

UsePAM yes

Nhận xét này trong /etc/ssh/ssh_config

#   SendEnv LANG LC_*

Đầu ra của là su $USER -c 'env; echo ==; locale' | egrep '==|LANG'gì? Bạn có đang sử dụng môi trường GUI mặc định (Unity) không, nếu không bạn đang sử dụng cái gì và trình quản lý hiển thị nào?
Gilles 'SO- ngừng trở nên xấu xa'

LANGmặt khi bạn chạy sunhưng không phải khi bạn đăng nhập qua SSH? Bạn đã thay đổi điều gì? Lưu ý rằng đó en_USkhông phải là ngôn ngữ Unicode.
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles, xem chỉnh sửa của tôi xin vui lòng. Sau khi thực hiện các bước đó, LANG là một món quà mà tôi nghĩ, nhưng tôi không biết điều gì ảnh hưởng đến nó và tôi không quan tâm vì emacs đã được sửa và tôi có thể thấy các ký tự unicode tốt, tôi sẽ đánh giá cao lời giải thích về những gì những biến này có nghĩa và những gì chúng ảnh hưởng mặc dù, cảm ơn.
dùng3995789

Cũng lưu ý rằng những điều này đã không khắc phục vấn đề emacs của tôi, đó là vấn đề emacs sau tất cả.
user3995789

1
Có thể liên quan đến: Cách viết đúng chính tả cho miền địa phương là AFAIK en_US.UTF-8, không phải .utf8
Jan Henke

Câu trả lời:


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.