伟大的囧脸终于发布了 Fcitx 5 正式版,虽然他没有写什么正经的发布日志,只是在自己的邮件列表里发了一封信,我约莫着大部分人都不知道有这回事。
但这不重要!
Fcitx 5 正式版还是发布了,而且撸一管的功夫,都变成 Fcitx 5.0.2 了!
虽然高贵的 Arch 用户已经无缝用上了,但是对于比较惨的非 Arch 用户,用 Fcitx 5 就很惨了,要么你自己打包,要么你求那些傲慢的打包者去打包,要么你自己编译安装。
而且编译也不一定能安装,因为 Fcitx 要求 QT 版本大于等于 5.15,大部分 Ubutnu 20.04.1 的用户的 QT 版本还是 5.12 呢!
不过伟大的囧脸给了我们一个解决方案,使用 Flatpak 安装最新的 Fcitx 5.0.2,基本可以完美使用,而且还能保证和主线更新。
我也是第一次发现这他娘的输入法也可以用 Flatpak 装,果然还是囧脸牛逼啊。
这里是以 Ubuntu 20.04.1 为例子,其他发行版可以参考
1,首先是安装 Fcitx4/5
因为 Flatpak 版本的 Fcitx 5 还是需要本机的 im 模块,所以个人建议还是先在机器上安装一个老版本的 Fcitx ,不管是 4 还是 5 都可以。
我个人建议就是你机器上安装好 Fcitx 并且确保能用,就可以了。
当然你也需要确保你系统支持 Flatpak, Ubuntu 下使用 Flatpak 可以参考这里:
https://plumz.me/archives/11951/
2,安装 Flatpak 版本的 Fcitx 5
# 添加 flathub 到用户级
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# 添加 fcitx5-unstable 到用户级配置
flatpak remote-add --user --if-not-exists fcitx5-unstable https://flatpak.fcitx-im.org/unstable-repo/fcitx5-unstable.flatpakrepo
flatpak install org.fcitx.Fcitx5
flatpak install org.fcitx.Fcitx5.Addon.ChineseAddons
# 例如需要 Rime: flatpak install org.fcitx.Fcitx5.Addon.Rime
# 可以用 flatpak remote-ls fcitx5-unstable 查看有哪些包
如果你需要日文输入法,也可以安装
flatpak install org.fcitx.Fcitx5.Addon.mozc
不过这个源的速度可是够慢的,一开始我觉得是科学上网的问题,但是后来发现我使用了 proxychains 还是那么慢……不过到凌晨时段就很快了。
如果你死活更新不了源或者下载速度太慢,两个建议:
- 找个速度快的科学上网方法
- 凌晨爬起来试试,没准有奇迹
3,设置使用输入法
安装完毕后我们就可以用这个输入法了,确保你现在的老版本 Fcitx 能用之后,我们只需要修改一下启动项就行了。
Ubuntu 20.04 下,修改
sudo vim /usr/share/im-config/data/22_fcitx.rc
注释掉:
/usr/bin/fcitx -d 2> /dev/null &
增加:
flatpak run org.fcitx.Fcitx5 -d 2> /dev/null&
(请忽略掉配图中的句子,那个是不完整的。)
重启电脑之后,应该你会发现输入法已经正常运转了,你已经用上了最新的 Fcitx 5.0.2 了
吐槽:
输入法用到现在,基本没有什么大问题,大部分场景都可以使用,但还是有一些小情况,这里列举一下:
- 我使用的是 Gnome-Shell,在用 Kimpanel 插件的时候,偶尔切换输入法会出现输入法提示“pinyin”“mozc”之类的框体显示不正常的情况,不过重新切换一次就消失了,目前还没找到重现的规律,找到了我再报 Bug
- 在 WPS 下无法启用输入法,尝试了 Flatpak 版本的 WPS 还是 deb 包的 WPS,都无法启用输入法,尝试在启动脚本里 export QT_IM_MODULE,无论是 fcitx 还是 fcitx5都依然无效,换回老的 Fcitx 4 则正常,看了下这是一个老问题了,不过这里有一个简单粗暴的修复方法。
- flatpak 版本的 fcitx 似乎是可以按照正常方式使用网上的词库的
- mozc 输入法的图标是破损的
- 输入拼音后自动出现 emoji 的功能我这里不正常,不知道是 flatpak 版本没有,还是这个功能本身有问题
- Telegram 下使用输入法,会发现跟随的目标不是最后的光标,而是“最后输入完成的句子尾部”
- 不使用 Gnome-shell 的 Kimpanel 插件的话,你可以使用各种皮肤,但是可能会让你觉得皮肤里的字体渲染很难看,你可以把 /etc/fonts/ 里的配置文件拷贝到 ~/.var/app/org.fcitx.Fcitx5/config/fontconfig 中,当然你做链接也可以,修复字体渲染问题。
总而言之,有问题的话欢迎大家去找囧脸报 Bug。
https://github.com/fcitx/flatpak-fcitx5/
囧脸官方通稿:
https://www.csslayer.info/wordpress/fcitx-dev/fcitx5-on-flatpak/
Fuck Flatpak, all my homies use OBS and hate Flatpak.
拼音里面 emoji 本质只是单独挂一个词库,应该是总是可用的,现在这个可能主要是概率分配问题,两字 emoji 排的特别靠后其实……你往后翻几页可能就看见了,这个具体我可能还得调整一下
Mozc 更新就完事了
fontconfig 我估摸我应该加一个参数就行,flatpak 内应该是默认有系统的字体目录,这样就直接能读到系统的 fontconfig 了
gnome-shell 那个我还没研究
wps 我是没想到我不得不返回去支持 fcitx 4 的 dbus 接口(原本我的计划是 fcitx 4 的im module 能支持 fcitx 5 然后能平滑都过渡到 fcitx 5 的,所以 fcitx 5 只有自己的接口),这个代码我顺便交给别人去写练手了…
具体情况其实故事更复杂一点,wps 的 fcitx im module 他们还不是用我写的那个,因为过去是 GPL 他们结果自己实现了一套,结果就没办法很容易更新到比较新的 fcitx 4 的 im module(如果更新的话实际上就能自动支持 fcitx 5 了),我之前为了这个顺便把 fcitx 4 的 qt 4 im module relicense 了一下成 bsd 联系他们说可以直接替换不用担心 GPL,但是似乎他们也没进行任何操作……
网速的问题……我那服务器在芬兰好像,那我也莫得办法啊,我可以问问有没有能帮忙镜像的
我看还要安装org.kde.Platform.Locale,300多M?可是我们用的gnome啊
还有一件事,词库fcitx5-pinyin-zhwiki这种好像也没有
a 好 article! hello friend, I follow your instruction but when I type flatpak install org.fcitx.Fcitx5.Addon.Rime in terminal, I got error message: Can't check signature: public key not found. My OS is Linux Mint 20.01(Ubuntu 20.04 LTS based), I search it and it's about lack of public key of fcitx author. So where to find and import it? Thank you! I cannot type Chines because I have no input method installed.