Kali Linux系統設置中文語言環境


文章出自個人博客https://knightyun.github.io/2020/04/15/linux-chinese,轉載請申明


主流 Linux 系統安裝之後,默認使用的語言環境基本都是英語,所以不管時圖形桌面的菜單標題,還是終端的一些輸出提示,都是展示的英文,對於覺得閱讀英語不太友好的同胞們,第一件事可能就是設置一個友好的漢化環境,下面以 Kali Linux 這個發行版的系統爲例,介紹一些設置中文語言環境的方法;

圖形界面

如果安裝的系統有圖形界面,那麼操作就簡單了;一般系統在安裝時就會提供語言選項,不過安裝好後也能進行修改,一般可以在系統設置的區域與語言模塊中找到相關的設置,例如下圖:

language.jpg至於其他 Linux 系統,路徑應該類似,或者可以在設置裏面搜索一下;修改成功需要重新登錄生效,這個修改是永久性的;

終端命令

沒有圖形界面或者在設置裏面沒有找到的情況下,可以嘗試使用終端命令進行修改;

安裝中文環境包

切換中文環境之前,需要安裝中文語言環境包,直接運行以下命令:

sudo dpkg-reconfigure locales

# 上面的運行不成功可以嘗試下面這條命令:
sudo dpkg-reconfigure --force locales

如果提示類似 locales 未找到這樣的信息,那麼就先運行 apt install locales 執行安裝,然後再運行上面的命令,順利的話會彈出一個對話框,選擇需要安裝的語言,因爲中文包是 z 開頭的,列表又是按字母順序排列,所以使用方向箭頭向下瀏覽到靠近底端位置,應該能看見這樣一個選項:

[ ] zh_CN.UTF-8 UTF-8

然後把焦點移動到它上面,按下空格鍵選擇,選中的話方括號中會出現星號,再按回車進入下一步,新的對話框會提示選擇系統默認的語言設置,這時依然把焦點移動到和上面一樣的選項上,最後按回車確認,代碼運行完畢後如果沒有報錯,就安裝完成了;

切換中文環境

接下來開始切換語言環境,先運行一下 locale 命令查看當前的語言環境,應該會得到以下輸出(目前還是英語環境):

LANG=en_US.UTF-8
LANGUAGE=
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=

其實這些也都代表這當前系統的對應環境變量值,例如再運行 echo $LANG 就會得到輸出 en_US.UTF-8,其他類似,所以我們修改的重點也是圍繞其中的幾個變量展開的;由於環境變量的特性,也可以再細分爲兩種方法;

臨時性修改

直接在終端裏輸入以下命令的話,就能對當前語言的環境變量進行修改:

export LANG=zh_CN.UTF-8

注:這裏只用修改 LANG 這個變量就行了,後面的其它以 LC 開頭的變量值會自動改變;

然後再運行 locale 看一下效果:

LANG=zh_CN.UTF-8
LANGUAGE=
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

確實修改成功了,不過這條命令是臨時性的,關閉當前終端或重啓後就失效了,而且也僅限於當前終端內輸出指定的語言,只適用於臨時查看某個語言的輸出內容的場景;

永久性修改

要永久性的修改語言環境,其實也就是永久性的修改 LANG 這個環境變量的值,要實現它就直接在 ~/.bashrc 這個文件中末尾追加下面一行內容:

export LANG=zh_CN.UTF-8

這樣就對當前用戶設置了中文語言環境,如果需要應用到系統所有用戶的話,就追加到 /etc/profile 這個文件中;最後重啓一下就設置成功了;

其它修改方法

一些教程中會提到修改 /etc/default/locale 這個文件的內容,其實上面的安裝中文環境這一節中,最後一步其實就是向這個文件中寫入以下內容:

LANG=zh_CN.UTF-8

不過經測試,這樣修改後重啓並沒有改變當前語言環境,不過要是替換成下面的內容就能修改成功:

LANGUAGE=zh_CN.UTF-8

另外下面任意一條命令都能實現設置 /etc/default/loale 這個文件的內容:

sudo localectl set-locale LANGUAGE=zh_CN.UTF-8
sudo update-lcoale LANGUAGE=zh_CN.UTF-8

修改後重啓運行 locale 得到的輸出是這樣的:

LANG=en_US.UTF-8
LANGUAGE=zh_CN.UTF-8
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=

即最終只修改了 LANGUAGE 這一處的變量值,所以這個方法不怎麼推薦;另外也有一些教程提到修改 /etc/sysconfig/i18n/etc/local.conf 這兩個文件的內容,這應該是其它 Linux 髮型版本中的,至少我在 Kali 系統裏面沒有找到這兩個文件;

安裝中文字體包

修改好中文環境重啓後,還有可能出現的一種常見情況就是,終端或者菜單標題之類的地方出現亂碼,也有可能出現先剛安裝完系統後;其實原因也很簡單,就是雖然環境被設置成了中文,但是當前系統中缺乏相應的中文字體,所以識別錯誤就用一些亂碼來佔位了;

解決方法就是安裝一些中文字體包,比如可以運行:

sudo apt install fonts-wqy-microhei

安裝完成後,按需重啓,應該就能看見友好又熟悉的內容了 ^_^


技術文章推送
手機、電腦實用軟件分享
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章