Ctrl - Space 無法叫出 gcin 的檢查事項

舊版 gcin 在繁體中文 locale 下會有類似 GTK_IM_MODULE=gcin 的效果。

0.9.0 版以後取消了這個預設值,使用前別忘了 export GTK_IM_MODULE=gcin

無法叫出 gcin 的檢查事項:

1. 執行 pgrep gcin

是否可以看到 gcin 的 process ID(一個數字)? 如果可以,請往下跳到第 3 點。

2. 直接在 terminal 執行 gcin,看有什麼錯誤訊息。

如果最後一行出現的訊息是 IMOpenIM failed. Maybe another XIM server is running. 表示其它 XIM server 可能在執行,試試 pkill gcin / pkill xcin 再執行 gcin 看看。

3. 檢查 XMODIFIERS 是否設定成一致的內容。

一般看環境變數的內容可以用 printenv。

可以設定環境變數的地方太多了,用開 terminal 的方式看,不見得符合應用程式使用的實際值,所以還是直接看 proc file system 最準。

執行這個指令:

  $ pgrep gcin
  7438
  $ vi /proc/7438/environ

這個檔案是這個 process 所有的環境變數內容,檢查 XMODIFIERS 內容。 你可以用同樣的方法檢查應用程式的內容,例如 pgrep firefox。

gcin 可以不設定自己的 XMODIFIERS,但應用程式就必須設定成 XMODIFIERS=@im=gcin

4. GTK2 baed 程式檢查事項。

$ gtk-query-immodules-2.0 是否有底下的內容,

"/usr/lib/gtk-2.0/immodules/im-gcin.so" "gcin" "gcin Input Method" "gtk20" "/usr/share/locale" "*"

如果沒有,以 root 權限執行底下的 script 看看。
/usr/share/gcin/script/modify-XIM
(或是把im-gcin.so所在的目錄及檔名加進export GTK_PATH=裡面,這樣一來,gtk-query-immodules-2.0會去這個目錄裡搜尋)

5. 檢查是否有 export GTK_IM_MODULE=gcin 這個環境變數。

設定成 export GTK_IM_MODULE=xim 也可以,只是輸入視窗隨遊標移動會有點問題。

6. 檢查 LC_CTYPE 是否設對 (建議使用 UTF-8 locale,例如設定為 zh_TW.UTF-8)