ฉันได้ติดตั้งเซิร์ฟเวอร์ Ubuntu 16.04 ใหม่แล้ว แต่เมื่อฉันพยายามเปลี่ยนการตั้งค่าภาษาอย่างถาวรมันจะล้มเหลวและเปลี่ยนกลับไปเป็นภาษา POSIX
การพิมพ์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 คือ " การย้อนกลับการเข้ารหัส ASCII เหมือนกับ C "
เพื่อให้มั่นใจว่าสถานที่de_AT.utf8
และen_US.utf8
มีอยู่ในระบบของฉันฉันวิ่งไปหาlocale -a
ที่ให้:
C
C.UTF-8
POSIX
de_AT.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
โปรดทราบความไม่สอดคล้องด้วยC.UTF-8
แต่de_AT.utf8
! สิ่งที่ฉันกังวลอีกต่อไปคือ POSIX เป็นรายการที่สามในขณะที่ระบบการทำงานที่แตกต่างออกไปนั้นเป็นรายการสุดท้าย
เพื่อที่จะเปลี่ยนภาษาของฉันไปที่ผมพิมพ์en_US.utf8
คำสั่งยังคงมีสถานที่ POSIX หลังจากออกจากระบบและเข้าสู่ระบบใหม่ยังคงแสดงให้เห็นถึงสถานที่เกิดเหตุ POSIX หลังจากรีบูตยังคงแสดงให้เห็นถึงสถานที่เกิดเหตุ POSIXsudo update-locale LANG=en_US.utf8
locale
locale
locale
อย่างไรก็ตามเมื่อฉันพิมพ์export LANG=en_US.utf8
มันจะทำงานได้ชั่วคราว แต่เพียงจนกว่าจะออกจากระบบ ดังนั้นฉันค่อนข้างมั่นใจว่าสถานที่นั้นถูกสร้างขึ้นอย่างถูกต้อง
ฉันไม่มีความคิด ฉันลองสร้างที่ตั้งใหม่ทั้งหมด แต่ดูเหมือนว่า/etc/default/locale
จะถูกเพิกเฉย
เพื่อประโยชน์ในการสำเร็จ/etc/default/locale
มีเพียงบรรทัดLANG=en_US.utf8
UPDATE: //ฉันพยายามเรียกใช้sudo localectl set-locale LANG=en_US.UTF-8
และlocalectl
ยังแสดงให้ฉันเห็นว่ามันตั้งค่าภาษาไว้ แต่แม้หลังจากรีบูตเครื่องlocale
ก็ยังคงแสดงว่า POSIX และตัวอักษรที่ไม่ใช่ ASCII ยังแสดงผลไม่ถูกต้อง
systemd
วิธีที่: localectl set-locale LANG=C.UTF-8
?
/etc/pam.d
ควรดำเนินการ แต่เป็นสับสำหรับในตอนนี้คุณอาจต้องการที่จะสร้างและเพิ่มบรรทัด/etc/profile.d/mylocalesetting.sh
export LANG=en_US.UTF-8
/etc/default/locale
ถูกอ่านโดย PAM คุณอาจปิดใช้งาน PAM หรือไม่