linux ibus rime 中文输入法,快速设置为:默认简体 (****)

本文环境:

ubuntu 22.04

直接 apt install ibus-rime

输入法的安全性,人们应该关注吧!!??

云输入法?将用户的输入信息传输到云端吗?恐怕很多人的银行账户和密码,早就上传到云端了吧?

Rime 等的一些输入法,是本地的,心里感觉好像踏实一些吧?

Linux 输入法安装的相对安全方法,到 linux 发行版的官方仓库里找,心里感觉会好一些吧?但也不一定的,毕竟这是一个连 BB 机和对讲机都能放鞭炮的时代。

参考:

Rime 鼠须管(Squirrel)朙月拼音、小鹤双拼、自然码双拼配置详解 https://github.com/ssnhd/rime

rime 官方 RimeWithSchemata https://github.com/rime/home/wiki/RimeWithSchemata

Ubuntu 上安装使用 ibus-rime(超实用) Ubuntu 上安装使用 ibus-rime(超实用) - keatonlao - 博客园

iBus-rime 初步设置 笔记:配置ibus-rime中文输入法 - Kassadin's Blog


关联参考:

Linux 自定义中文字体( mkfontscale mkfontdir fc-cache -fv命令 ) (****) https://blog.csdn.net/ken2232/article/details/144547449

linux ibus rime 中文输入法,快速设置为:默认简体 (****) linux ibus rime 中文输入法,快速设置为:默认简体 (****)-CSDN博客

Ubuntu 上安装使用 ibus-rime 原理与问题汇集 https://blog.csdn.net/ken2232/article/details/144548775

====================================

linux ibus rime 中文输入法,快速设置为:默认简体

1. 设置为:默认简体

步骤 1:

  • 到共享文件夹【中州韻】 /usr/share/rime-data/ 下,拷贝 default.yaml文件到 用戶資料夾 【中州韻】 ~/.config/ibus/rime/ 下。

注意:在 linux 多用户操作系统中, /usr/share/ 这个文件夹的东西,一般是共享给各个用户使用的,一般用户,可能并没有修改的权限。因此,可以将这个文件夹看作是高于普用用户权限的文件夹。

步骤 2:

  • 将用户资料夹下,刚刚拷贝过来的文件,改名为 **default.**custom.yaml,**即增加了一个 **custom,和一个英文的点'.'

注:有时由于某种非常规操作,使得上图的 build 文件夹清空了; 即使运行 ibus engine rime 命令也不能调出部署命令。这时:

复制代码
sudo apt reinstall ibus-rime

步骤 3:

  • 用代码编辑器打开 default.custom.yaml 文件,全选,然后整体向右"空格"缩进 2个空格(yaml 的语法规定?)。

  • 在文件的开始部分,增加 'patch:' 关键字,最后修改成这样:

Rime default settings

encoding: utf-8

patch:

config_version: '0.40'

schema_list:

- schema: luna_pinyin

  • schema: luna_pinyin_simp # 保留。

  • schema: luna_pinyin_fluency # 保留。

- schema: bopomofo # 除了简体保留之外,其他的都注释掉了。

- schema: bopomofo_tw

- schema: cangjie5

- schema: stroke

- schema: terra_pinyin

步骤 4:

在终端上,运行命令,启动重新部署的功能,重新编译生成,即可。

复制代码
# 在环境变量设置正常之后,下面的命令,可以唤醒重新部署的功能。
ibus engine rime

2. 一步到位的设置方法

如果使用的是 Rime / config_version: '0.40' 的这个版本,那么,直接拷贝完整代码到用戶資料夾 【中州韻】 ~/.config/ibus/rime/ 下,重新部署即可。

特别注意:

  1. 一般不建议直接使用下面给出的完整的补丁修改代码,因为不排除 rime 在某个升级之后,会对这个文件的某些部分进行修改或更新。

最好的做法可能是?:是将自己不需要自定义的代码去掉。

  1. yaml 语言的语法:只接受空格缩进,不接受 tab 缩进?

完整的补丁修改代码:

复制代码
# This is : ~/.config/ibus/rime/default.custom.yaml 
# --
# Rime default settings
# encoding: utf-8

patch:
  config_version: '0.40'
  
  schema_list:
    # - schema: luna_pinyin
    - schema: luna_pinyin_simp
    - schema: luna_pinyin_fluency
    # - schema: bopomofo
    # - schema: bopomofo_tw
    # - schema: cangjie5
    # - schema: stroke
    # - schema: terra_pinyin
  
  switcher:
    caption: 〔方案選單〕
    hotkeys:
      - Control+grave
      - Control+Shift+grave
      - F4
    save_options:
      - full_shape
      - ascii_punct
      - simplification
      - extended_charset
      - zh_hant
      - zh_hans
      - zh_hant_tw
    fold_options: true
    abbreviate_options: true
    option_list_separator: '/'
  
  menu:
    page_size: 5
  
  punctuator:
    full_shape:
      __include: punctuation:/full_shape
    half_shape:
      __include: punctuation:/half_shape
  
  key_binder:
    bindings:
      __patch:
        - key_bindings:/emacs_editing
        - key_bindings:/move_by_word_with_tab
        - key_bindings:/paging_with_minus_equal
        - key_bindings:/paging_with_comma_period
        - key_bindings:/numbered_mode_switch
  
  recognizer:
    patterns:
      email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$"
      uppercase: "[A-Z][-_+.'0-9A-Za-z]*$"
      url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$|^[a-z]+[.].+$"
  
  ascii_composer:
    good_old_caps_lock: true
    switch_key:
      Shift_L: inline_ascii
      Shift_R: commit_text
      Control_L: noop
      Control_R: noop
      Caps_Lock: clear
      Eisu_toggle: clear

3. 可能的问题:

  1. 需要使用代码编辑器,修改才方便。

不过直接从本文的完整代码中复制到自己的用户资料夹,中州韻】 ~/.config/ibus/rime/ ,也是方便的吧?

======= 本节 "3. 可能的问题" 之 以下部分,可能不需要了 ========

  • 在 Linux desktop 桌面版上,一般 apt install 完成之后,就可以使用了。只是需要修改为简体而已。
  • 在服务器,或者 docker 容器上安装输入法,以下部分,可能还需要参考。
  • 以下,备忘而已。
  • 人类个体的生命是有限的,不断地创造,以有助于人类走向宇宙的创造,才是真的有价值的吧?文字的创造:不应该是越简单,可容纳的有效词汇的总量越多,原子概念标记号永远掌握在概念创造者的手里,这样才是最佳的吗?
  • 文字的本质,就是概念的图形标记号而已。在文字诞生之初,人类其实和地球上的其他会发声的动物一样,都是从咿咿呀呀开始的。
  • 繁体字,并没有产生出新的生产力吧?每个字需要多写好几个笔画,写着写着,生命就流逝了。生命的价值和意义,难道就是在玩弄文字图形标记画画吗?孔乙己的'回'字,就算有再多的写法,这到底会有多少的实际价值呢?
    Rime 是一个很不错的输入法引擎和输入法,我在用,也非常感谢它的作者。但是, Rime 的作者将繁体作为默认输入法,这就些点呵呵了?
    Rime 是一种由具有很好的现代科学逻辑头脑的程序员,同时又具有很强的复古守旧非逻辑浆糊思维,通过将这两种相互矛盾逻辑思维的神奇结合之后的产物。
2.正常安装之后,可能不再需要一下的步骤了。下面的步骤,只是在一些特别场景之下,才有可能需要吧?

在有的系统上,Rime输入法可能需要进行一些环境设置?本文用的是 Ubuntu22.04

2.1. 修改系统环境变量,需要 sudo 权限。应该修改用户自己目录下的环境变量,也是可以的吧?

/etc/environment

复制代码
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"

# 上面的是原始就有的。
# 下面的是自己增加的
# 配置ibus输入法
export IBUS_ENABLE_SYNC_MODE=1
export IGTK_IM_MODULE=ibus
export IQT_IM_MODULE=ibus
export IXMODIFIERS=@im=ibus 
2.2. 修改用户自己的 home 目录下的 ~/.bashrc

在这个文件的最末尾的地方,增加如下几行:

复制代码
# iBus always on 
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -rdx &
注意:
  1. 在 Ubuntu 22.04 上,2.1 和 2.2 两个地方都要设置 xxx=ibus 才行,Why?

  2. 网络上有人说, ~/.bashrc 还需要设置下面几句。但本文的样机不需要设置这里。

    本文样机不需要。

    export LANG="zh_CN.UTF-8"
    export LANGUAGE="zh_CN.UTF-8"
    export LC_ALL="zh_CN.UTF-8"

2.3. Linux 输入法的一些常规设置
复制代码
# 在终端上运行,并设置。
im-config    ##
ibus-setup  ## 
2.4. 其他的吧?

网络上可以找得到一大堆。OK 的和 NG 的混杂在一起,这很正常,因为 linux app 跨大版本号,跨不同的发行版,比较困难。

但是,现在已经有了许多的解决方案,比如:容器,沙盒;甚至有个发行版的软件安装,像 Win 一样,独立自成一体。

复制代码
# 
sudo apt install fonts-noto-cjk
sudo apt install locales
sudo dpkg-reconfigure locales  # 如果不设置成 zh_CN.UTF-8,则显示正常,\
        但 Rime 输入法失效;但好像 ibus-pinyin 可以在这种场景里工作?
安装中文自定义字库的话,还需要运行:
复制代码
mkfontscale && mkfontdir && fc-cache -fv

好像只需要运行 mkfontscale && fc-cache -fv 就可以了?忘记了,这里记录,以备忘。

=====================================

$ ibus-daemon --help

用法:

ibus-daemon 选项... - ibus daemon

帮助选项:

-h, --help 显示帮助选项

应用程序选项:

-V, --version Show the application's version.

-d, --daemonize run ibus as background process.

-s, --single do not execute panel and config module.

-x, --xim execute ibus XIM server.

-n, --desktop=name specify the name of desktop session. default=gnome

-p, --panel=cmdline specify the cmdline of panel program. pass 'disable' not to start a panel program.

-E, --emoji-extension=cmdline specify the cmdline of emoji extension program. pass 'disable' not to start an extension program.

-c, --config=cmdline specify the cmdline of config program. pass 'disable' not to start a config program.

-a, --address=address specify the address of ibus daemon.

-r, --replace if there is an old ibus-daemon is running, it will be replaced .

-t, --cache specify the cache mode. auto/refresh/none

-o, --timeout=timeout default is 15000 gdbus reply timeout in milliseconds. pass -1 to use the default timeout of gdbus.

-m, --mem-profile enable memory profile, send SIGUSR2 to print out the memory profile.

-R, --restart restart panel and config processes when they die.

-v, --verbose verbose.

RimeWithSchemata : 定制中文简体的原理

https://github.com/rime/home/wiki/RimeWithSchemata

1. Rime 中的數據文件分佈及作用

除程序文件以外,Rime 還包括多種數據文件。 這些數據文件存在於以下位置:

共享資料夾

  • 【中州韻】 /usr/share/rime-data/
  • 【小狼毫】 "安裝目錄\data"
  • 【鼠鬚管】 "/Library/Input Methods/Squirrel.app/Contents/SharedSupport/"

用戶資料夾

  • 【中州韻】 ~/.config/ibus/rime/ (0.9.1 以下版本爲 ~/.ibus/rime/;fcitx5 为 ~/.local/share/fcitx5/rime/
  • 【小狼毫】 %APPDATA%\Rime
  • 【鼠鬚管】 ~/Library/Rime/

共享資料夾 包含預設輸入方案的源文件。 這些文件屬於 Rime 所發行軟件的一部份,在訪問權限控制較嚴格的系統上對用戶是只讀的,因此謝絕軟件版本更新以外的任何修改------ 一旦用戶修改這裏的文件,很可能影響後續的軟件升級或在升級時丟失數據。

在「部署」操作時,將用到這裏的輸入方案源文件、並結合用戶定製的內容來編譯預設輸入方案。

用戶資料夾 則包含爲用戶準備的內容,如:

  • 〔全局設定〕 default.yaml

  • 〔發行版設定〕 weasel.yaml

  • 〔預設輸入方案副本〕 <方案標識>.schema.yaml

  • ※〔安裝信息〕 installation.yaml

  • ※〔用戶狀態信息〕 user.yaml

編譯輸入方案所產出的二進制文件:

  • 〔Rime 棱鏡〕 <方案標識>.prism.bin
  • 〔Rime 固態詞典〕 <詞典名>.table.bin
  • 〔Rime 反查詞典〕 <詞典名>.reverse.bin

記錄用戶寫作習慣的文件:

  • ※〔用戶詞典〕 <詞典名>.userdb/<詞典名>.userdb.kct
  • ※〔用戶詞典快照〕 <詞典名>.userdb.txt<詞典名>.userdb.kct.snapshot 見於同步文件夾

以及用戶自己設定的:

  • ※〔用戶對全局設定的定製信息〕 default.custom.yaml
  • ※〔用戶對預設輸入方案的定製信息〕 <方案標識>.custom.yaml
  • ※〔用戶自製輸入方案〕及配套的詞典源文件

註:以上標有 ※ 號的文件,包含用戶資料,您在清理文件時要注意備份!

2. 定製指南

創建一個文件名的主體部份(「.」之前)與要定製的文件相同、次級擴展名(位於「.yaml」之前)寫作 .custom 的定製檔,形如:

复制代码
patch:
  "一級設定項/二級設定項/三級設定項": 新的設定值
  "另一個設定項": 新的設定值
  "再一個設定項": 新的設定值
  "含列表的設定項/@0": 列表第一個元素新的設定值
  "含列表的設定項/@last": 列表最後一個元素新的設定值
  "含列表的設定項/@before 0": 在列表第一個元素之前插入新的設定值(不建議在補靪中使用)
  "含列表的設定項/@after last": 在列表最後一個元素之後插入新的設定值(不建議在補靪中使用)
  "含列表的設定項/@next": 在列表最後一個元素之後插入新的設定值(不建議在補靪中使用)

patch 定義了一組「補靪」,以源文件中的設定爲底本,寫入新的設定項、或以新的設定值取代舊有的值。

相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5203 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩3 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言