杭州飞扬 發表於 2022-1-22 14:24:00

Linux(debian-xfce) 输入法

<p>“输入法框架”是在linux中总会被提及的一个名词,它的作用是监听键盘输入,并传递出可用的中文字符。<br>
“输入法框架”英文是 “Input method”不知道为什么被翻译成输入法框架。。。。<br>
<img src="https://img2022.cnblogs.com/blog/871381/202201/871381-20220122134243442-1755196118.png"><br>
上面的图再细分一下,从输入法框架出来的中文字符常见的有三个去处:<br>
(1)XIM<br>
XIM是X protocol定义的X应用从输入法获取中文的方法。<br>
(2)Qt IM Module<br>
qt应用程序从输入法获取中文的接口<br>
(3)GTK IM Module<br>
GTK为GTK应用程序定义的获取中文字符的接口<br>
<img src="https://img2022.cnblogs.com/blog/871381/202201/871381-20220122134926044-1797037590.png"></p>
<h2 id="常见的输入法框架">常见的“输入法框架”</h2>
<p>ibus,ficxt5等等,arch wiki汇总了不少:<br>
https://wiki.archlinux.org/title/Category:Input_methods</p>
<p>”输入法框架“提供的是一种更通用的功能,具体的输入法实现基本都是基于”框架“做得,比如基于ibus的:<br>
ibus-libpinyin等,arch wiki上也有介绍:<br>
https://wiki.archlinux.org/title/IBus_(简体中文)<br>
<img src="https://img2022.cnblogs.com/blog/871381/202201/871381-20220122140510332-959520405.png"></p>
<p>linux中通过三个环境变量来把“输入法框架”指定给<code>XIM</code>, <code>QT_IM_Module</code> 或者 <code>GTK_IM_Module</code></p>
<pre><code class="language-shell">export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
</code></pre>
<p>这样一来就可以把ibus指定给<code>XIM</code>, <code>QT_IM_Module</code> 和 <code>GTK_IM_Module</code><br>
<img src="https://img2022.cnblogs.com/blog/871381/202201/871381-20220122141511106-1225828411.png"></p>
<h2 id="安装ibus-libpinyindebian">安装ibus-libpinyin(debian)</h2>
<p><code>sudo apt install ibus-libpinyin</code><br>
然后执行<code>ibus-setup</code>配置<br>
<img src="https://img2022.cnblogs.com/blog/871381/202201/871381-20220122142048765-912074292.png"><br>
<img src="https://img2022.cnblogs.com/blog/871381/202201/871381-20220122142302182-835619497.png"><br>
最后添加环境变量</p>
<pre><code class="language-shell">export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
</code></pre>
<p>重启或者重新登陆即可</p>
<h2 id="一点问题">一点问题</h2>
<p>libpinyin对于xfce的缩放支持不太好,用4k屏,放大之后,输入的时候候选词位置容易丢了</p>
<h1 id="ibus-卡死问题">ibus 卡死问题</h1>
<p>ubuntu20.04,ibus输入法,隔一段时间键盘输入就无响应,隔几秒后一下又全部输出了。多发于一段时间未输入的时候。鼠标却没有问题。<br>
之前网上的解决办法是 换其它输入法,安装compizconfig-settings-manager之类的,测试下来不能解决。记得之前去ibus的github上看,好像有提到过这个问题,但是没说解决手段<br>
看系统日志也没搜到解决方法。<br>
每次只能先用鼠标将输入法设置成en,键盘能响应了,再执行命令 ibus-daemon -rdx 重启。不想重装系统,只能忍着。<br>
后面再次搜索问题,在贴吧(具体哪个网址忘记了)里面看到别人提及的方案:rm -f ~/.cache/ibus/libpinyin&nbsp; &nbsp; &nbsp; (可能还需要重启一下ibus),发现能够解决问题。</p>
<hr>
<p>©著作权归作者所有:来自51CTO博客作者here2142的原创作品,请联系作者获取转载授权,否则将追究法律责任<br>
ubuntu ibus 输入卡顿 延迟<br>
https://blog.51cto.com/here2142/3348264</p>
<p>参考: https://zhuanlan.zhihu.com/p/425971628</p><br><br>
来源:https://www.cnblogs.com/feipeng8848/p/15833911.html
頁: [1]
查看完整版本: Linux(debian-xfce) 输入法