國際語言環境指南

TTY 環境設定

根據您所使用的終端機或終端機模擬器,您可能需要在系統上安裝某些字碼集特定的 STREAMS 模組。

如需 STREAMS 模組和一般使用串流的詳細資訊,請參閱「STREAMS Programming Guide」。

下表列出了在終端機環境中,en_US.UTF-8 語言環境所支援的 64 位元 STREAMS 模組。如需詳細資訊,請參閱「Solaris 64-bit Developer's Guide」。

表 5–12 en_US.UTF-8 所支援的 STREAMS 模組

32 位元 STREAMS 模組 

描述 

/usr/kernel/strmod/sparcv9/u8lat1

UTF-8ISO8859-1 之間的字碼轉換 STREAMS 模組 (西歐語系)

/usr/kernel/strmod/sparcv9/u8lat2

UTF-8ISO8859-2 之間的字碼轉換 STREAMS 模組 (東歐)

/usr/kernel/strmod/sparcv9/u8koi8

UTF-8KOI8-R (斯拉夫文) 之間的字碼轉換 STREAMS 模組


注意 –

從 Solaris 10 發行版本開始,不再支援 32 位元核心的 SPARC sun4u 平台。表 5–12 僅適用於 32-位核心的 x86 平台。如需詳細資訊,請參閱「版本說明」。


下表列出了 en_US.UTF-8 所支援的 64 位元 STREAMS 模組。

表 5–13 en_US.UTF-8 所支援的 64 位元 STREAMS 模組

64 位元 STREAMS 模組 

描述 

/usr/kernel/strmod/sparcv9/u8lat1

UTF-8ISO8859-1 之間的字碼轉換 STREAMS 模組 (西歐)

/usr/kernel/strmod/sparcv9/u8lat2

UTF-8ISO8859-2 之間的字碼轉換 STREAMS 模組 (東歐)

/usr/kernel/strmod/sparcv9/u8koi8

UTF-8KOI8-R (斯拉夫文) 之間的字碼轉換 STREAMS 模組

如何載入 STREAMS 核心模組
  1. 以 root 使用者身份,確認您執行的是 64 位元 Solaris 或 32 元 Solaris 系統。

    system# isainfo -v
    
    • 64 位元 Solaris 系統會傳回下列資訊:

      64 位元 sparcv9 應用程式
      32 位元 sparc 應用程式
    • 32 位元 Solaris 系統會傳回下列資訊:

      32 位元 sparc 應用程式
    • 32 位元 x86 系統會傳回下列資訊:

      32 位元 i386 應用程式
  2. 確認您的系統是否已載入 STREAMS 模組。

    system# modinfo | grep 模組名稱
    

    若您已安裝如 u8lat1 等 STREAMS 模組,其輸出將會顯示如下:

    system# modinfo | grep u8lat1
    89 ff798000  4b13  18   1  u8lat1 (UTF-8 <--> ISO 8859-1 模組)
  3. 如果該模組尚未載入,請使用 modload(1M) 指令來載入它。

    • 在 32 位元系統上,請鍵入:

      system# modload /usr/kernel/strmod/u8lat1
      
    • 在 64 位元系統上,請鍵入:

      system# modload /usr/kernel/strmod/sparcv9/u8lat1
      

      核心已載入適當的 u8lat1 STREAMS 模組。現在可以將它推入到串流。

如何卸載 STREAMS 核心模組
  1. 以 root 使用者身份,確認已載入核心模組。

    例如,若要確認已載入 u8lat1,請鍵入:

    system# modinfo | grep u8lat1
    89 ff798000  4b13  18   1  u8lat1 (UTF-8 <--> ISO 8859-1 模組)
  2. 請使用 modunload(1M) 指令來卸載核心。

    例如,若要卸載 u8lat1 模組,請鍵入:

    system# modunload -i 89
    
如何設定 Latin-2 終端機和 STREAMS 模組
  1. 請使用 strchg(1M),如第二個指令行所示。

    system% cat > tmp/mystreams 
    ttcompat
    ldterm
    u8lat1
    ptem
    ^D
    system% strchg -f /tmp/mystreams
    

    在使用 strchg(1) 之前,請確認您是 root 使用者或裝置擁有人。

  2. 執行 strconf 指令以測試目前的配置。

    system% strconf
    ttcompat
    ldterm
    u8lat1
    ptem
    pts
    system%
  3. 執行 strchg 指令以重新設定原始配置。

    system% cat > /tmp/orgstreams
    ttcompat
    ldterm
    ptem
    ^D
    system% strchg -f /tmp/orgstreams
    

dttermxterm 和可輸入/輸出 UTF-8 字元的終端機

不同於舊版 Solaris 作業系統,支援 UTF-8 字碼集輸入和輸出的 dttermxterm 終端機模擬器及其他終端機,在其串流中不需要任何額外的 STREAMS 模組。如果使用 stty(1) 公用程式來設定終端機環境,則 ldterm 模組將與字碼集無關,並且支援 Unicode/UTF-8

若要為 Unicode 語言環境設定適當的終端機環境,請使用 stty(1) 公用程式。

system% /bin/stty defeucw

若要查詢目前的設定,請使用 stty 公用程式的 -a 選項,如下所示:

system% /bin/stty -a

注意 –

由於 /usr/ucb/stty 尚未國際化,請使用 /bin/stty 來代替。


Latin-1、Latin-2 或 KOI8-R 的終端機支援

針對僅支援 Latin-1 (ISO8859-1)、Latin-2 (ISO8859-2) 或 KOI8-R 的終端機,您必須進行以下的 STREAMS 配置:

head <-> ttcompat <->  ldterm <->  u8lat1 <-> TTY

此配置僅適用於支援 Latin-1 的終端機。針對 Latin-2 終端機,請將 STREAMS 模組 u8lat1 替換為 u8lat2。針對 KOI8-R 終端機,請將模組替換為 u8koi8

請確定您已經在核心程式中載入該 STREAMS 模組。

儲存 ~/.cshrc 中的設定

假設必要的 STREAMS 模組已與核心一起載入,您可以直接在 .cshrc 檔案 (C shell 範例) 中儲存下列指令行:

setenv LANG en_US.UTF-8
if ($?USER != 0 && $?prompt != 0) then
     cat >! /tmp/mystreams$$ << _EOF
     ttcompat
     ldtterm
     u8lat1
     ptem
_EOF
     /bin/strchg -f /tmp/mystreams$$
     /bin/rm -f /tmp/mystreams$$
     /bin/stty cs8 -istrip defeucw
endif

一旦您將這些指令行儲存至 .cshrc 檔案中,每次當您使用 STREAMS 模組時就不再需要輸入所有的指令。請注意,第二 _EOF 的起始位置必須位於檔案的第一個欄位。