这个自我回答的问题解决了以下问题:
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
Run Code Online (Sandbox Code Playgroud)
以及其他一些与语言环境相关的问题。
编辑:回想起来,将其限制为我自己的答案似乎效率很低。请随意添加您的 2cents。或者尽可能多的......
And*_*asT 10
我们完全在 shell (bash) 中工作。
每个人都应该做的第一件事是
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)
输出可能是上面提到的错误和脚本生成的语言环境列表。请注意,在那里生成的语言环境是唯一对您的系统有效的语言环境。如您所见,语言设置只是一堆环境变量。为了好玩,您可以尝试不同的语言 bash,如下所示:
LANG=es_NI.UTF-8 bash
ls somedirectorynamethatdoesnotexistonyoursystem
Run Code Online (Sandbox Code Playgroud)
Tu hablas espaniol?:-)(如果 es_NI.UTF-8 不在您的语言环境列表中,请选择另一个)
好的。显然 LANG 环境变量有助于其余的设置,因为,在我们的西班牙文 bash 中,我们现在可以做
dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)
或者任何错误消息引导你到这里的命令,应该没有错误。如果有,那么这篇文章将不会涵盖更险恶的错误。
那么,我们在哪里设置这个变量 LANG?快速搜索/etc/
目录(使用rgrep LANG /etc/*
)将我们带到文件/etc/default/locale
. 在那里您可以将变量的值设置为不同/正确的值。例如
LANG=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
(那个应该总是有效)要完成这个:错误消息中提到的变量,全部“派生”自 LANG,这意味着它们默认为 LANG 设置的任何值,但如果你想要你的 shell,你可以根据自己的喜好设置它们说一种不同的语言。包 language-env 对此有所帮助。
sudo apt-get install language-env
set-language-env
Run Code Online (Sandbox Code Playgroud)
该脚本旨在为您的 .bashrc 等自动创建条目。
我自己没试过。
我希望这可以帮助别人。
顺便提一句:
ls usr/share/locale
归档时间: |
|
查看次数: |
26504 次 |
最近记录: |