Ubuntu 解決 locale 問題

在遠程連接 ubuntu的時候,有時候會碰到類似以下錯誤:

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

原因大約有以下幾種:

  • 操作系統找不到指定的系統語言包
  • 遠程連接時沒有指定默認語言

步驟1:先查看當前系統語言

locale

步驟2:檢查已安裝的語言並安裝缺乏的語言

locale -a

如果其中沒有你想要的語言,則執行以下命令來安裝:

//例如,安裝中文
/usr/share/locales/install-language-pack zh_CN
//刪除不想要的語言
/usr/share/locales/remove-language-pack zh_CN

如果因爲某些原因,語言已安裝,但locale信息沒有自動生成,可以執行以下命令手工生成:

//zh_CN.UTF-8爲你需要使用的語言
locale-gen zh_CN.UTF-8

步驟3:修改當前用戶的環境變量

//只在當前會話中生效
export LC_ALL="en_US.UTF-8"
//再次檢查 locale 設置是否沒問題
locale
//正常情況,你會看到如下信息
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.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=en_US.UTF-8

步驟4:此時已經可以確定配置成功,需要將環境變量寫入用戶配置文件,以便每次連接都會正確設置 locale

echo "export LC_ALL=\"en_US.UTF-8\"" | tee ~/.bash_profile

大功告成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章