2013年1月2日

ubuntu萬年語言bug

說萬年是誇張的講法,不過印象從9.04好像就開始有這個問題,也就是安裝完畢之後,無法套用中文環境,即使安裝了中文環境

解法,首先,先安裝中文套件(language support=>Install or remove languages)

其次可能還是無法選擇繁體中文,但是接下來改變方法是這樣
先選擇region format,改成中文,接著進入"System Settings"=>"User Accounts",將使用者語言也改成中文
 這樣重新登入後就可以看到中文了

如果還不滿意,因為登入畫面還不是中文,修改/etc/default/locale檔案,將LANG變數變成zh_TW.UTF-8,完成

原理:
ubuntu語系判斷主要兩個檔案/etc/default/locale~/.pam_environment,手動修改這兩個檔案可以直接跳過GUI畫面,更進一步整個ubuntu讀取設定流程是


system level(如果不是用bash shell,中間config檔案很可能會被忽略):
/etc/profile:在登錄時,操作系統定製用戶環境時使用的第一個文件,此文件為系統的每個用戶設置環境信息,當用戶第一次登錄 時,該文件被執行。這個文件一般就是調用/etc/bash.bashrc文件。
/etc/bash.bashrc:系統級的bashrc文件。
/etc/environment:在登錄時操作系統使用的第二個文件,系統在讀取你自己的profile前,設置環境文件的環境變量。

User level(如果不是用bash shell,中間兩個config檔案相當會被忽略):
~/.profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設 置一些環境變量,執行用戶的.bashrc文件。這裡是推薦放置個人設置的地方
~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。不推薦放到這兒,因為每開一個shell,這個文件會讀取一次,效率 上講不好。
~/.bash_profile or ~./bash_login :不推薦使用這個,這些不會影響圖形界面。而且.bash_profile優先級比bash_login髙。當它們存在時,登錄shell啟動時會讀取它 們。
~/.pam_environment :用戶級的環境變量設置文件

沒有留言: