ฉันต้องทำอะไรกับ“ มนุษย์: ไม่สามารถกำหนดสถานที่; ตรวจสอบให้แน่ใจว่า $ LC_ * และ $ LANG ถูกต้อง”


20

ฉันพิมพ์man sudoersแต่ได้

man: can't set the locale; make sure $LC_* and $LANG are correct
No manual entry for sudoers

สิ่งนี้หมายความว่า?


ผมมีปัญหาที่คล้ายกันใน OS X และก็สามารถที่จะแก้ไขได้โดยการแสดงความคิดเห็นออกในSendEnv LANG LC_* /etc/ssh/ssh_config
Ilya ฉัน

คำตอบ:


13

สถานที่ของคุณไม่ได้ตั้งค่า ในDebian-Baseคุณควรใช้dpkg-reconfigure localesเพื่อตั้งค่า

บางอย่างpackagesขึ้นอยู่กับlocales packageมันและvariableเช่นLC_* series... !

หมายความว่า$LANGว่างเปล่า


6

ค่าติดตั้งโลแคลของคุณตามที่ระบุโดยตัวแปรสภาวะแวดล้อมใช้ชื่อโลแคลที่ไม่พร้อมใช้งานบนระบบของคุณ

การตั้งค่าโลแคลจะควบคุมชุดอักขระที่ใช้โดยคำสั่งและเทอร์มินัล ( LC_CTYPE), ลำดับการเรียง ( LC_COLLATE), รูปแบบของวันที่ ( LC_TIME), ตัวเลข ( LC_NUMERIC) และจำนวนสกุลเงิน ( LC_MONETARY), ภาษาของข้อความ ( LC_MESSAGES) เป็นต้น ตัวแปรเป็นชื่อสถานที่ ในระบบส่วนใหญ่ชื่อมีรูปแบบxx_YYหรือxx_YY@variantหรือxx_YY.charsetที่xxเป็นตัวอักษรสองตัวรหัสภาษาและYYเป็นตัวอักษรสองตัวรหัสประเทศ

เรียกใช้คำสั่งlocaleเพื่อดูการตั้งค่าปัจจุบันของคุณ รันlocale -aเพื่อดูชื่อโลแคลที่มีอยู่

หากสถานที่ที่คุณต้องการใช้หายไปคุณอาจต้องสร้างสถานที่นั้น นี่คือขึ้นอยู่กับการกระจาย ตัวอย่างเช่นบน Debian ให้รันdpkg-reconfigure localesเป็นรูท บน Ubuntu เรียกใช้ในการสร้างสถานที่เกิดเหตุlocale-gen xx_YYxx_YY


1

ซึ่งหมายความว่าระบบของคุณไม่ทราบว่าควรแสดงข้อมูลในภาษาใด

วางผลลัพธ์ของโลแคล - คุณอาจไม่ได้สร้างโลแคลซึ่งเป็นบิต distro เฉพาะ แต่โดยปกติแล้วการรัน locale-gen จะสร้างโลแคลสำหรับคุณซึ่งจะเป็นการลบข้อผิดพลาด ลองดูที่ลิงค์นี้


1

ด้านล่างนี้เป็นส่วนเพิ่มเติมของคำแนะนำในการใช้dpkg-reconfigure localesซึ่งล้มเหลวสำหรับฉัน (ลางสังหรณ์ของฉันคือถ้ามันทำงานฉันจะไม่มีปัญหานี้

ปัญหา

me@pc:~$ man
man: can't set the locale; make sure $LC_* and $LANG are correct
What manual page do you want?

ก่อนอื่นให้ลองแก้ไขมันล้มเหลว

me@pc:~$ sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales...
  en_AG.UTF-8... up-to-date
  ...(lines omitted)...

ลองครั้งที่สองสำเร็จ ฉันยังคงได้รับข้อผิดพลาดใน en_ZW แต่ฉันไม่ได้ใช้

me@pc:~$ sudo locale-gen en_US en_US.UTF-8 && sudo dpkg-reconfigure locales
...
me@pc:~$ man
what manual page do you want?

ไม่มีข้อผิดพลาด LOCALE เพิ่มเติมในคำสั่ง man!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.