2011年4月4日 星期一

openSUSE 11.4 的中文輸入法(2) - scim & firefox 4

對於習慣使用 scim 的人,會發現即使依照 openSUSE 11.4 的中文輸入法 一篇修改
仍然無法在 firefox 4 中輸入中文,在終端機中執行 firefox 即可看見症狀如下:
$ firefox
*** nss-shared-helper: Shared database disabled (set NSS_USE_SHARED_DB to enable).

(firefox:9542): GLib-GObject-WARNING **: plugin '/usr/lib64/gtk-2.0/immodules/im-scim-bridge.so' failed to register type 'ScimBridgeClientIMContext'


(firefox:9542): Gtk-WARNING **: Loading IM context type 'scim-bridge' failed

(firefox:9542): GLib-GObject-WARNING **: plugin '/usr/lib64/gtk-2.0/immodules/im-scim-bridge.so' failed to register type 'ScimBridgeClientIMContext'


(firefox:9542): Gtk-WARNING **: Loading IM context type 'scim-bridge' failed

(firefox:9542): GLib-GObject-WARNING **: plugin '/usr/lib64/gtk-2.0/immodules/im-scim-bridge.so' failed to register type 'ScimBridgeClientIMContext'


(firefox:9542): Gtk-WARNING **: Loading IM context type 'scim-bridge' failed

不知什麼原因, firefox 4 無法載入 scim-bridge (以及 scim) 的 gtk-immodule
所以無法輸入中文,
但在其他的 gtk2 程式中,仍可以正常輸入中文
搜尋網路結果,我找不到解決方法
如果堅持要用 scim 那就不能使用 gtk-immodule 了
下面的修改是針對 firefox 4 指定不使用 scim (scim-bridge) 的 gtk-immodule,而改用 xim
請編輯 /usr/bin/firefox 加上
if [ "$GTK_IM_MODULE" = "scim-bridge" ] || [ "$GTK_IM_MODULE" = "scim" ] ; then
GTK_IM_MODULE="xim"
fi

您可以加在 ## Variables 之後
這樣即可在 firefox 4 使用 scim 輸入法,但是選字視窗的位置會不正確,勉強可用
現在正在使用 scim-chewing (新酷音)打字

scim 的系統匣圖示無法在 KDE4 桌面顯示
如果您真的想要
您可以在 ~/.kde4/Autostart/ 中加入一個檔案(例如: kill-scim-panel-gtk )
內容為
#!/bin/sh
killall scim-panel-gtk

加上執行權限
$ chmod +x  kill-scim-panel-gtk

重新登入即可看到圖示
但切回英文輸入時圖示會重疊,變成下圖

9 則留言:

Unknown 提到...

今天剛升級一開始就被輸入法打敗 從scim 再換成 ibus 但 ibus-chewing 無作用 只好改成 注音 但不知如何更改鍵盤配置 只好又改成很久沒用的倉頡 打這幾個字打好久 (打完還要按 空白)
好痛苦 (不好意思)
不過只要想找suse的資料 一定是上黑大的網站

Unknown 提到...

嗯...沖:
我還是知道您遇到了什麼問題...,已經解決了嗎?

Unknown 提到...

恩 還沒
是 ibus-chewing 可以用嗎

Unknown 提到...

沖:
依照下列命令進行:
$ su
密碼:
# zypper rm ibus
正在載入套件庫資料...
讀取已安裝的套件...
正在解決套件相依性...

下列套件將會被移除:
ibus ibus-chewing ibus-gtk ibus-qt

4 套件將移除.
完成操作後,將釋出 2.7 MiB。
要繼續嗎? [y/n/?] (y): y
# zypper ar obs://home:swyear:ibus/openSUSE_11.4 ibus
# zypper in --from ibus ibus ibus-gtk ibus-qt ibus-chewing libchewing

Unknown 提到...

沖:
重新登入看看,有問題再提出來

Unknown 提到...

謝謝黑大
可以運作了 字打得很順
再次謝謝

Unknown 提到...

Have a lot of Fun !

蚯蚓 提到...

這篇 tips 讚!謝謝!

Unknown 提到...

根據 http://www.linuxsir.org/bbs/thread377367.html
此 bug 已經有官方修正,請更新 scim-bridge 即可