当前位置: 首页 > news >正文

Linux下基于Electron的程序ibus输入法问题

Linux下基于Electron的程序ibus输入法问题


最近想体验一下KDE Plasma桌面,遇到一个问题,就是浏览器输入不了中文,Edge、Chrome都一样,当然它们都是基于Chromium的,出同样的问题很正常。后面发现Visual Code也有同样的问题,最后解决办法都是一样的,才发现它们都是基于一个很牛的框架Electron。

问题表现还是明显,就是切换到中文输入的时候,会弹出一个标题为“ibus-ui-gtk3”的窗口,虽然有时候这个缩成了一个竖线,但是任务栏里有图标,切换到这个窗口是可以用鼠标放大的。这应该就是输入法的候选字框,只是无论用什么输入法,激活这个窗口的时候,看上去也会有候选字出现,不过一激活输入目标的窗口这个窗口就缩小了,字也上不去。但是并不是所有程序都有这个问题,比如系统终端上就是好好的。最初发现问题的时候,在网上搜了很多办法,说得最多的是要求配置下面这三个环境变量:

export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx

当然,我用的是ibus肯定是要把上面的fcitx换成ibus,不过没有作用,而且桌面还会提示不要配置这几个环境变量。实在无法了,换成用fcitx输入法,倒是可以输入了,不过会跳字符,也就是按键快了之后有些键没有被fcitx收到直接到了目标窗口,看来ubuntu、fedora默认是ibus输入法的原因吧。总之,还是想换回ibus,但是必须解决这几个程序输入不了中文的问题。

最终的解决方案是:在这些程序的命令行参数里面加上

--enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4

原理是什么还不太明白,反正之前用GNOME桌面的时候没有发现这个问题。大概跟显示管理器相关。因为每一次搜索这个问题的正确解决办法都搜出一大堆无用的东西,所以把它记下来,方便需要的时候好找一些。

http://www.dtcms.com/a/344044.html

相关文章:

  • Ubuntu20系统上离线安装MongoDB
  • Kafka Broker 核心原理全解析:存储、高可用与数据同步
  • Java性能优化实战(四):IO与网络优化的4个关键方向
  • 大视协作码垛机:颠覆传统制造,开启智能工厂新纪元
  • Linux C语言中socketpair的全面应用指南:进程与线程间高效通信
  • C++---多态(一个接口多种实现)
  • 【Linux进程控制详解】
  • Windows应急响应一般思路(二)
  • 3 种无误的方式删除 Itel 手机上的短信
  • 车载 GPS 与手机导航的终极对决:谁在复杂路况下更胜一筹?
  • 开源文件加密工具【PicoCrypt】
  • [net]基于asp.net的校园网站的设计与实现/基于c#的校园论坛系统的设计与实现
  • 微软获评2025年Gartner®容器管理魔力象限™领导者
  • 深度学习在股票量化中的应用
  • AP服务发现PRS_SOMEIPSD_00160的解析
  • 项目中优惠券计算逻辑全解析(处理高并发)
  • 河南萌新联赛2025第(六)场:郑州大学(补题)
  • Unity UnityWebRequest高级操作
  • Masked Language Model 如何重塑大模型的预训练
  • 如何轻松永久删除 Android 手机上的短信
  • 如何从根源上理解并解决前端的CORS跨域问题
  • apt update Ign and 404 Not Found
  • docker cuda版安装 dockercuda版安装
  • 哪款云手机比较好用呢?
  • 链式法则解释上游梯度应用
  • 《Windows Server 2022》 [2025年8月版 ] [官方IOS] 下载
  • 设计模式:抽象工厂模式
  • DeepSeek辅助编写的测试xlsx文件写入性能的程序
  • 多线程下为什么用ConcurrentHashMap而不是HashMap
  • Python万里长征6(非教程)pandas筛选数据三基础、三核心、三高级