首頁 > 軟體

Ubuntu Locale設定問題解決Cannot set LC_CTYPE

2020-06-16 17:53:10

錯誤:locale: Cannot set LC_CTYPE to default locale: No such file or directory locale:

重新生成所有的locale設定

第一步:設定自己想要的locale。普遍推薦的方法是拷貝所有Ubuntu支援的locale到自己的組態檔裡,然後編輯。

cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local

vi /var/lib/locales/supported.d/local,用dd命令刪啊刪,只留下en_系列和zh_系列, 或者其他你要的locale

如:
root@linuxidc:~# more /var/lib/locales/supported.d/local
 en_US.UTF-8 UTF-8
 zh_CN.UTF-8 UTF-8

rm /var/lib/locales/supported.d/en

 rm /var/lib/locales/supported.d/zh 這兩個檔案跟local一樣功能,也可以把en系列寫在en檔案裡,zh系列寫在zh檔案裡,分類方便而已。我既然都寫在local裡,這兩個就用不著了。

 第二步:重新生成locale支援檔案

locale-gen --purge

會將/usr/lib/locale/裡面的locale支援檔案刪掉,重新生成。如果設定 的locale沒有生成過,或者設定 的時候拼寫錯誤,在這個目錄找不到同名的支援檔案就會提示 No such file了。

 第三步:設定locale環境。

 敲locale把輸出的那些環境變數拷貝到/etc/default/locale裡面,自己手工修改。

 如:

root@linuxidc:~# more /etc/default/locale
 LC_CTYPE=en_US.UTF-8
 LC_NUMERIC=en_US.UTF-8
 LC_TIME=en_US.UTF-8
 LC_COLLATE=zh_CN.UTF-8
 LC_MONETARY=en_US.UTF-8
 LC_MESSAGES=en_US.UTF-8
 LC_PAPER=en_US.UTF-8
 LC_NAME=en_US.UTF-8
 LC_ADDRESS=en_US.UTF-8
 LC_TELEPHONE=en_US.UTF-8
 LC_MEASUREMENT=en_US.UTF-8
 LC_IDENTIFICATION=en_US.UTF-8
 LC_ALL=
 LANGUAGE=en_US:en
 GST_ID3_TAG_ENCODING=GBK
 LANG=en_US.UTF-8

可以設的值就是/var/lib/locales/supported.d/local裡面包括的值,或者生成在/usr/lib/locale/裡面的資料夾名稱。

第四步:退出重新登入,再敲locale看看,沒錯誤了


IT145.com E-mail:sddin#qq.com