你可能遇到這個問題, telegram 和 gcin 搭配時, 無法正常喚起 gcin 輸入中文, 在網路上找了很多資料, 改了一些環境變數之後, 沒有其他人幸運, 你還是不能使用 gcin 輸入中文, 然後找到我寫的這篇, 很遺憾, 我要說的答案是換掉 gcin, 改用 fcitx, 這個問題本身很可能出在 gcin, 在某些組合之下, telegram 就是無法搭配 gcin 使用中文輸入。在 gcin 還沒做出修改之前, 這問題可能無解。
因為軟體改版的關係, 之前找的解法在新版可能無法使用, 這是正常的情形。
另外的建議是使用該 linux 套件提供的 gcin 和 telegram, 這樣應該會比較沒問題, 可以正常使用 gcin 在 telegram 輸入中文。
我的情形是這樣, 舊版的 ubuntu 已經沒有更新 telegram, 所以我使用官網的新版 telegram, 然後 gcin 就無法輸入中文。在一陣子推測之後, 有了以下結論。
telegram + gcin 看起來應該是 telegram 在某個版本之後, 沒有用 dynamic link qt, 造成 gcin 在某種情況下無法被叫出來, 這個會有點麻煩, 但是 fcitx 不知道使用了什麼方法, 可以正確處理這個問題。
list 1 可以看到, 從官網抓的 telegram 沒有 dynamic link qt, 可能是這個原因造成 gcin qt 模組無法正常發揮, 因為 link gcin qt 模組的 qt library 和 telegram 用的 qt library 版本可能不一樣。
list 2 L31 可以看到 dynamic link 的 qt library, 所以我才推測 gcin 的問題和 qt 有關。但如果都使用 xim 的話, 不應該會有這種差異的, ref 2 有提到一些 qt 處理 xim 的問題, 也許就是這個差異。
另外有個方法就是重新編譯 telegram, 也許可以解決, 如果真的不想換掉 gcin, 那只好用 web 版本了。
linux 上還有其他輸入法架構, 我沒有接觸其他的輸入法架構, 不確定會不會也有類似問題。
ref:
-
Ubuntu 20.04/18.04/16.04/ 安裝最新的 gcin 中文輸入的完整步驟
-
為什麼Linux下的輸入法如此Fxxk