修复ibus在deepin下面无法使用的问题
Tofloor
poster avatar
9***8@qq.com
deepin
2018-02-08 20:04
Author
本帖最后由 lineme 于 2018-2-8 12:15 编辑

panel参数、
以及相关默认路径的冲突,
可能是
多年以来
ibus 输入法框架
无法在 deepin 下正常
使用

原因。

偶然看到一篇在别的发行版里修正 ibus 的文章:

这下,




ibus 输入法框架,是QT官方默认支持的cjk类输入法框架。

同时

它也是 Gnome 官方默认自带的输入法框架。

以及

Rethat 主持的 Flatpak 打包方案,Ubuntu主持的 Snapd 打包方案首要兼容的输入法框架。

所以

ibus 正常使用 = Linux 下的一切程序都能正常输入中文。

最关键的是:

小小输入法,可以挂载到 ibus 输入法框架下面使用,

从而避开所有兼容性问题。

方法就是,仅执行安装小小输入法:

sudo ./yong-tool.sh --install

不执行 im-config 去选中 『yong』输入法框架的那一步,

转而,在 ibus 的首选项里,添加『汉语 - yong』

@wangyong

把输入法做成可以寄生在 ibus输入法框架下的种类

可以从源头避免一切形式的『兼容性问题』,

这个主意真是棒极了,再也不用去编译什么 QT输入法插件了。

也不用去考虑在这里能用,在那里不能用的问题了。




Reply Favorite View the author
All Replies
avatar
wangyong
deepin
2018-02-08 21:20
#1
ibus Python 实现的,慢不说,作者都不维护了.

也就国外那些从来不会输入中文,只会看输入法代码的人才会选择ibus
Reply View the author
Comments
lineme
2018-02-08 21:58
如果不现在就考虑QT下的解决办法,未来用户在第三方QT类程序下用deepin输入法也是老大难问题。
avatar
9***8@qq.com
deepin
2018-02-08 21:41
#2
本帖最后由 lineme 于 2018-2-8 13:47 编辑
https://bbs.deepin.org/post/153057
ibus Python 实现的,慢不说,作者都不维护了.

也就国外那些从来不会输入中文,只会看输入法代码的人才会 ...

那没办法啊,
QT下连Fcitx都老大难,
你可能还不知道,
最近QT版本更新
QT5.9.3及其以上版本,都不再兼容旧版的输入法插件了。
在系统的QT库目录下,却只能有一个指定输入法框架的QT输入法插件。
如果A需要依赖QT5.6,而B需要依赖QT5.9,
那么你只能选择,
用A时,换成QT5.6的插件;
用B时,换成QT5.9的插件;
Deepin全家桶都是QT5.6,如果装了QT5.9的程序版本,就非常蛋疼了。
ibus 本质上是一个输入法框架,可以像小小输入法那样,拥有自己的主程序,只是挂载到它的接口下使用。
这点来讲,是无损输入法程序的功能和效率的。

作为一个独立的输入法框架使用时,在QT程序的兼容性上,除了QT官方支持的ibus以外,
其它所有输入法,都只能选择自备输入法动态链接库,不论是 Fcitx,还是 yong,都不例外,
这是QT那愚蠢的API协议写死的。


Reply View the author
avatar
9***8@qq.com
deepin
2018-02-08 21:52
#3
https://bbs.deepin.org/post/153057
ibus Python 实现的,慢不说,作者都不维护了.

也就国外那些从来不会输入中文,只会看输入法代码的人才会 ...

QT 默认仅支持 ibus,Gnome 和 Flatpak 也一样。
这个现实,恐怕大家都改变不了。
用到第三方程序是无法避免的,遇到不兼容也是无法避免的。
即便是 DDE ,在系统的QT插件目录那里换了不同版本的输入法插件,
也一样无法输入中文。
奈之若何?
Reply View the author
avatar
9***8@qq.com
deepin
2018-02-08 22:06
#4
QT程序下的中文输入困境:

遇到那些以deb打包,会向操作系统借调系统库的程序,大不了编译个对等版本的输入法插件,

长久以来,Fcitx 就是这样解决中文输入法无法使用的问题的。

但是,

现在很流行二进制绿色单行版的软件,AppImage之类。

比如『Telegram』,『为知笔记』,都是这样打包的,

它们根本不去借调系统的输入法插件,

你怎么办?只能手动编译,把输入法的插件封装到包里面,除此之外,别无他法。

它们默认只支持 ibus ,因为这其实是 QT 的锅。
Reply View the author
avatar
9***8@qq.com
deepin
2018-07-21 05:37
#5
DEEPIN 从善如流,最新的15.6版中已经修复了这个问题(如下图),现在ibus可以正常使用了。

小小输入法,可以寄挂到 ibus 下使用,虽然因 ibus 的框架陈旧,存在着光标不跟随的问题,但至少可以在QT类程序下输入汉字了。

QT官方内置了对ibus的支持,fcitx或小小输入法单独支持需要手动编译QT插件,相当恶心。



Reply View the author
avatar
linusboyle
deepin
2018-07-21 05:45
#6
ibus和fcitx都不怎么喜欢,各有bug
yong又用不惯,rime又不能单独使用……
linux的输入法真的坑
Reply View the author
avatar
zhaozhendong
deepin
2018-09-05 22:20
#7
https://bbs.deepin.org/post/153057
QT程序下的中文输入困境:

遇到那些以deb打包,会向操作系统借调系统库的程序,大不了编译个对等版本的输 ...

今天总算知道了,为啥 升级15.7后,为知不能输入中文了,但放知的appimage的绿色包可以输入中文 ,而deepin 那又修复不了问题,原来原面在这。
看楼下兄弟说deepin 可以用ibus了,还是去换了吧,反正我用五笔,用不用fcitx都一样
Reply View the author
avatar
qq420100523
deepin
2018-09-06 00:53
#8
https://bbs.deepin.org/post/153057
ibus Python 实现的,慢不说,作者都不维护了.

也就国外那些从来不会输入中文,只会看输入法代码的人才会 ...

不是已经用C重构了嘛,听说的
Reply View the author