当前位置: 首页 > article >正文

linux ibus rime 中文输入法,快速设置为:默认简体 。命令重启部署(****)

本文环境:

ubuntu 22.04

直接 apt install ibus-rime

简明步骤:

  1. 到(inux 系统)共享文件夹【中州韻】 /usr/share/rime-data/ 下,拷贝 default.yaml 文件到 用戶資料夾 【中州韻】 ~/.config/ibus/rime/ 下。
  2. 将用户资料夹下,刚刚拷贝过来的文件,改名为 default.custom.yaml,即增加了一个 custom,和一个英文的点 '.' 。
  3. 修改 default.custom.yaml 文件,以及增加 ’patch:‘ 关键字。
  4. 重启。或者在终端运行 ibus restart ,如果没有运行部署;则再运行 ibus engine rime 命令来启动 Rime 的部署功能。直接运行 ibus restart && ibus engine rime 会出错的。如果文件没有更改,则即使运行这  2个命令,也不会启动部署功能的。文件有错,只要是更改过的,会有错误提示在 /tmp/rime.ibus.ERROR。

注意:Linux 操作系统的共享文件夹,与用户自己创建的共享文件夹,是不同的。在多用户操作系统中:

  • 系统共享文件夹:一般是系统、管理员,或安装程序时所构建的,可共享给操作系统的内部进程,以及各个被授权的用户使用。
  • 用户共享文件夹:是由用户创建的,想共享给谁就给谁;就算不想共享,黑客也可能看到。

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

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

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,和一个英文的点 '.'

注:

1. 在用户资料夹下,使用名为 xxx.custom.yaml 的方法,是 Rime 的规定。这样做的好处,就是 Rime 升级之后,用户自己的 xxx.custom.yaml 文件,得以保留。

2. 有时由于某种非常规操作,使得上图的 build 文件夹清空了; 即使运行 ibus restart > 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:

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

# 在环境变量设置正常之后,下面的命令,可以唤醒重新部署的功能。不需要重启电脑。
# Ubuntu, 如果只是修改,并且被修改后的文件没有问题时,连续运行下面 2 句命令,可重启部署功能。
ibus restart
ibus engine rime
# ibus restart && ibus engine rime #<< 这样运行, NG.

2. 一步到位的设置方法

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

特别注意:

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

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

样例 1:
# This is : ~/.config/ibus/rime/default.custom.yaml 
# 本代码:只是设置了:默认简体
# --
# Rime default settings
# encoding: utf-8

patch:
  schema_list:
    - schema: luna_pinyin_simp
    - schema: luna_pinyin_fluency

就是这么简单,就可以设置为默认的简体中文了。

修改的行数很少,随便使用一种文本编辑器,都可以;不需要使用专门的代码型编辑器。

特别注意:需要采用代码拷贝的方法,然后粘贴到 txt 编辑器中,不能粘贴到 word 中。在 word 中会加入一些眼睛看不见的控制符,从而导致文件失效。
也可以到这里直接下载上面这个文件 https://download.csdn.net/download/ken2232/90161862 

2. yaml 语言的语法:只接受空格缩进,不接受 tab 缩进?<< 这是baidu AI 的回答。AI 的答案不正确吧?以讹传讹?

Rime 的规定:.dict.yaml 詞典码表行中的第一个分隔采用 Tab,其他为空格。.schema.yaml 推荐使用 2 个空格缩进。  RimeWithSchemata · rime/home Wiki · GitHub  

  YAML Ain’t Markup Language (YAML™) revision 1.2.2         YAML Ain’t Markup Language (YAML™) revision 1.2.2

通过修改 V0.40 官方默认的完整补丁修改代码,可以修改如水平提示选词,默认是垂直的;还有其他等等。

当然,还可以增加一些 V0.40 官方默认的完整补丁修改代码 所没有的样式,这就需要参考官方文档了。

V0.40 官方默认的完整补丁修改代码:

样例 2:

# 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

** 还有更给力的修改办法,是 补丁,修改 /usr/share/rime-data/luna_pinyin.schema.yaml 文件。Ubuntu 22.04,Rime / luna_pinyin.schema 输入法:外挂词库,自定义词库 (****) OK-CSDN博客 

3. 可能的问题:

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

方法 1: 如果 Rime 的版本与本文相同:即 0.40 版本,则可以将 示例 2 直接复制到自己的用户资料夹,中州韻】 ~/.config/ibus/rime/ 下,也是方便的吧?

方法 2: 如果 Rime 的版本与本文不相同:则可以将 示例 1 直接复制到自己的用户资料夹,中州韻】 ~/.config/ibus/rime/ 下。

方法 3: 如果用户想自定义更多的功能,就自己参照 V0.40 官方默认的完整补丁修改代码 的修改方法,来自行解决了。

3.2 字库问题:

嫌麻烦,以及安全问题,所以还没有时间去找。

另外,Rime 也会将用户习惯的一些输入词汇,记录在用户文件夹里的某个文件中。具体是哪一个?忘记了。

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

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

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

4. 一些驶入法支持的设置

4.1 设置支持 ibus 输入法框架

4.1.1

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

就像 Fcitx5 XIM 等等,都属于输入语法框架。输入法框架,可以支持世界上的其他语种,中文只是其中之一而已。

/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  # ibis 可能会与一些 app 发生冲突的一种解决方案
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

$ ibus-setup

4.1.2. 修改用户自己的 home 目录下的 ~/.bashrc

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

# iBus always on 
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -rdx

在 Ubuntu 22.04 上,2.1 和 2.2 两个地方都要设置 xxx=ibus 才行,Why?<< 后来检查,好像是拼写错误造成的?

4.2. 设置支持中文环境的输入法引擎

输入法引擎:如 rime(同时也自包含了输入法),pinyin。

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

# 本文样机不需要。
export LANG="zh_CN.UTF-8"
export LANGUAGE="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
5. Linux 输入法的一些常规设置
# 在终端上运行,并设置。
im-config    ##
ibus-setup  ## 
6. 其他的吧?

网络上可以找得到一大堆。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 可以在这种场景里工作?
localectl set-locale LANG=zh_CN.UTF-8   # 命令行设置
安装中文自定义字库的话,还需要运行:
mkfontscale && mkfontdir && fc-cache -fv

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

7. 问题

Ubuntu OS 如果无法调出输入法,除了上面提到的设置之外,还需要正确设置好:输入源。

注:设置圈 6 使得 en 排在第一优先位置,否则,在启动时输入密码,就可能会迷糊的?

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

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

l


http://www.kler.cn/a/447175.html

相关文章:

  • Windows中运行Linux(WSL)
  • 3D工具显微镜的测量范围
  • clickhouse-数据库引擎
  • DB-GPT V0.6.3 版本更新:支持 SiliconCloud 模型、新增知识处理工作流等
  • STM32-笔记5-按键点灯(中断方法)
  • 【JavaEE初阶】线程 和 thread
  • 电子电器架构 ---整车区域控制器
  • 【读书笔记】《论语别裁》真人和假人
  • MVC 发布
  • 使用docker compose安装gitlab
  • RFdiffusion 工作机制介绍
  • 数据结构_实现双向链表
  • RFdiffusion Sampler类 sample_step 方法解读
  • MySql:基本查询
  • STM32, GD32 cubemx CAN 低速率125kbps 报文丢失,解决了
  • 如何利用Java爬虫获得Lazada商品评论列表
  • 安徽医科大学卫生管理学院与和鲸科技签署“101 数智领航计划”,共拓“医学+AI”学科建设与人才培养
  • 高新投三江选择「维智佳创」实现消防CAD图元识别智能化升级
  • ubuntu24.04使用opencv4
  • Web Dev Tools Android 项目常见问题解决方案
  • 两点间最短距离 - Dijkstra
  • 如何快速搭建K8s
  • es使用knn向量检索中numCandidates和k应该如何配比更合适
  • Intel-ECI之Codesys PLC + Ethercat 远端IO + Codesys IDE编程
  • Spring Cloud Sleuth 分布式链路追踪
  • 基于单片机的太阳能数据采集系统(论文+源码)