cht電腦資訊gcingcin分享
adm Find login register

Linux/X window gcin 無法使用的檢查事項

eliu
1 Linux/X window gcin 無法使用的檢查事項
Promote 0 Bookmark 02012-10-11quote  

由於 gcin 目前是 zh ja 中文、日文會設定成可用的輸入法,不過由於使用者可能設定成英語卻仍然想用 gcin,或是 packager 有修改過 gcin

可以用 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 可能在執行,試試 kill gcin / scim/ibus 的 process 再執行 gcin 看看。

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

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

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

執行這個指令:

$ pgrep gcin
7438
$ strings /proc/7438/environ

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

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

4. $ gtk-query-immodules-2.0 是否可以看到

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

看不到可能是 im-gcin.so 沒有 install

5. gtk.immodules or gtk.immodules.lib 應該有如上面框示的 部份。如果沒有可以執行

Debian/Ubuntu
sudo /usr/lib/i386-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 > /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules

Fedora
# gtk-query-immodules-2.0-32 > /etc/gtk-2.0/gtk.immodules.lib

6. gtk-3.x 的程式 (gedit,gnome-terminal) 是用 gtk-query-immodules-3.0(Debian/Ubuntu),在 Fedora 則是 gtk-query-immodules-3.0-32 or 64。 安裝 im-gcin.so 是

gtk-query-immodules-3.0 --update-cache

7. skype & (kate, kedit, konsonle) 的 KDE 程式是用 qt4 的

Ubuntu,Debian
apt-get install gcin-qt4-immodule

如何在 Ubuntu/Debian 64-bit 中指定 i386 gcin-qt4-immodule

sudo apt-get install gcin-qt4-immodule:i386

edited: 7
eliu
2 fedora 16 裏面的的 gcin 有問題
Promote 0 Bookmark 02011-12-06quote  

fedora 16 包的 rpm 有問題,缺了底下的步驟,麻煩 packager 修改一下

/usr/bin/gtk-query-immodules-2.0-32 > /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules

edited: 1
eliu
3
Promote 0 Bookmark 02011-12-14quote  

這邊有 fedora 16 gcin 2.5.3。裡面有 gcin 主程式、gtk2 im module,gtk3 im module、qt4 im module。

如果發現 gnome3 裏面 gedit gnome-terminal 等 gtk3 程式無法使用 gcin,那應該是沒有 install 到給 gtk3 的 im-gcin.so

在 gtk3.0裏面是這樣 install im-gcin.so,不用指定寫到某個 file。如果用 rpm,就會自動執行底下的步驟。

gtk-query-immodules-3.0-32 --update-cache

edited: 5
Richard
4 fedora 16 裏面的的 gcin 有問題
Promote 0 Bookmark 02012-01-03quote  

eliu

fedora 16 包的 rpm 有問題,缺了底下的步驟,麻煩 packager 修改一下

/usr/bin/gtk-query-immodules-2.0-32 > /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules

我是用Fedora 16 64位元,然後我以root身分執行

gtk-query-immodules-2.0-64 > /etc/gtk-2.0/x86_64-redhat-linux-gnu/gtk.immodules

就可以了,提供參考。

請問可以幫忙包64位元的package嗎?

edited: 1
eliu
5
Promote 0 Bookmark 02012-03-05quote  
coolcd
6
Promote 0 Bookmark 02012-03-05quote  

eliu

在 ubuntu 11.10 (debian ?) 是

# gtk-query-immodules-2.0 > /usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules

我不清楚 gtk.immodules 是不是有公認的標準位置

在 debian stable,gcin 2.6.8 ~ gcin 2.7.4 用 gen-deb 產生的 deb,可能必需手動去更新 /etc/gtk-2.0/gtk.immodules

$ su -
$ gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules

沒有這麼做的話,gtk2 程式會用 xim,不會用 gtk immodule

所以 debian 和 ubuntu 還是有差別的

除非確定相容性沒問題

最好不要混用彼此的 deb

edited: 1
coolcd
7
Promote 0 Bookmark 02012-03-07quote  

coolcd
我不清楚 gtk.immodules 是不是有公認的標準位置

在 debian stable,gcin 2.6.8 ~ gcin 2.7.4 用 gen-deb 產生的 deb,可能必需手動去更新 /etc/gtk-2.0/gtk.immodules

$ su -
$ gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules

沒有這麼做的話,gtk2 程式會用 xim,不會用 gtk immodule

找到 Install GTK+ modules in the right place

在 gtk2,cache file 放在 ${sysconfdir}/gtk-2.0/

在 gtk3,cache file 放在 ${libdir}/gtk-3.0/3.0.0/

ychao
8
Promote 0 Bookmark 02014-06-24quote  

想在Ubuntu 12.04 64環境下,安裝gcin i386的gtk immodule,可是會遇到下面這個問題:

$ sudo apt-get install gcin-gtk3-immodule:i386 gcin:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gcin:i386 : Depends: gcin-data:i386 but it is not installable
             Recommends: im-config:i386 but it is not installable or
                         im-switch:i386 but it is not installable
E: Unable to correct problems, you have held broken packages.

eliu
9
Promote 0 Bookmark 02014-06-25quote  

cht電腦資訊gcingcin分享
adm Find login register
views:45731