2014年6月16日 星期一

解決「IBus 的 Table 輸入不能切到中文輸入」的問題

依照慣例,每次用完電腦就下『更新、再關機』的命令,保持系統處在最新狀態。不料,最近一次的更新,將 ibus-table 更新到 1.8.2-1 後,卻發生原先使用正常的輸入法不能切換過去,一直都是英文輸入。(:是另外加裝的,非原有 Fedora 收錄之輸入法)
  用習慣的輸入法要換也不是那麼容易,想說 YUM 有個降級 (Downgrade) 的功能,就想用這個功能將之還原到舊版,沒不想到不能成功,一直出現一些套件關聯性錯誤。
  最後,想到一個方法,就是將 ibus 移除,再重新安新它們。不過,這次只安裝 Fedora 釋出版所收錄那一版。操作的過程如下,先移除 ibus
[root@Celeron-D ~]# yum remove ibus
再安裝舊的 ibus、ibus-table、ibus-table-chinese 及 ibus-chewing
[root@Celeron-D ~]# yum install ibus-table-chinese ibus-chewing --disablerepo=updates
這是利用 YUM 的套件關聯性分析,會將相關的套件也一併安裝。較完整的安裝命令為:
[root@Celeron-D ~]# yum install ibus ibus-table ibus-table-chinese ibus-chewing --disablerepo=updates
上兩個安裝例子中的『--disablerepo=updates』是抑制 YUM 從 updates 套件資料庫下載、安裝。終於又可以正常輸入了。

:之前的中文輸入法,若不是原有 Fedora 所收錄的套件,不必再安裝(如:嘸蝦米)。

  下次更新時要記得暫時不更新 IBus 才行,加個參數就可以了。
[root@Celeron-D ~]# yum update -x ibus*
這個命令會排除以 ibus 為首的套件之更新。幾個相關發文,需要的讀者自行參考:

後記:

  • 2014-6-18: 若同時有安裝 PulseAudio 的 paprefs 時,在移除 ibus 也會同時被移除,這是因為它們共同使用 ibus-libs 這個函式庫。只要在完成本文步驟後,再補安裝 paprefs 就可以。

已測試版本:

  • Fedora: 20

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)