V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ety001
V2EX  ›  问与答

Linux 下输入法开发的难度或者坑在哪些方面?

  •  
  •   ety001 · 2019-12-12 19:24:24 +08:00 · 2242 次点击
    这是一个创建于 1804 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如涉及到 Gtk2 / Gtk3 / Qt4 / Qt5.

    我本人不是 Linux 程序员,提出问题只是想了解下现有体系下到底有多少坑。

    PS:

    我是使用 Manjaro 系统,前段时间升级 Wine 后,搜狗拼音就没法用了,原因是新版本 Wine 里面有个坑,所以回退了 Wine 的版本。
    后来又一次滚动升级后,Telegram 没法用输入法了,解决方案是在启动器的命令前加上 QT_IM_MODULE 环境变量。

    刚刚又滚动升级了,发现 Chromium 浏览器和 Firefox 浏览器,也没法用输入法了,目前还没有找到解决方法。
    第 1 条附言  ·  2019-12-13 10:54:46 +08:00
    我觉得我的问题,除了 fcitx 或者 ibus 的开发团队成员外,其他人应该回答不到我想要的那个点。结贴吧。

    以后有时间了,去研究下 fcitx 的源码看看吧。
    第 2 条附言  ·  2019-12-13 13:21:11 +08:00

    这次的锅是滚动升级gtk导致的。

    手动删除 /usr/lib32/gtk-2.0/2.10.0/immodules.cache/usr/lib32/gtk-3.0/3.0.0/immodules.cache 后,重启系统,问题解决。

    所以这也是我开此贴问问题的根本原因。像开源社区由于组织松散,很多人贡献代码,像这种类型的坑肯定很多,那有没有方法去避免?

    8 条回复    2019-12-13 13:22:24 +08:00
    ym1ng
        1
    ym1ng  
       2019-12-12 20:09:01 +08:00
    搜狗有 linux 版本啊(手动狗头
    lexuskingxx
        2
    lexuskingxx  
       2019-12-13 09:57:25 +08:00 via iPhone
    用的好好的就不要随便升级,昨天我 tg 用不了输入法,折腾我一天才搞定
    andyhuzhill
        3
    andyhuzhill  
       2019-12-13 10:00:51 +08:00
    @ym1ng #1 很早就有了 之前参加过一次 ubuntu release party 上面介绍搜狗 linux 版时 还用了一个跪在电脑前修 bug 的照片
    superrichman
        4
    superrichman  
       2019-12-13 10:36:07 +08:00
    换 rime, 装好 qt5
    pacman -S fcitx fcitx-configtool fcitx-rime fcitx-qt5
    我一直跟着滚的, 没问题
    ety001
        5
    ety001  
    OP
       2019-12-13 10:52:27 +08:00
    @superrichman 感谢回复,我觉得我目前遇到的问题不在于搜狗拼音,而是在于 fcitx 上。我也尝试了装 rime,一样的效果,在浏览器下根本无法调起输入法。
    ety001
        6
    ety001  
    OP
       2019-12-13 10:53:13 +08:00
    @lexuskingxx 用 arch 的,哪有不滚动升级的?
    superrichman
        7
    superrichman  
       2019-12-13 10:59:04 +08:00   ❤️ 1
    @ety001 ~/.xprofile 加上
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS="@im=fcitx"
    重启一下
    ety001
        8
    ety001  
    OP
       2019-12-13 13:22:24 +08:00
    @superrichman 不是环境变量的问题,通过 `fcitx-diagnose` 发现是 gtk 的缓存问题,手动删除掉缓存,重启解决了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5376 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:30 · PVG 15:30 · LAX 23:30 · JFK 02:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.