Re: Mageia4/Cauldron gtk2 無法輸入中文的(暫時)解法

128 views
Skip to first unread message

jtmh

unread,
Mar 5, 2014, 4:20:40 PM3/5/14
to mageia...@googlegroups.com
從前晚更新 Cauldron 後發現這個方法會造成相關的 gtk2 程式無法啟動,會出現記憶體區段錯誤的問題。


2014-02-21 16:33 GMT+08:00 You-Cheng Hsieh <yoche...@gmail.com>:
如果沒有用到 gtk3 程式的話
將以下設定加到家目錄/.bashrc 檔案即可

export GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules.lib64 (for 64bit apps) or

export GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules.lib (for 32bit ones)

這看來是 gtk2 gtk3 使用相同的設定值
因此如果有用到 gtk3 程式的話 (如 gnome3)
需要在個別 gtk2 程式的啟動 script 加上上述的設定


感謝 Pavel Kreuzt  在 mga bugzilla 中提供解法



--
You received this message because you are subscribed to the Google Groups "Mageia 台灣使用者社群" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mageia-taiwa...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

You-Cheng Hsieh

unread,
May 4, 2014, 10:51:44 PM5/4/14
to Mageia 台灣使用者社群
想請有用 mga4 or cauldron 的朋友協助測試一下

如果您之前有設定 exprot GTK_IM_MODULE_FILE=
請先拿掉這個設定

然後以 root 身分執行 gtk-query-immodules-2.0 --update-cache
測試一下使用 gtk2 程式輸入中文是否正常
以及使用 gtk3 程式是否正常


謝謝

jtmh

unread,
May 4, 2014, 11:29:53 PM5/4/14
to mageia...@googlegroups.com
剛才先在我裝 Mageia 4 的電腦上測試,
PCManX 和 Firefox 都能正常輸入中文了,
不過 gtk3 的程式我不知道有哪個可以測試?

晚上我測完我另一台裝 Cauldron 的電腦後再把結果 po 上來。


For more options, visit https://groups.google.com/d/optout.

姚智偉

unread,
May 4, 2014, 11:39:44 PM5/4/14
to mageia...@googlegroups.com

GTK3 用MCC測試看看? GIMP?

jtmh

unread,
May 4, 2014, 11:48:26 PM5/4/14
to mageia...@googlegroups.com
GIMP OK
不過 MCC 不行耶?

You-Cheng Hsieh

unread,
May 5, 2014, 12:00:53 AM5/5/14
to Mageia 台灣使用者社群
下午我再抓mga4 gnome livedvd 來試試看
感謝你幫忙測試~~

You-Cheng Hsieh

unread,
May 5, 2014, 2:42:44 AM5/5/14
to Mageia 台灣使用者社群
gedit firefox 可以輸入
但 mcc 不行 我決定先不管它

mga3以前安裝 gtk immodule 時會寫 /etc/gtk-2.0/gtk.immodules.lib(64)
但大約去年七月以後系統不吃上面那個檔案
若指定 GTK_IM_MODULE_FILE 會造成 gtk3 程式異常
比較簡單的解法是跑 gtk-query-immodules-2.0 --update-cache
產生檔案在 /usr/lib/gtk-2.0/2.10.0/immodules.cache 讓系統去抓

不過這樣要動的套件很多 ibus,gcin,hime,scim,fcitx 都要改 spec 
gtk+2.0 最好也要改

希望在mga5 alpha 就可以搞定這問題~

jtmh

unread,
May 5, 2014, 10:28:34 AM5/5/14
to mageia...@googlegroups.com
我在 Cauldron 上測過了,結果相同。

補充:我的 Mageia 4 和 Cauldron 都是用 KDE 桌面 32-bit.
   另外,兩者的 LibreOffice 也都可以正常輸入中文。



再另外想提的一點,之前使用

export GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules.lib

的方法時,每次在 Cauldron 上有 gtk 的更新安裝後,
我就得手動以 root 權限執行一次

gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules.lib

否則 gtk2 的程式啟動時都會出現 segfault,
不知道現在這個新方法會不會有相同的問題?

You-Cheng Hsieh

unread,
May 5, 2014, 10:51:27 AM5/5/14
to Mageia 台灣使用者社群
以下只是推測
GTK_IM_MODULE_FILE 這個變數不存在時
若用 gtk2, immodules cache 現在預設會是 /usr/lib/gtk-2.0/2.10.0/immodules.cache
若用 gtk3 則會是 /usr/lib/gtk-3.0/3.0.0/immodules.cache

但是強制指定的話,變成 gtk2 和 gtk3 都會吃這個變數
因此 gtk3 更新時跑的
gtk-query-immodules-3.0-32 --update-cache
就認為他應該把 cache 寫到 /etc/gtk-2.0/gtk.immodules.lib
這樣 gtk2 程式當然會出問題,所以就掛了

當然再跑一次
gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules.lib
之後,gtk2 會正常,但是換成 gtk3 掛掉這樣 @@

如果推論正確的話
不要用 export GTK_IM_MODULE_FILE= 這個設定
把 /etc/gtk-2.0/gtk.immodules.lib(64) 刪除
只跑 gtk-query-immodules-2.0 --update-cache
應該還是可以輸入中文,因為已經不使用這個檔了

jtmh

unread,
May 5, 2014, 12:10:15 PM5/5/14
to mageia...@googlegroups.com
You-Cheng Hsieh <yoche...@gmail.com> 於 2014年5月5日 下午10:51 寫道:
以下只是推測
GTK_IM_MODULE_FILE 這個變數不存在時
若用 gtk2, immodules cache 現在預設會是 /usr/lib/gtk-2.0/2.10.0/immodules.cache
若用 gtk3 則會是 /usr/lib/gtk-3.0/3.0.0/immodules.cache

但是強制指定的話,變成 gtk2 和 gtk3 都會吃這個變數
因此 gtk3 更新時跑的
gtk-query-immodules-3.0-32 --update-cache
就認為他應該把 cache 寫到 /etc/gtk-2.0/gtk.immodules.lib
這樣 gtk2 程式當然會出問題,所以就掛了

對啊,那時我曾開過 /etc/gtk-2.0/gtk.immodules.lib 的內容來看,
裡面都被改成 gtk-3.0 的東西。
 
Reply all
Reply to author
Forward
0 new messages