zl程序教程

您现在的位置是:首页 >  系统

当前栏目

Linux(debian-xfce) 输入法

Linux 输入法 Debian
2023-09-11 14:18:38 时间

“输入法框架”是在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_ModuleGTK_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屏,放大之后,输入的时候候选词位置容易丢了

ibus 卡死问题

ubuntu20.04,ibus输入法,隔一段时间键盘输入就无响应,隔几秒后一下又全部输出了。多发于一段时间未输入的时候。鼠标却没有问题。
之前网上的解决办法是 换其它输入法,安装compizconfig-settings-manager之类的,测试下来不能解决。记得之前去ibus的github上看,好像有提到过这个问题,但是没说解决手段
看系统日志也没搜到解决方法。
每次只能先用鼠标将输入法设置成en,键盘能响应了,再执行命令 ibus-daemon -rdx 重启。不想重装系统,只能忍着。
后面再次搜索问题,在贴吧(具体哪个网址忘记了)里面看到别人提及的方案:rm -f ~/.cache/ibus/libpinyin      (可能还需要重启一下ibus),发现能够解决问题。


©著作权归作者所有:来自51CTO博客作者here2142的原创作品,请联系作者获取转载授权,否则将追究法律责任
ubuntu ibus 输入卡顿 延迟
https://blog.51cto.com/here2142/3348264

参考: https://zhuanlan.zhihu.com/p/425971628