繁體中文Solaris系統管理員指南

第 2章 系統環境

使用者可利用shell的環境變數改變區域環境(locale)的設定。每種 區域類別(category)都指出一個既有的區域環境。setlocale()函數 可以直接改變或查詢這些區域類別的設定。國際化後的函數利用這些設定, 可取得欲使用之區域環境的資料表(table)。

利用環境變數可以間接設定區域類別:當setlocale()將該位置的區域 類別設成預設值時,它同時依據個別的環境變數設定相對應的區域類別。 這樣使用setlocale()函數時,環境變數的設定並不會改變。它只是讀 取環境變數的設定而已。

變更內定的區域環境

下列程序可以改變整個系統的內定區域環境。但是在OpenWindows下, 內定值設定為zh_TW.BIG5會回到區域環境C

  1. 編輯檔案/etc/default/init。依情況決定是要新增或修改此行。

    Czh_TW.BIG5、或zh_TW代換區域環境


    LANG=區域環境 
    
  2. 所有使用者退出CDE。

  3. 輸入下列指令:


    % su
    # /usr/dt/bin/dtconfig -kill
    
  4. 接著輸入下列指令:


    % su
    # reboot
    

區域環境(locale)和區域類別(category)的術語

區域環境(locale)區域類別(category)兩個名詞之間的關係如下:

環境變數LC_ALL明確地將所有的區域類別設成同一個區域環境。它 有最高的優先權。如果區域類別或是LC_ALL沒有設定,環境變數LANG會決定區域類別的設定。

htt輸入伺服器的按鍵組合

對於繁體中文視窗系統的輸入伺服器來說,按鍵組合程序是將鍵盤上的某 些鍵和應用程式的某些特定動作聯結起來。您可以把應用程式的複雜動作和按鍵組合起來(例如關掉一些開啟的視窗),簡化成一至數個鍵的組合 (例如Control-H 或是 Esc w c)。

所有在輸入轉換模式下,和EUC以及Big5非ASCII輸入轉換相關連的控制鍵命令, 都是在/usr/lib/mle/zh_TW/keybind.dat中設定的。內定的命令在「繁體中文Solaris使用者指南(Traditional Chinese Solaris User's Guide)」第四章"輸入繁體中文資料(Entering Traditional Chinese Input)" 中有列出。

自訂按鍵組合的控制鍵

按鍵的組合可以藉由修改該檔案中的按鍵名稱後,重新啟動htt輸入 伺服器而改變。您可以如下述自訂並使用keybind.dat檔案:

  1. 在其他目錄建立同名自訂檔案keybind.dat

  2. 將環境變數MLE_PATH設成該自訂檔案所在目錄之名稱。

  3. 啟動輸入伺服器。

    MLE_PATH所設的目錄會用於搜尋keybind.dat檔,同時會為使用者設定檔案中的命令。

    如果沒有設定MLE_PATH,或是沒有可用的keybind.dat檔案,就會改用/usr/lib/mle/zh_TW/keybind.dat

    想要改變按鍵組合,請修改按鍵組合檔案,將內定鍵改成新的鍵值。多鍵組合以及開\ufffd關(ON/OFF)也可以使用。

和繁體中文Solaris本土化功能溝通

在C shell的層次,透過下列shell指令,每個環境變數都可設成區域環境zh_TWzh_TW.BIG5(繁體中文)、或是C(ASCII):

    C shell使用者可依此輸入shell指令:


system% setenv LC_TIME 區域環境

    Bourne shell(sh)使用者可用set或是export指令:


$ set -a LC_TIME
$ LC_TIME=區域環境

或是


$ LC_TIME=區域環境
$ export LC_TIME 

zh_TWzh_TW.BIG5設定成區域環境後,使用者環境中 日期的顯示格式和文字就會是繁體中文。使用者亦可為工作環境定義一組混合的區域環境。例如,文字可以輸入和轉換成繁體中文,時間以法文格式顯示,而訊息以英文顯示。

許多使用者是在單一文化環境內工作。環境變數LC_ALLLANG能 將所有的區域類別的系統內定值設好。例如,下列C shell指令可以將所有區域類別的系統內定值設成區域環境


system% setenv LC_ALL 區域環境
system% setenv LANG 區域環境 

系統管理者或使用者都可以設定內定值,同時此setenv語法可用於 程式撰寫中。

此設定會於下次應用程式中的setlocale()函數呼叫時,將區域類別設成內定值後,產生效用:setlocale(LC_XXX"" )