本文环境:
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 在某个升级之后,会对这个文件的某些部分进行修改或更新。
最好的做法可能是?:是将自己不需要自定义的代码去掉。
2. 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
定義了一組「補靪」,以源文件中的設定爲底本,寫入新的設定項、或以新的設定值取代舊有的值。