先上图:
fcitx5在github上,如果没有科学上网,clone时会以个位数的网速下载,所以我把当前(2020-12-30)最新版clone到gitee上供大家快速clone。
xcb-imdkit:
git clone https://gitee.com/thepoy/xcb-imdkit.git
fcitx5:
git clone https://gitee.com/thepoy/fcitx5.git
我只用rime,所以只提供fcitx5-rime
git clone https://gitee.com/thepoy/fcitx5-rime.git
安装所需依赖
deepin 20基于debian10,用到的也都是一样的依赖,但是deepin 20的gcc有问题,编绎时需要用clang替换。
下面的依赖是我在编绎时一个一个记录的,可能会遗露一两个,不能保证已经把全部的依赖都写上了。
sudo apt install cmake build-essential extra-cmake-modules libdbus-1-dev libevent-dev gettext libfmt-dev libxcb-util0-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-keysyms1-dev libxcb-xinerama0-dev libxcb-xkb-dev libcairo2-dev libxkbfile-dev libxkbcommon-dev libxkbcommon-x11-dev libjson-c-dev libsdl-pango-dev libgdk-pixbuf2.0-dev libwayland-dev wayland-protocols libenchant-dev libsystemd-dev libegl1-mesa-dev librime-dev appstream clang uthash-dev libxcb-randr0-dev libxcb-xfixes0-dev
编绎
前面有说,deepin 20的gcc不能正常编绎,在编绎时换为clang:
export CC=/usr/bin/clang && export CXX=/usr/bin/clang++
首先编绎xcb-imdkit,编绎命令:
# 进入你clone的fcitx5根目录,假设在主目录下
cd ~/xcb-imdkit
mkdir build && cd $_ && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make && sudo make install
有错误也只可能在编绎这一步
编绎fcitx5和fcitx5-rime同理,编绎:
mkdir build && cd $_ && cmake .. && make -j`nproc` && sudo make install
个性化和输入方案配置
编绎成功的话,可以先在终端里运行fcitx5命令试试,应该能正常运行,图形配置需要自己编绎了,我不需要,也就没搞。
本教程中的配置是直接修改的配置文件,建议有动手能力的还是自己去编绎图形配置界面
。
普通用户直接使用我的配置文件吧。
fcitx5的配置文件分别在两个文件夹中,~/.config/fcitx5
和~/.local/share/fcitx5
。
下载并解压 https://cloud.189.cn/t/zuI7jm...
网盘里的压缩包里有两个文件夹,fcitx5-config
里的所有文件放进~/.config/fcitx5
,fcitx5-themes
里的所有文件放进~/.local/share/fcitx5
。
<u>这里需要命令吗?</u>
输入法设置
卸载fcitx/fctix4:
sudo apt autoremove fcitx-bin
设置默认输入法,创建或修改.xinputrc
:
vim ~/.xinputrc
将下面环境变量复制进去:
# 注意,此处变量的值是fcitx,而不是fcitx5,不要写错了
export INPUT_METHOD=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
完成后fcitx5即为默认输入法,注销即可体验。
另外,关于fcitx5的自启,deepin 20上在安装好的软件图标上右键就有一个自启的选项,能够完成自启。
一些问题
1 wps不能输入中文
根据冏脸(也就是fcitx作者)的说法,wps使用的fcitx module可能有些旧,所以不能正常调用fcitx5,想要在wps里使用fcitx5,只能使用xim。
正常来说,为wps增加运行时环境变量的方法有两种,一种在修改desktop的Exec
,在原命令前添加env QT_IM_MODULE=xim
,但我试了,这样添加的环境变量无效。
于是只能使用最不值得推荐的方法,直接修改wps命令脚本。
依次修改文件:
sudo vim /opt/apps/cn.wps.wps-office/files/bin/wps
sudo vim /opt/apps/cn.wps.wps-office/files/bin/wpp
sudo vim /opt/apps/cn.wps.wps-office/files/bin/et
在文件头下面添加行:
export QT_IM_MODULE=xim
添加后如下所示:
#!/bin/bash
export QT_IM_MODULE=xim # 这是添加后的环境变量
gOpt=
#gOptExt=-multiply
...
因为调用的不是fcitx5模块,而是xim模块,所以单行模式就会失效,只能等wps更新对fcitx5的支持才能使用单行模式了。
不值得推荐的原因是,如果wps更新后,此文件可能就会被替换,也就是说更新后需要重新添加此行。
如果不想每次更新都添加此行,可采取将修改后的三个命令文件复制进.local/bin
下,并将/usr/share/applications/
里的wps相关desktop复制到~/.local/share/applications
里,这样的话更新wps后不需要再修改命令文件就能正常输入中文,但这也有个问题,就是如果wps更新时添加了对fcitx5的支持,那么这样修改就不太合适。
各位各取所需吧,根据自己的想法修改。
冏脸给出的修复wps中文输入的方法:
只是 WPS 的话,你可以试试单独设置 QT4_IM_MODULE ,这样不影响 Qt 5 的
另外 WPS 设置成 fcitx5 只是让他 fallback 到 xim 而已。要么你就直接 QT4_IM_MODULE=xim …
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。