解决Telegram Desktop 及其他 Qt 软件在 GNOME Wayland 下的 iBus 中文输入问题

黑暗森林
• 阅读 3164

剛更新了桌面,發覺在 Telegram Desktop 上無法輸入中文。當然可以使用耐性去慢慢在其他地方打字剪貼,但速度實在太慢,何況明明簡單的打字問題,正常人又怎會甘心?

思前想後,決定去報告問題。然後在 ilya-fedin 大大的協助下,發現較新版本的 iBus 會參考 $WAYLAND_DISPLAY 參數決定 socket 的名稱,而 Qt 暫時還未適應這個轉變,而引用了錯誤的 iBus socket,導致無法收到任何 iBus 的輸入,而只能顯示英文字母。

同樣的問題應該適用於 .deb / .rpm / tarball 安裝的任何 Qt 軟件。

為甚麼使用 Flatpak 沙盒包裝反而沒有問題?

神奇地,經過測試,發現使用 Flatpak 沙盒包裝)的 Telegram Desktop 反而不受影響。當初明明 Flatpak 對於 iBus 有水土不服,為甚麼現在反而克服了?

原來為了解決 Flatpak 環境的輸入問題,Flatpak 修改了軟件與輸入法溝通的特性,不會透過正常的 org.freedesktop.portal.IBus 介面接受輸入,改用 org.freedesktop.IBus.Portal 介面。

除了使用 Flatpak 打包外,你也可以用環境參數IBUS_USE_PORTAL=1強迫普通 Linux 包裝軟件轉用相同的特性 [參考],Qt 也已經引入相關的特性。這個大概是為了方便除錯測試的功能,意外地能幫上忙。

解決方法

為了一次過解決所有 Qt 軟件的輸入問題,可不能逐個 .desktop 檔案修改加入IBUS_USE_PORTAL=1吧,比較正當的方法是將IBUS_USE_PORTAL=1加入全域參數,所有 Qt 軟件一起受惠。

經過一點閱讀,最穩妥的做法是使用 freedesktop.org標準用戶 session 環境設定檔位置 $HOME/.config/environment.d/*.conf去處理︰

mkdir -p $HOME/.config/environment.d
echo "IBUS_USE_PORTAL=1" > $HOME/.config/environment.d/99-ibus-use-portal.conf

加入之後重啟電腦(不知為甚麼,單純登出登入無用),再進入 Telegram Desktop 或者其他 Qt 軟件,你便能正常輸入中文︰

解决Telegram Desktop 及其他 Qt 软件在 GNOME Wayland 下的 iBus 中文输入问题

解决Telegram Desktop 及其他 Qt 软件在 GNOME Wayland 下的 iBus 中文输入问题

中文字能出來了!

希望這個方法也能解決你的問題。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Stella981 Stella981
3年前
AutoCAD神器! AutoCAD自动切换中英文输入法插件(ZDSRF)
AutoCAD神器!AutoCAD自动切换中英文输入法插件(一)功能特点:CAD命令中只能输入英文字符,不能输入中文,在文字编辑、文字输入、尺寸编辑中经常需要输入中文,此时就需要频繁的切换输入法,不仅经常引起错误,而且严重影响工作效率。本软件可以实现在需要输入中文时自动切换成中文输入法,输入完毕后再自动切换为英文输入法,具体功能如下
Wesley13 Wesley13
3年前
ubuntu下设置webstorm支持中文
ubuntu系统使用webstorm代码编写时添加中文注解发现在中文输入法下无法在IDE中输入中文字体。有问题,当然先谷歌咯,发现解决方法如下:1,打开webstorm安装路径下的bin/webstorm.sh文件2,在文件最前面添加如下代码:exportXMODIFIERS"@imfcitx"exportGTK
Stella981 Stella981
3年前
Linux安装搜狗输入法
本系统使用Ubuntu16.04LTS安装中文输入法Ubuntu17.04中支持IBUS,fcitx等输入法框架。分别介绍两种框架下的中文输入法安装:1.IBUS框架下的拼音输入法1.1在UbuntuSoftware搜索“pinyin”,安装列表中第一个;1.2在系统设置LanguageSupport中将“Keyboard
Stella981 Stella981
3年前
KaliTools说明书+BurpSuit实战指南+SQL注入知识库+国外渗透报告
!(https://oscimg.oschina.net/oscnet/d1c876a571bb41a7942dd9752f68632e.gif"15254461546.gif")0X00KaliLinux Tools中文说明书!(https://oscimg.oschina.net/oscnet/
Stella981 Stella981
3年前
CentOS 6.5 下安装及使用中文输入法
第一次在本机环境下搭载Linux环境,但搭载后发现在CentOS6.5只能英文输入,于是试着安装并启用中文输入法,经过一翻折腾,实现了在终端和自带火狐浏览器下支持中文输入法。CentOS下安装中文语言包我在这里将通过yum命令来下载中文包,因此最好确保当前环境是联网状态。1,需要切换到root用户,输入命令:s
Stella981 Stella981
3年前
Linux Mint 17 下安装搜狗拼音输入法
LinuxMint不像Ubuntu那样默认配置了中文输入法,需要我们自己安装,下面给出安装方法及输入法所需依赖:1.sudoaddaptrepositoryppa:fcitxteam/nightly2.sudoaptgetupdate3.sudoaptgetinstallf
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
IBus拼音无法选择候选词故障
故障现象:最近Ubuntu更新后遇到IBus智能拼音(ibuslibpinyin)无法选择候选词的问题:键入拼音之后键入数字n使对应候选词上屏,结果数字n上屏了并且输入法崩溃,虽然任务栏显示是中文输入实际上使用和没有输入法一样。解决过程:1、翻了下logs应用的Applications分类的日志发现Sender为当前应用有这样的消息:Pr
Wesley13 Wesley13
3年前
Ubuntu 中文输入法安装
在Ubtuntu12.10中自带了中文输入法,可通过CtrlSpace进行输入法到切换,在英文系统中同样已经预装了ibus,只需要下载一下简体中文语言包即可。如何安装简体中文语言包?依次选择SytemSettingLanguageSupportInstall/RemoveLanguages后,将出现如下图所示窗
黑暗森林
黑暗森林
Lv1
近乡情更怯,不敢问来人。
文章
4
粉丝
0
获赞
0