如何现在就在 Ubuntu 20.04 用上 Fcitx 5
本文已经过期,最新的 Ubuntu 20.04 下安装 Fcitx5 正式版的方法请转向这里:
https://plumz.me/archives/12285/
一开始想了想要不要在标题写 Ubuntu,觉得还是必要的,因为目前只有 Arch Linux (和 Debian)出于套近乎和高冷的关系有了 Fcitx 5 全家桶,网上所有的关于 Fcitx 5 的安装文章全是 Arch 与 Debian 的,而且全都是相互抄袭,几乎没有 Ubuntu,我也是观察了很久 Ubuntu 的包才发现原来 Ubuntu 20.04 已经可以安装了。
1、需要安装的包
在 Ubuntu 下安装 Fcitx 5 我建议直接全家桶一把梭。
sudo apt-get install fcitx5 fcitx5-*
为什么这么做呢?因为反正你还会一把梭删掉的,如果你只是尝鲜,那么用源里的版本就可以了,如果你想要正经用,那就需要使用新版本,可以添加这个 PPA 并更新。
sudo add-apt-repository ppa:hosxy/fcitx5
sudo apt-get update
配置工具:kcm-fcitx5(内含 fcitx5-config-qt),然而 Ubuntu 没有,这个包是属于高贵的 Arch 的。
同时在 Ubuntu 20.04 下,可以和 Fcitx4 共存,甚至可以切换。(如果你安装 PPA 版本,就无法共存了)
2、环境变量和启动
和 Fcitx4 的设置一致即可,打开 Application,找到 input-method 设置,可以看到出现了 Fcitx 与 Fcitx 5 两个选项,选择 5 就行了。
设置完毕后注销后重新登陆就可以启用你的 Fcitx 5 输入法了。但是需要注意的是,Fcitx5 没有进程自动启动,你可以开个终端先运行一下 Fcitx5 看看是不是出现了图标。
如果你真的决定要用 Fcitx 5 了,记得添加一个自启动。
3、配置
运行 Fcitx 5 在 Gnome shell 下默认是没有配置工具的,也不知道怎么配置码表,你只能改配置文件:
vim ~/.config/fcitx5/profile
[Groups/0]
# Group Name
Name=Default
# Layout
Default Layout=us
# Default Input Method
DefaultIM=pinyin
[Groups/0/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=
[Groups/0/Items/1]
# Name
Name=pinyin
# Layout
Layout=
[GroupOrder]
0=Default
一定要在 Fcitx 5 不运行的状态下保存配置文件,不然会被覆盖。重新运行 Fcitx 5 后就可以用 Ctrl+space 启用输入法了,当然了,只有拼音而已。
目前没有对拼音和码表的数据的迁移工具,需要重新训练,但应该用起来已经不错了。拼音的 bug(如果有)应该会比码表少一些。
当然如果你使用了别的并没有改变库的其他输入法数据基本可以直接拿过来用。路径会有所不同,在 Fcitx 5 中路径将变为更加标准的 ~/.local/share/fcitx5 ,配置文件还是主要存放在 ~/.config/fcitx5。
默认启动后并不会添加其他输入法,可以通过配置工具进行添加。如果你不是 KDE 和 Arch,你就只能改配置文件了,而且也没有文档说明,譬如现在都没有人告诉你怎么增加选字,怎么设置按钮,网络上的关于 Fcitx 5 的 Arch Linux 用户的配置教程都是你抄我我抄你,配置文件都是一模一样的,就是写一篇说自己用上 Fcitx 5 了,然后把别人的教程全篇复制一下而已,就和我这篇一样。
4、功能
关于键盘布局方面有较大区别,系统键盘布局现在和一个新的「分组」的概念绑定,同一个分组里的键盘布局是直接通过 xkbcommon 进行模拟,而不是采用修改系统键盘布局的方式。因此也不再有针对 ~/.Xmodmap 的支持,如果需要修改常见的设置(例如交换 Ctrl Esc)建议使用 xkb option 进行修改。
拼音相比原来的「自带拼音」有不少新增的功能,例如多词库,Emoji等,可以通过配置工具那边自行浏览。
5、Gnome-shell 下使用须知
众所周知,网络上吹 Fcitx 5 的用户大多数都是 Arch Linux 用户、而且用的都是 KDE,没有人告诉你 Gnome-shell 要怎么办,不过万幸的是伟大的囧脸的 Gnome shell 插件是支持 Fcitx 5 的,因为用的都是 Kimpanel,也就是说,装了这个 Gnome-shell extension,无论你是 Fcitx 4 还是 Fcitx 5,都是可以用的,赞美囧脸!
不过这个插件在 Gnome 官方的 Extension 网站上的版本有一些问题:
- 快速打字的时候会出现部分内容显示不全
- 多显示器的时候会跨越显示器出现选字框
- 锁屏后解锁会出现两个 Indicator
不过这三个问题都已经被囧脸修复了,赞美囧脸!
安装的话还是推荐安装 git 的版本,因为官方的还没有更新:
https://github.com/wengxt/gnome-shell-extension-kimpanel
安装依赖:gettext cmake 后直接在目录下运行 ./install.sh 就可以了,记得把原本的插件删掉再装。
噢对了,最后一个问题比较尴尬,看起来囧脸只是修复了 Fcitx 4 的版本而没有修复 Fcitx 5 版本,不过对于 Fcitx 4 来说很简单,在设置里关闭 dbus 插件把自带的 indicator 禁用就可以了,也不需要自己编译新版了。
6、总结
总而言之 Fcitx 5 目前对于以下用户有尝鲜的意义:
- 只使用 Arch Linux,或使用被 Archer 赶出家园的 Manjaro 发行版用户。因为 Debian 和 Ubuntu 的包更新非常慢,而且几乎是不会被更新的(除非出新版)。Ubuntu 作为鄙视链低端的发行版,PPA 也没有,Fcitx 5 新出的一些功能都无法测试。
- 只使用拼音输入法的用户,因为 Fcitx5-mocz 包在 Ubuntu 下没有,Arch 下似乎也不太好用。
- 只使用 KDE 的用户,因为 Gnome 下就没有图形配置工具,很多配置参数也没有文档,不知道怎么办。
而且 Fcitx 5 目前用起来也有一些问题,主要体现的就是中英文混输入会标点符号半角全角乱跳,还有莫名其妙的“不跟手”,因为我毕竟不是伟大的 KDE 用户,只是一条 Gnome-shell 的狗,实在是用不下去,我最后还是换回 Fcitx 4 了。
如果我有时间的话我可以考虑搞一个 Fcitx 5 的 PPA,让更多的 Ubuntu 用户加入到 fcitx5 的测试队伍中来。虽然 Ubuntu 用户早就被开除出开源社团了,但起码也应该可以嗅一下 Arch Linux 的尾气嘛。
本文无耻的致敬了囧脸的官方通稿:
https://www.csslayer.info/wordpress/fcitx-dev/%e5%a6%82%e4%bd%95%e7%8e%b0%e5%9c%a8%e5%b0%b1%e5%9c%a8-arch-linux-%e7%94%a8%e4%b8%8a-fcitx-5/
最后高呼三遍:赞美囧脸!赞美囧脸!赞美囧脸!