2017年12月9日 星期六

在 antix 17 裡面安裝中文輸入法

有一陣子我喜歡 用 antix 駕馭窮人的資源過富足的生活, 可是後來在較新版的 antix 上安裝中文輸入法一直失敗, 只好移民到 lubuntu。 最近再度嚐試 antix 17, 在論壇上獲得協助 終於試出來 fcitx 跟 ibus 的設定, 而且對輸入法的設定稍微長了一點知識。 以下每一節各自獨立, 各自適用於 全新安裝的中文版 antix; 如果不是全新安裝的系統, 有可能會失敗!! 我安裝的版本是 antiX-17_386-full.iso 。

一、 fcitx

  1. 確認系統語系已設定為正體中文: /etc/default/locale 這個設定檔裡面一定要有這一句: LANG=zh_TW.UTF-8 如果沒有的話, 輸入法永遠收不到 ctrl-space 鍵。
  2. 安裝 fcitx 相關套件: sudo apt-get install fcitx fcitx-table-boshiamy fcitx-chewing fcitx-frontend-all fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt4 fcitx-frontend-qt5 fcitx-config-gtk fcitx-ui-classic fcitx-module-kimpanel fcitx-module-dbus libopencc2 fcitx-libs-qt im-config fcitx-config-gtk 這是從 emer 大大的文章 抄來的。
  3. 以普通人 (非 root) 的身份在 ~/.bashrc 裡面加入這三句:
    export GTK_IM_MODULE=fcitx
    export XMODIFIERS=@im=fcitx
    export QT_IM_MODULE=fcitx
    
  4. 在 ~/.desktop-session/startup 裡面加入這一句: fcitx -d
  5. 登出再登入, 中文就可以用了!

二、 ibus

  1. 確認系統語系已設定為正體中文: cat /etc/default/locale 應該印出 LANG=zh_TW.UTF-8 之類的。
  2. 安裝 ibus 相關套件: sudo apt-get install ibus ibus-gtk ibus-gtk3 ibus-qt4 ibus-chewing
  3. 以普通人 (非 root) 的身份在 ~/.bashrc 裡面加入這三句:
    export GTK_IM_MODULE=ibus
    export XMODIFIERS=@im=ibus
    export QT_IM_MODULE=ibus
    
  4. 在 ~/.desktop-session/startup 裡面加入這一句: ibus-daemon -d -x
  5. 執行 ibus-setup。 在 「下一個輸入法」 對話框裡, 原來是 Super-Space。 把它改成 Control-Space, 然後 先按 「套用」 再按 「確定」。
  6. 登出再登入, 中文就可以用了!

三、 心得/補充說明

如果要用 im-config 選取輸入法的話, 可以用 im-config -m 查看目前輸入法, 再用 im-config -n fcitx 選取 fcitx, 一切都在文字模式下操作比較省事。 如果只打 im-config, 會進入圖形介面 (但你需要另外安裝 zenity 套件)。

可是 antix 的設定檔跟標準的 debian 不太一樣, 所以 im-config 無效, 可以直接省略。 上面的方法自己手動設定三個環境變數及啟動輸入法引擎, 效果等同於 im-config。

這次耗時數週的煩人經驗最大的心得是: 每個輸入法還需要搭配不同的視窗函式庫介接套件! 比方說想要在 lxterminal 底下使用 fcitx, 就要先用 ldd /usr/bin/lxterminal | egrep -i 'qt|gtk' 查出 lxterminal 採用 gtk, 所以至少還要安裝 fcitx-frontend-gtk2 介接套件。 同樣地, 若要在 lxterminal 底下使用 ibus, 就需要安裝 ibus-gtk 介接套件。 如果某些 apps 可以輸入, 但另一些 apps 不行, 那麼有可能是因為它們採用不同的視窗函式庫 (不同版本的 gtk 或 qt)。 最簡單的方法, 就是一開始就把該輸入法相關的所有 gtk2/gtk3/qt4/qt5 等等套件一併安裝起來。

如果你在 antix 底下試出其他輸入法, 也請分享一下吧!

8 則留言:

  1. 老師你好~原來出到17了 有機會來更新一下!我一直都是用gcin 你介紹的輪入法有比較好用嗎??

    回覆刪除
    回覆
    1. 呵呵 我好幾個輸入法換來換去覺得都不錯啊。 但是 antix 的系統好像不是很完整? 又或者是我的電腦有問題? 總之試了四部電腦上面的 kvm 虛擬機, fcitx 在每一部都成功; ibus 在我的四部電腦上其中有三部成功。 但其他的我就沒時間認真試了。 詳見 「在論壇上獲得協助」 上面的 #3791 發言。 如果你試出 gcin 也請分享一下步驟吧。 可直接到那裡英文留言; 或在這裡貼中文留言, 我試過後也會用英文貼到那邊去。

      刪除
  2. https://sourceforge.net/projects/antix-mate-respin/
    這邊有優化過的antiX可供下載使用。

    回覆刪除
  3. 請問如果要把所有帳戶的中文輸入法改成用fcitx 的新酷音,另外也安裝fcitx的cangjie5 / pinyin ,用console 要怎麼操作?
    我只能用 im-config -n fcitx 將輸入法框架改成 fcitx ,但是接下來我要怎麼幫每個使用者都新增這三種輸入法,並且指定新酷音作為預設的中文輸入?

    回覆刪除
  4. 比方說我想知道「預設的中文輸入」是在哪裡設定的,那我會先讓電腦靜個五分鐘, 然後切換輸入法打幾個字, 接著馬上下: find ~ -mmin -2 這會找出最近兩分鐘內修改過的檔案, 從而發現: ./.config/fcitx/profile 這個檔被改過了。 把它備份到別處, 再次切換輸入法, 它又被更改一次。 跟剛才備份的版本比較一下, 發現裡面有一句 IMName=chewing 之類的設定。 所以就可以用 perl -i -pe 's/IMName=\w+/IMName=chewing/' ./.config/fcitx/profile 更改自己的預設輸入法, 進而改成批次指令處理很多用戶。

    新增輸入法, 除了要 apt install 相關套件之外, 每一位用戶還需要改哪些地方, 可能也可以用相同的方式找出來, 不過感覺有點囉嗦, 我就沒試了 ^_^

    回覆刪除
  5. Antix 17 安裝 hime 中文輸入法
    Antix 17是款基於Debian的輕量Linux發行版
    由於hime是最接近ms下的中文輸入法框架, 所以這裡我們選擇裝它

    sudo apt install hime*

    增加

    GTK_IM_MODULE=hime
    QT_IM_MODULE=hime
    XMODIFIERS=@im=hime

    於/etc/environment 中後, 重登即可

    P.S im-config在antix 沒啥用...

    回覆刪除

因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。