Ubuntu 18.04 编译安装最新ibus-rime

Rime

https://github.com/rime/home

Rime是目前维护比较活跃的输入法。

Linux上的Rime支持ibusfcitx,这里讲述如何安装支持ibusibus-rime

Ibus-Rime

源码:https://github.com/rime/ibus-rime

Environment:

  • Ubuntu 18.04

安装依赖

apt install build-essential git cmake
apt install libboost-dev
apt install libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-locale-dev
apt install libgoogle-glog-dev
apt install libyaml-cpp-dev
apt install libleveldb-dev
apt install libmarisa-dev
apt install libopencc-dev
apt install libibus-1.0-dev

Gtest 库比较特别,需要编译 :

apt-get install libgtest-dev -y
cd /usr/src/gtest
cmake CMakeLists.txt
make
 
# copy or symlink libgtest.a and libgtest_main.a to your /usr/lib folder
cp *.a /usr/lib

编译与安装

git clone --recursive https://github.com/rime/ibus-rime.git
cd ibus-rime
# do this as normal user
./install.sh

重新加载ibus-daemon

ibus-daemon -drx

安装五笔输入

wubi86使用时若需要拼音反查,需要pinyin_simp。使用官方推荐的plum安装(此命令不只安装五笔输入):

curl -fsSL https://git.io/rime-install | bash

配置

配置默认输入法

将五笔86输入配置为默认的输入法,新建文件,填入如下内容以覆盖default.yaml的对应配置:

Rime使用patch的方式来覆盖默认配置。

cat >>  ~/.config/ibus/rimedefault.custom.yaml << EOF
patch:
  schema_list:
    - schema: wubi86
    - schema: pinyin_simp
EOF

配置上屏模式

很多时候我们想输入英文,但现在的输入模式是中文,并且用户并不知道现在的输入模式是中文。我们可能会在「中文模式」下打出一段“英文”,然后按 Shift 切换到「英文模式」那么已经输入的那段“英文”应当如何处理呢?RIME 提供了五种策略:

  • inline_ascii: 在输入法的临时英文编辑区内输入字母、数字、符号、空格等,回车上屏后自动复位到中文

  • commit_text: 已输入的候选文字上屏并切换至西文输入模式

  • commit_code: 已输入的编码字符上屏并切换至西文输入模式

  • clear: 丢弃已输入的内容并切换至西文输入模式

  • noop: 屏蔽该切换键

想要修改 Shift 的上词方式为 commit_code

default.yaml 中有如下配置:

ascii_composer:  
  good_old_caps_lock: true  
  switch_key:    
    Shift_L: commit_text

然后重新部署以加载配置

1558431820247.png

我的配置文件

~/.config/ibus/rime/default.custom.yaml:

patch:
  schema_list:
    - schema: wubi86
    - schema: pinyin_simp
  switcher:
    abbreviate_options: true
    caption: "〔方案選單〕"
    fold_options: true
    option_list_separator: "/"
    save_options:
      - full_shape
      - ascii_punct
      - simplification
      - extended_charset
  ascii_composer:  
    good_old_caps_lock: true  
    switch_key:    
      Shift_L: commit_code

~/.config/ibus/rime/wubi86.custom.yaml:

patch:
  speller:
    max_code_length: 4 # 最长4码
    auto_select: true  # 顶字上屏
    auto_select_unique_candidate: true # 无重码自动上屏

Ref: https://mogeko.me/2018/031/

安装至非编译环境

场景:一台Ubuntu 18.04需要安装最新版ibus-rime(比如,18.04仓库版ibus-rime不支持中英切换时icon相应变换),但又不想安装编译依赖环境。

可以如下操作:

  • 在相应的Ubuntu 18.04上编译安装最新的ibus-rime,如在Docker Ubuntu 18.04中。
  • 将编译好的整个目录复制到需要更新ibus-rime的Ubuntu中,进入目录下执行make install,其实此命令进行了如下操作:
install -m 755 -d /usr/share/ibus/component
install -m 644 -t /usr/share/ibus/component/ rime.xml
install -m 755 -d /usr/lib/ibus-rime
install -m 755 -t /usr/lib/ibus-rime/ build/ibus-engine-rime
install -m 755 -d /usr/share/ibus-rime
install -m 755 -d /usr/share/ibus-rime/icons
install -m 644 -t /usr/share/ibus-rime/icons/ icons/*.png
  • 执行ibus-daemon -drx重新加载ibus。

附:搭建编译的Docker环境

在Ubuntu 18.04中开启一个编译ibus-rime的Docker环境,并将已经下载的ibus-rime源码(~/Downloads/ibus-rime)映射至Docker内:

docker run --name=ibus-rime  -it -v ~/Downloads/ibus-rime:/root/ibus-rime ubuntu:18.04 bash

编译完后,将Docker内的编译好的ibus-rime内容复制至host中。

docker cp ibus-rime:/root/ibus-rime /home/jack/Downloads/ibus-rime-build

PS
Ubuntu 18.04 默认使用snap安装docker,docker镜像配置如下:
/var/snap/docker/current/config/daemon.json

{
    "log-level":        "error",
    "storage-driver":   "aufs",
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

然后重启Docker

sudo snap restart docker

你可能感兴趣的:(Ubuntu 18.04 编译安装最新ibus-rime)