warning: setlocale: LC_CTYPE: cannot change...

今天无意中进到终端下root登录出现了下面的错误:

warning: setlocale: LC_CTYPE: cannot change locale (en_US.utf8): No such file or directory
warning: setlocale: LC_NUMERIC: cannot change locale (en_US.utf8): No such file or directory
warning: setlocale: LC_TIME: cannot change locale (en_US.utf8): No such file or directory
warning: setlocale: LC_COLLATE: cannot change locale (en_US.utf8): No such file or directory
warning: setlocale: LC_MESSAGES: cannot change locale (en_US.utf8): No such file or directory

当然我立马看了"rc.conf"文件中的"LOCALE:",没发现什么异常,搜索了下,找到了老外的一篇文章,立马解决了。

由于Archlinux在更新的时候更新了locale包,所以locale.gen文件被我覆盖了,而我再修改的时候只开启了"zh"开头的几个,忘了将en开头的打开了,不过那个配置文件也真蛋疼,这个默认的杂也被注释了,还有"rc.conf",原来有大段的注释,更新之后的pacnew是一个注释和默认选项都没有…

最后还是说下解决方法把:

en_US.UTF-8 UTF-8
en_US ISO-8859-1

找到这两个,取消注释符,然后以root用户执行"locale-gen"。

2 条评论:

Unknown 说...

所以还是不知道您说的是哪个文件

bstaint 说...

这是我很久之前写的文章了,如果没记错的话应该是/etc/rc.conf。