gcin在gedit不能使用中文輸入法 [論壇 - 新手村]
正在瀏覽:
1 名遊客
gcin在gedit不能使用中文輸入法 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員二級
![]() ![]() 註冊日期:
2015/3/28 21:29 所屬群組:
已註冊使用者 等級: 8
HP : 0 / 189
![]() |
系統是Xubuntu16.04
我用gcin 在google chrome 及office writer上都可正常更換中英輸入法。 但在gedit上,我按Ctrl+Space,它就好像中斷了連接,不動如山, 只能打出英文字母。 我已重灌了一次全系統了,這問題仍在。 請教先進們,這要怎麼改修理呢? 謝謝
2017/3/8 21:21
|
||||||||||
![]() |
回覆: gcin在gedit不能使用中文輸入法 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 901
![]() |
Newman 寫到: 我剛測了一下,我這邊是正常的,所以提供我測試的結果讓您對照, 可能需要你再找看看有什麼線索,了解您發生這個狀況的關鍵因素。 我的環境是「Xubuntu 16.04 amd64 英文介面」,我沒有額外增加套件庫來源。 執行下面指令安裝「gcin」。
顯示 Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: gcin-data gcin-gtk2-immodule gcin-gtk3-immodule gcin-tables libgcin Suggested packages: gcin-anthy gcin-qt4-immodule gcin-qt5-immodule gcin-voice The following NEW packages will be installed: gcin gcin-data gcin-gtk2-immodule gcin-gtk3-immodule gcin-tables libgcin 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. Need to get 4,261 kB of archives. After this operation, 18.5 MB of additional disk space will be used. Do you want to continue? [Y/n] 執行下面指令,切換輸入法框架為「gcin」。
執行下面指令,觀看「~/.xinputrc」這個檔案。<-- 這個動作非必要,只是確認上面的指令是否有效。
顯示
登出桌面環境,然後再登入, 然後執行「gedit」 <-- 這個步驟不一定要在「Terminal」上執行。
按下「Ctrl+Space」,可以在「En」和「詞音」來回的切換。 以下這幾篇討論,有一些探索的方法可以參考 (有些是fcitx) * https://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=354182#forumpost354182 * https://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=355366#forumpost355366 * https://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=355402#forumpost355402 * https://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=355956#forumpost355956 * https://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=352784#forumpost352784 以下這幾篇討論,是目前有了解過gcin會發生問題的議題 * http://hyperrate.com/thread.php?tid=32935#32935 * http://hyperrate.com/thread.php?tid=32953#32953 ======================================================== ############ 檢測步驟開頭 ############ 執行下面指令,了解系統目前已經安裝那些套件,是關於gcin的
顯示
前面有「ii」的,表示已經安裝在系統上的套件。 先執行「gedit」 <-- 這個步驟不一定要在「Terminal」上執行。
然後執行下面指令,找出「gedit」的「Process ID」。
顯示
找到「gedit」的「Process ID」是「28795」。 執行下面指令,了解「28795」開啟了那些檔案,是跟gcin有關的。
顯示
執行下面指令,觀看「28795」的「環境變數」,grep跟「gcin」有關的。
顯示
執行下面指令,觀看「28795」的「環境變數」,grep跟「xim」有關的。
顯示
相關「環境變數」的設定,可以對照這個檔案「/usr/share/im-config/data/26_gcin.rc」。 如何「trace」整個流程,可以參考「這篇」。 關於「相關的環境變數」,有可能除了上面這個檔設定, 某些狀況下,還會有其他地方會設定,而影響到, 可以參考「這篇」和「這篇」的說明。 報告完畢 ![]() ############ 檢測步驟結尾 ############ ======================================================== 順便貼一下「fcitx」的 先執行「gedit」 <-- 這個步驟不一定要在「Terminal」上執行。
然後執行
顯示 user 31930 0.8 2.2 882372 90312 ? Sl 22:39 0:02 gedit user 32249 0.0 0.0 12884 936 pts/11 S+ 22:44 0:00 grep --color=auto gedit 或是執行
顯示
執行
或是執行
顯示
執行
或是執行
顯示
執行
或是執行
顯示
對照「/usr/share/im-config/data/22_fcitx.rc」
上面用到的一些技巧,也可以參考昨天寫的這篇「回覆 #5」。 ================================================= ![]()
2017/3/8 22:14
|
||||||||||
![]() |
回覆: gcin在gedit不能使用中文輸入法 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員二級
![]() ![]() 註冊日期:
2015/3/28 21:29 所屬群組:
已註冊使用者 等級: 8
HP : 0 / 189
![]() |
感謝 samwhelp兄的測試與回應
我沒將情況敘述得很完整 詳情是: 我在(硬碟)重灌了xubuntu16.04之後即裝gcin, 再裝gedit 然後測試, 中英輸入都是正常的。 是我在加裝了gnome16.04之後, 才造成了gcin在gedit的運作不正常(我有解去了ibus了)。 然而,我在一usb碟中也灌了Xubuntu16.04+gnome, 幾乎是完全相同的系統狀態,在這usb碟中,gcin在gedit卻是運作正常的。 所以,gcin不是在gedit中完全會異常。 是不是硬碟可能會記憶一些情況?所以才會造成在同一分割區上 重灌了系統,但相同問題仍在? 因此我才會問說:這如何修護? 謝謝
2017/3/9 5:11
|
||||||||||
![]() |
回覆: gcin在gedit不能使用中文輸入法 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
管理員
![]() ![]() 註冊日期:
2011/3/11 6:32 所屬群組:
討論區管理群 等級: 44
HP : 216 / 1084
![]() |
Newman 寫到: 沒保留資料就不會
2017/3/9 16:01
|
||||||||||
本篇發表文章以「創用CC BY 3.0 或更新之台灣地區版本」授權條款釋出,如何使用敬請參考
Creative Commons — 姓名標示 3.0 台灣 — CC BY 3.0 TW http://creativecommons.org/licenses/by/3.0/tw/ 「你不懂的東西就不要亂講,被懂得人看破手腳就算了,騙不懂的人誤導別人,還要別人把你當成大師,這就真的是說不過去了。」 by Allen Own 出處 http://www.plurk.com/p/i4uogm 自由知識創作平台介紹 https://docs.google.com/document/d/1MGG6lW_0qCgH4U785R-IwSc_INdoBGej1l-JxiA4gPE 如何建立新的自由知識創作平台文件 https://docs.google.com/document/d/11NdzOW2lGYksfyQIcPMPye5tlmj1J0QTkgPTmQvIvKA |
|||||||||||
![]() |
回覆: gcin在gedit不能使用中文輸入法 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員二級
![]() ![]() 註冊日期:
2015/3/28 21:29 所屬群組:
已註冊使用者 等級: 8
HP : 0 / 189
![]() |
謝謝V字龍的解答
我再重灌 依序: Xubuntu16.04 加裝gnome16.04 移去ibus 裝上gcin 然後就全部都可正常中英輸入了。 (因為gnome的桌面真好用,迷上了,所以不加裝不可) 謝謝喔!
2017/3/9 19:51
|
||||||||||
![]() |
回覆: gcin在gedit不能使用中文輸入法 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 901
![]() |
Newman 寫到: 收到。 本來我還在寫測試報告,結果要回覆的時候,已經看到上面的訊息了, 雖然我也沒有什麼進展,不過還是把剛剛寫的,紀錄下來,提供參考。 以下是原本寫的內容 ================================================================================ Newman 寫到: 收到。 剛根據你提到的,有做了點測試, 但結果還是無法重現您提到的狀況,所以也只能再次貼上我測試的步驟,供您參考對照。 以下的步驟,不見得和您的步驟相吻合,只是從您提供的訊息來揣測步驟。 ================================================================================ 我先到下面這個連結 http://cdimage.ubuntu.com/xubuntu/releases/16.04.2/release/ 下載這個iso檔案 http://cdimage.ubuntu.com/xubuntu/releases/16.04.2/release/xubuntu-16.04.2-desktop-amd64.iso 下載指令如下
然後在「VirtualBox」安裝好系統,也就是安裝好「Xubuntu 16.04.2」。 我是安裝「英文界面」。 ================================================================================ 開好機後,開啟「Terminal」。 先執行
================================================================================ ## 安裝「gcin」 執行下面指令,安裝「gcin」。
執行下面指令,設定輸入法框架為「gcin」
================================================================================ ## 安裝「ubuntu-gnome-desktop」 執行下面指令,安裝「ubuntu-gnome-desktop」
關於「ubuntu-gnome-desktop」是「Metapackage」,
顯示
它會相依很多套件,您可以執行下面指令觀看。
顯示
然後安裝的過程中,會安裝「gdm3」, 不過因為系統原本是使用「lightdm」, 所以會出現一個對話框,讓您選擇是要採用「gdm3」還是「lightdm」, 我選「gdm3」,因為想要再次測試看看「這篇」和「這篇」提到的問題。 您可以執行下面指令,就會看到剛剛提到的對話框。
對話框的一些文字,可以從「/var/lib/dpkg/info/gdm3.templates」找到。 ================================================================================ 然後上面安裝完畢後,重開機。 在「Xsession」,選擇登入「Xubuntu Session」或是「Gnome」來測試, 測試「gedit」,使用「gcin」,都是能正常切換「En」和「詞音」的,也能正常輸入中文。 也有測試上面「回覆 #2」提到的檢測步驟,結果應該是一樣的。 所以我無法重現樓主提到的狀況,無法了解發生這個狀況所導致的關鍵環節是出在那。 ================================================================================ 以下要下載「Source Package」,所以要先做一些前置動作。 執行以下指令,安裝「dpkg-dev」。
然後要編輯「/etc/apt/sources.list」,要把「# deb-src」開頭的那幾行,改成「deb-src」 例如: 原本下面這一行
要改成下面這一行
注意:有「# deb-src」開頭的不是只有上面那一行,還有其他行。 上面修改存檔後,接著要執行下面指令
上面的前置動作做完後,下面就可以執行「apt-get source $package」來下載「Source Package」了。 ================================================================================ 然後我想要確認「這篇」和「這篇」提到的問題 執行
顯示
執行
顯示 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-================-===============================-===============================-============= ii ibus 1.5.11-1ubuntu2 amd64 Intelligent Input Bus - core 執行
顯示
執行
顯示
表示「/usr/bin/ibus-daemon」這個檔,已經有在系統裡了。 執行
顯示 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-========================================-=========================-=========================-============= ii gnome-session-bin 3.18.1.2-1ubuntu1.16.04.2 amd64 GNOME Session Manager - Minimal runtime 系統已經有安裝「gnome-session-bin」這個套件。 執行下面指令,下載「gnome-session-bin」這個套件的「Source Package」,也就是「gnome-session」。
然後觀看「gnome-session-3.18.1.2/gnome-session/main.c」這個檔案
可以找到下面這一段程式碼 { gchar *ibus_path; ibus_path = g_find_program_in_path("ibus-daemon"); if (ibus_path) { const gchar *p; p = g_getenv ("QT_IM_MODULE"); if (!p || !*p) p = "ibus"; gsm_util_setenv ("QT_IM_MODULE", p); p = g_getenv ("XMODIFIERS"); if (!p || !*p) p = "@im=ibus"; gsm_util_setenv ("XMODIFIERS", p); } g_free (ibus_path); } 看起來剛剛提到問題,已經被修正了,可以比對之前的「原始碼」。 { gchar *ibus_path; ibus_path = g_find_program_in_path("ibus-daemon"); if (ibus_path) { gsm_util_setenv ("QT_IM_MODULE", "ibus"); gsm_util_setenv ("XMODIFIERS", "@im=ibus"); } g_free (ibus_path); } ================================================================================ 再來我想確認「這篇」和「這篇」提到的問題。 執行
顯示 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===============================-====================-====================-============== ii gcin 2.8.4+dfsg1-1ubuntu1 amd64 GTK+ based input method for Chinese users 執行下面指令,下載「gcin」這個套件的「Source Package」,也就是「gcin」。
然後觀看「gcin-2.8.4+dfsg1/gcin-conf.cpp」這個檔案
可以找到下面這一段程式碼
看起來「這篇」提到的問題,已經有被修正了, 對照原來的「程式碼」。 char *get_gcin_xim_name() { char *xim_name; if ((xim_name=getenv("XMODIFIERS"))) { static char find[] = "@im="; static char sstr[32]; char *p = strstr(xim_name, find); p += strlen(find); strncpy(sstr, p, sizeof(sstr)); sstr[sizeof(sstr) - 1]=0; if ((p=strchr(sstr, '.'))) *p=0; // dbg("Try to use name from XMODIFIERS=@im=%s\n", sstr); return sstr; } return "gcin"; } ================================================================================ 關於 Newman 寫到: 目前我也不曉得您發生這個狀況,發生的環節是出在那,所以我無法回覆您「如何修護」。 至於「gcin」在「家目錄的設定檔」, 我目前知道的是「~/.gcin/」這個資料夾, 我無法確認是否是這裡面的設定,導致您的狀況, 因為我也無法重現你說的狀況,所以無從確認起。 也許您可以先把「~/.gcin/」移走,確認看看是否還會發生同樣的狀況嗎? ================================================================================ 報告完畢 ![]()
2017/3/9 22:00
|
||||||||||
![]() |
回覆: gcin在gedit不能使用中文輸入法 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員二級
![]() ![]() 註冊日期:
2015/3/28 21:29 所屬群組:
已註冊使用者 等級: 8
HP : 0 / 189
![]() |
謝謝samwhelp兄的熱誠之心
我在再重灌之前也檢視了firefox , 竟也不能中文輸入, 就只chrome 和office writer 可。 也曾刪了相關軟體再重裝,都沒效。 而在只有xubuntu的情況下,我沒遇過這情形, 也許是ibus和gcin有某些衝突吧?我想。 所以就在安裝順序上做了調整。 總之,感謝您了
2017/3/10 5:42
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.