Setup linux terminal with chinese
最近用 Vagrant 建環境時,因為下載的 Ubuntu Box 只有安裝英文語系,也就是沒辦法在 Terminal 上正常顯示和輸入中文。 為避免記性差了,特以此文章做個紀錄!
解決步驟:
1. 確認目前系統安裝的語系
輸入 locale -a
$ locale -a
C
C.UTF-8
en_US.utf8
POSIX
可以看到只有英文語系(C, POSIX, en_US.UTF8…等)的設定。
2. 確認目前語系的設定
輸入 locale
$ locale
LANG=en_US.utf8
可以看到只有 LANG 被設定為 en_US.UTF8 下面也列出語系相關的設定值:
LANG 為所有語系設定的預設值,若其他語系設定有設定值,則取代此預設值。
LC_ADDRESS 地址的顯示格式 e.g. 台灣, 台北 或是 台北, 台灣
LC_ALL 所有語系設定的設定值,可直接覆蓋其他語系設定的設定值。
LC_COLLATE 字串的排序方式。 e.g. 檔名字典排序
LC_CTYPE 字元轉換為文字或數字的設定。 e.g. 鍵盤的輸入字元轉換為文字
LC_IDENTIFICATION 語系資訊的 Metadata 的設定。
LC_MEASUREMENT 度量衡使用的單位 e.g. 公斤/英鎊, 公尺/英尺
LC_MESSAGES 系統訊息顯示的語系。
LC_MONETARY 貨幣使用的單位和名稱。 e.g. NTD, USD
LC_NAME 名字顯示的格式。 e.g. First name, Last name
LC_NUMERIC 數字顯示的格式。 e.g. 123.456, 123,456
LC_PAPER 紙張列印尺寸的設定。 e.g. A4, 11 x 17 英尺
LC_RESPONSE 系統回應訊息的顯示格式。 e.g. Yes/No, y/n
LC_TELEPHONE 電話號碼的顯示格式。
LC_TIME 時間和日期的顯示格式。
3. 新增系統語系
輸入 sudo locale-gen locale1, locale2 …
$ sudo locale-gen zh_TW zh_TW.UTF-8
Generating locales...
zh_TW.BIG5... done
zh_TW.UTF-8... done
Generation complete.
或是編輯 /var/lib/locales/supported.d/local 增加想新增的語系後,輸入 sudo locale-gen
$ sudo locale-gen
en_US.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
zh_TW BIG5
4. 變更語系設定
變更系統層級的全域設定
編輯 /etc/default/locale 將 LANG 和 LC_ALL 設定為 zh_TW.UTF-8
$ sudo vim /etc/default/locale LANG="zh_TW.UTF-8" LC_ALL="zh_TW.UTF-8"
變更個人 User 層級的設定
編輯 /.bash_profile 等 User 設定檔 將 LANG 和 LC_ALL 設定為 zh_TW.UTF-8
$ sudo vim _/.bash_profile_ export LANG="zh_TW.UTF-8" export LC_ALL="zh_TW.UTF-8"
5. 最後
重新登入後,就可以看到 Terminal 支援中文囉!