Smart Common Input Method - Arch Linux 中文维基

跳至內容

# Smart Common Input Method

出自 Arch Linux 中文维基

這篇文章或章節的翻譯質量不佳。

原因：Last updated in 2012（在 Talk:Smart Common Input Method# 中討論）
警告：SCIM 已經 "不被開發者維護", 而 IBus 被 Red Hat 積極開發。Arch 用戶安裝軟體時應該考慮用 fcitx、IBus 或 Uim 而不是 SCIM。

Su Zhe (或 James Su)在為TurboLinux工作的時候，於2001年發起了SCIM項目，該項目的目標是：

- 為當前可用的輸入法庫提供一個統一前端；
- 作為IIIMF輸入法框架的語言引擎；
- 儘可能多地提供各國輸入引擎；
- 儘可能多地支持輸入法協議/接口；
- 儘可能多地支持各種作業系統。

SCIM具有以下特性：

- 使用C++編寫，完全面向對象結構；
- 高度模塊化
- 體系結構非常靈活，可以作為其它C/S輸入法環境的動態連結庫；
- 簡單的編程接口
- 完全支持i18n UCS4/UTF-8編碼
- 具有許多便利的工具可以加速自身開發
- 具有特性豐富的圖形化面板
- 統一的配置框架

## 安裝SCIM

    pacman -S scim

### 安裝輸入法引擎

目前SCIM包含許多各類的輸入法（有些可能需要一些其它的庫），覆蓋30多種語言，包括中文（簡體、繁體）、日文、韓文及許多歐洲語言：

    (在这里

中文智能拼音：

    pacman -S scim-pinyin

中文五筆及其它：

    pacman -S scim-tables

日文：

    pacman -S scim-anthy

韓文：

    pacman -S scim-hangul

## 配置SCIM

方法一： 為了讓SCIM在桌面中自動啟動並且正常工作，編輯~/.xinitrc，在啟動桌面環境/窗口管理器的語句前面加入以下內容（如果使用scim-bridge，把下面的「scim」改為「scim-bridge」）：

    export LC_CTYPE="zh_CN.UTF-8" （请改成你在X下使用的locale，如果没有合适的locale，请查询locale-gen相关信息）
    export XMODIFIERS=@im=SCIM
    export GTK_IM_MODULE="scim"
    export QT_IM_MODULE="scim"
    scim -d

如果使用"scim -f socket -c socket -d"替換"scim -d "，會導致一些qt程序無法使用scim，比如eva。 現在進入X，scim應該已經啟動了，你可以在圖標上點擊右鍵改變SCIM配置（比如去掉一些不用的輸入法）。在任何程序中按Ctrl-Space就可以使用輸入法了。

### 使用kdm/gdm時自動啟動scim

創建一個新文件~/.xprofile，加入以下內容（如果使用scim-bridge，把下面的「scim」改為「scim-bridge」）：

    export LC_CTYPE="zh_CN.UTF-8"
    export XMODIFIERS=@im=SCIM
    export GTK_IM_MODULE="scim"
    export QT_IM_MODULE="scim"
    scim -d

查看這裡獲得更多官方信息。

方法二： Gnome用戶可以試一下，編輯/etc/gtk-2.0/gtk.immodules，在最後加入以下內容：

     "/usr/lib/gtk-2.0/immodules/im-scim.so"
     "scim" "SCIM Input Method" "scim" "/usr/share/locale" "ja:ko:zh"

如果LC_CTYPE為"en_US.UTF-8「，需要將"ja:ko:zh"改成"en:ja:ko:zh"。當你輸入命令gtk-query-immodules-2.0，你將會發現「en」是關鍵。隨後重啟。SCIM托盤可能不顯示，但是當你設置好輸入法後，按下CTRL+空格，輸入條將會顯示。KDE或許有類似的方法。警告：加了"en"，PC重啟後任務欄可能不顯示。按CTRL+ALT+F1進入SHELL，輸入sudo reboot或reboot重啟。或者用vi或vim編輯/etc/gtk-2.0/gtk.immodules。

### 環境變量

以下環境變量在運行scim之前必須被export：

    export XMODIFIERS=@im=SCIM
    export GTK_IM_MODULE="scim"
    export QT_IM_MODULE="scim"

通常這些變量被放在腳本文件中，如 ~/.xinitrc 或者 /etc/profile (全局設置), 又或者 ~/.config/openbox/autostart (如果使用 Openbox 作為 窗口管理器).如果放在 ~/.xinitrc, 必須放在執行桌面環境/窗口管理器之前。

如果你不知道那種方法更好，使用 /etc/profile.

注意：第一個環境變量與一些(少見的)選項如 `XMODIFIERS=urxvt` 衝突.

#### GNOME, XFCE, LXDE 用戶

如果 export QT_IM_MODULE="scim" 無法工作，可以使用 AUR 中的 scim-bridgeAUR[損壞的連結：package not found]。在 2009.02.15 的更新中(scim 1.4.7-1, AUR 中的 scim-bridge 0.4.15-1)下面配置可以在 GNOME, XFCE, LXDE 中工作：

    export QT_IM_MODULE="scim-bridge"

#### KDE3

將 QT IMM 設為 xim 或安裝 AUR 中的 scim-qtimm-cvsAUR[損壞的連結：package not found]:

    export QT_IM_MODULE="xim"

#### GTK

scim 無法在 gtk 應用程式中工作，請檢查 GTK_IM_MODULE_FILE 環境變量，應該設置為 /etc/gtk-2.0/gtk.immodules 或包含輸入法模塊文件的目錄。

在上面提到的腳本中加入下面內容，放到執行DE/WM之前:

    gtk-query-immodules-2.0 > ~/.immodules
    export GTK_IM_MODULE_FILE=~/.immodules

GTK 會從 ~/.immodules 中查找文件，如果將 GTK_IM_MODULE_FILE 設置為 /etc/gtk-2.0/gtk.immodules，不需要第一行。

### Locale 相關的文件

如果鍵盤 locale 不是 en_US.UTF-8 (或 en_US.utf8)，需要修改 ~/.scim/global (或系統設置 /etc/scim/global)的下面這行：

    /SupportedUnicodeLocales = en_US.UTF-8,de_CH.UTF-8

將 de_CH.UTF-8 修改為所用 locale。

注意：locale 必須已經啟用(/etc/locale-gen 中取消注釋並以 root 執行 locale-gen ) 而且被 SCIM 支持(支持大部分 *.UTF-8 locales).

如下命令可以獲得活動的 locale：

    locale -a

(查看 /etc/locale.gen 也可以).

#### 更多關於 locale 的疑難解答

如果安裝 scim 和輸入法表之後，scim 還無法工作(點擊系統圖標無反應)，需要在 `/etc/profile` 中將 `LC_CTYPE` 設置為要使用的 locale。

    LC_CTYPE="zh_CN.UTF-8"              //if you want to type simplified chinese

修改/etc/locale.gen 文件，取消 locale 前的注釋並用 locale-gen 命令生成 locale：

    locale-gen

### 執行 SCIM

可以直接執行:

    scim

建議作為守護進程執行：

    scim -d

可以將上面文件放入腳本中自動執行，例如 ~/.xinitrc (環境變量之後，DE/WM之前), /etc/profile (環境變量之後) 或 ~/.config/openbox/autostart (環境變量之後，可以 sleep 幾秒)。

#### GNOME

使用 GNOME 需要執行：

     scim -f x11 -c simple -d

要自動啟動，在 System > Preferences > Session 中創建上面一行命令。

注意：如果使用 scim -f socket -c socket -d，SCIM 的配置文件無法修改。

#### KDE

KDE 中需要執行：

     scim -f socket -c socket -d

或者採取：

1. 從 AUR 安裝 skim.
2. 啟動 SKIM，系統圖標上右鍵，點擊 'Configure'
3. 在 Frontend > X Window 中點擊"Start skim automatically when KDE starts"
4. 登出並重啟 X server (ctrl+alt+del)，重新登錄

按鍵盤 ctrl+space 激活輸入法。

## 已知問題

### LWJGL (Lightweight Java Game Library) losing keyboard focus

一個解決方法是 kill scim ，應用程式就可以接收鍵盤輸入了。

參見 [1] 和 [2].

## 外部連結

- See the official news page for more details.

分類：​

- 輸入法
- 包含損壞的軟體包連結的頁面

隱藏分類：​

- 使用「模板:糟糕的翻譯」標記的頁面或章節

Smart Common Input Method
新增話題