2013年12月5日 星期四

GNOME3: 選擇您的輸入法(openSUSE 13.1)

您需要知道
1. (GNOME way)
  GNOME 3 自 3.6 版開始就整合了 ibus 成為預設的輸入法平台。
  而 openSUSE 13.1 開始所搭載的 GNOME 3.10 就包含了 ibus 整合。
2. (openSUSE way)
  openSUSE 有一套自有的啟動輸入法流程,
  並根據社群的意見針對不同的語系預設不同的輸入法平台。
  預設是根據 /etc/X11/xim.d/{您的語系}/數字-{輸入法}
  數字愈小優先等級愈高。
  也可以使用環境變數 INPUT_METHOD 來自訂所需的輸入法
  (是的,目前沒有圖形使用者介面)
  例如 zh_TW (繁體中文)使用 gcin, 而 zh_CN (簡體中文)使用 fcitx。
3. (Don't Conflict)
  這兩種方法要使他們不衝突才能正常使用輸入法。

4. 檢查 (openSUSE way) 為您啟動了什麼輸入法?
檢查 ~/.xsession-errors 或 .xsession-errors-\:0 之類的檔案
找到
/etc/X11/xim.d/zh_TW/30-gcin started sucessfully

再這個例子中,啟動的就是 gcin

5. 你想用什麼輸入法?
決定您要用的輸入法框架: ibus ? gcin ? fcitx ? scim ?

6. 若您要使用 ibus
(1) 檢查 ~/.xsession-errors 確定 ibus 已成功啟動,
如果不是啟動 ibus ,請在 ~/.profile 加上
export INPUT_METHOD=ibus

(2) 到設定值--地區和語言--輸入來源--加入英文和中文輸入法

寄件者 openSUSE 13.1

(3) 使用 Super+space 切換中英文輸入

寄件者 openSUSE 13.1

(4) ibus 的優點:與gnome整合,工具列上有圖示顯示輸入狀態,佈景主題搭配

寄件者 openSUSE 13.1

(5) ibus 的缺點:中英文切換反應慢,可能導致漏字

(6) ibus 的設定:要更改快速鍵,必須由設定值--鍵盤--快捷鍵--輸入 更改
(在 ibus 偏好中的設定仍會影響其他桌面環境)

7. 若您要使用 gcin (或 fcitx 或 scim)
(1) 檢查 檢查 ~/.xsession-errors 確定 gcin 或其他您選擇的輸入法已成功啟動,
如果不是啟動 gcin ,請在 ~/.profile 加上
export INPUT_METHOD=gcin

(2)如果您的 設定值--地區和語言--輸入來源 未做任何變動(尚未選擇輸入來源)
 
寄件者 openSUSE 13.1

這時您已經可以使用您選用的輸入法輸入了
如果您已驚動到了該設定, ibus-daemon 會啟動,和您已經啟動的輸入法衝突
導致無法使用任何輸入法。
請執行以下命令來回復預設值
gsettings set org.gnome.desktop.input-sources sources "[]"

(3)用 Ctrl+space 切換即可在 gtk2 和 gtk3 應用程式中輸入(?)
因為 gnome-settings-daemon 重新設定了 QT_IM_MODULE 和 XMODIFIERS 環境變數
導致無法在非 gtk 的程式中輸入
請參考:https://bugzilla.novell.com/show_bug.cgi?id=853063

(4)要解決 (3)的問題,有個簡單的方法:移除 ibus

(5)但如果你的電腦是多人使用,可能有人比較喜歡 ibus
困難的方法:你必須駭一下 gnome-settings-daemon ...
我不會寫程式,我只是刪除了我認為不需要在 openSUSE 系統做的那兩句,
如果您也不會寫程式,膽子和我一樣大,
你可以到 http://download.opensuse.org/repositories/home:/swyear/openSUSE_13.1/
(在 i586 或 x86_64 目錄中,視您的系統決定)找到修改過後的 gnome-settings-daemon。
警告:請不要加此套件庫,裏面都是一些測試,不保證任何品質。
下載後直接用 rpm 升級安裝
# rpm -Uvh gnome-settings-daemon-3.10.2-3.1.i586.rpm
警告:gnome-settings-daemon-3.10.2-3.1.i586.rpm: 表頭 V3 DSA/SHA1 Signature, key ID 86d89a42: NOKEY
正在準備…                       ################################# [100%]
Updating / installing...
   1:gnome-settings-daemon-3.10.2-3.1 ################################# [ 50%]
Cleaning up / removing...
   2:gnome-settings-daemon-3.10.1-1.1 ################################# [100%] 

重新登入後,就可以在 非 gtk 程式中輸入了
再次警告:任何後果自行負責

(6) gcin 的優點:符合台灣人的使用習慣,作者是台灣人,可以用中文要求功能與回報錯誤。
目前沒有發現無法輸入的情況。
寄件者 openSUSE 13.1

(7) gcin 的缺點:在 gnome 桌面搜尋無法跳出選字視窗,沒有預設系統匣圖示顯示(但你可以裝 TopIcons ,但有時圖示無法正常顯示),在某些情況下有時跳出選字框會有殘像,有時會有選字視窗遮住輸入區的情形。

(8) fcitx 的優點:可自由迅速切換佈景主題(皮膚),支援新酷音,反應迅速,在簡體中文輸入法中評價最高。

寄件者 openSUSE 13.1

(9) fcitx 的缺點:和 gcin 一樣,若沒有安裝 TopIcons 無法顯示系統匣圖示,在 gnome 桌面搜尋的選字窗也一樣跳不出來。另因不明原因,無法在 gnome terminal 中輸入中文。
Edit:感謝 csslayer 大大在留言中的指導,fcitx 裝上 kimpanel 擴充套件,可以完全融入 GNOME 3 的佈景主題中,太酷了!
寄件者 openSUSE 13.1

2 則留言:

csslayer 提到...

其实 fcitx 可以装这个

https://extensions.gnome.org/extension/261/kimpanel/

Ray Chen 提到...

csslayer:
感謝您的努力與付出,試用效果非常好,馬上修改內文