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 定義了一組「補靪」,以源文件中的設定爲底本,寫入新的設定項、或以新的設定值取代舊有的值。

相关推荐
fulufulucode8 分钟前
【Linux】线程与同步互斥相关知识详细梳理
linux·服务器·开发语言
躺不平的理查德14 分钟前
shell-特殊位置变量
linux·运维·服务器·bash
hunter20620634 分钟前
linux通过web向mac远程传输字符串,mac收到后在终端中直接打印。
linux·前端·macos
laimaxgg1 小时前
Linux网络连接内核
linux·运维·服务器·网络·网络协议·tcp/ip
翁乐安3 小时前
[Linux] linux 系统中如何添加自动启动程序
linux·服务器
努力成为DBA的小王3 小时前
MySQL(行结构)
linux·运维·数据库·sql·mysql
内核笔记3 小时前
Linux 音视频入门到实战专栏(视频篇)视频编解码 MPP
linux·音视频·视频编解码
码商行者4 小时前
精通Python (11)
linux·服务器·python
别致的影分身6 小时前
Linux网络 TCP socket
linux·网络·tcp/ip
Kasen's experience6 小时前
Ubuntu linux 文件权限
linux·ubuntu