deepin 20手动编绎最新版fcitx5

thepoy -
deepin 20手动编绎最新版fcitx5

先上图:
截图录屏_deepin-terminal_20201230182235.png

截图录屏_选择区域_20201230181042.png

截图录屏_选择区域_20201230181105.png

截图录屏_选择区域_20201230181131.png

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
编绎

前面有说,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 && sudo make install
个性化和输入方案配置

编绎成功的话,可以先在终端里运行fcitx5命令试试,应该能正常运行,图形配置需要自己编绎了,我不需要,也就没搞。
本教程中的配置是直接修改的配置文件,建议有动手能力的还是自己去编绎图形配置界面

普通用户直接使用我的配置文件吧。
fcitx5的配置文件分别在两个文件夹中,~/.config/fcitx5~/.local/share/fcitx5

下载并解压 https://cloud.189.cn/t/zuI7jm...

网盘里的压缩包里有两个文件夹,fcitx5-config里的所有文件放进~/.config/fcitx5fcitx5-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 …
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

fcitx5deepinlinuxubuntudebian

扩展阅读

加个好友,技术交流

1628738909466805.jpg