“输入法框架”是在linux中总会被提及的一个名词,它的作用是监听键盘输入,并传递出可用的中文字符。
“输入法框架”英文是 “Input method”不知道为什么被翻译成输入法框架。。。。
上面的图再细分一下,从输入法框架出来的中文字符常见的有三个去处:
(1)XIM
XIM是X protocol定义的X应用从输入法获取中文的方法。
(2)Qt IM Module
qt应用程序从输入法获取中文的接口
(3)GTK IM Module
GTK为GTK应用程序定义的获取中文字符的接口
常见的“输入法框架”
ibus,ficxt5等等,arch wiki汇总了不少:
https://wiki.archlinux.org/title/Category:Input_methods
”输入法框架“提供的是一种更通用的功能,具体的输入法实现基本都是基于”框架“做得,比如基于ibus的:
ibus-libpinyin等,arch wiki上也有介绍:
https://wiki.archlinux.org/title/IBus_(简体中文)
linux中通过三个环境变量来把“输入法框架”指定给XIM
, QT_IM_Module
或者 GTK_IM_Module
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
这样一来就可以把ibus指定给XIM
, QT_IM_Module
和 GTK_IM_Module
安装ibus-libpinyin(debian)
sudo apt install ibus-libpinyin
然后执行ibus-setup
配置
最后添加环境变量
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
重启或者重新登陆即可
一点问题
libpinyin对于xfce的缩放支持不太好,用4k屏,放大之后,输入的时候候选词位置容易丢了