Linux安装fcitx输入法(命令安装)

 

打开终端
安装输入法

sudo apt-get install im-switch libapt-pkg-perl fcitx fcitx-table-wbpy

设置fcitx为默认输入法:

im-switch -s fcitx

注销,重新登录

如果安装码表转换的话需要安装

sudo apt install fcitx-tools

将需要使用的输入法的码表文件拷贝到这个目录即可。

root@ubuntu:/usr/share/fcitx/table# ll
total 17284
drwxr-xr-x 2 root root 4096 Jun 30 21:00 ./
drwxr-xr-x 14 root root 4096 Jun 30 20:50 ../
-rw-r--r-- 1 root root 498 Aug 30 2018 wbpy.conf
-rw-r--r-- 1 root root 10483579 Aug 30 2018 wbpy.mb
-rw-r--r-- 1 root root 404 Nov 10 2012 wlkmxy.conf
-rw-r--r-- 1 root root 3564600 Nov 10 2012 wlkmxy.mb
-rw-r--r-- 1 root root 404 Nov 10 2012 wlkmyx.conf
-rw-r--r-- 1 root root 3622425 Nov 10 2012 wlkmyx.mb

linux下,基于fcitx自制个人专属输入法

一. 自制个人输入法的原因
我一直在使用五笔输入法。由于个人日常工作与生活中涉及到的范围,平时写东西的时候会用到很多传统文化中的专有名词(如道、佛、儒三教中的术语、人名等),同时,我还需要经常性地引用一些短语或典籍中的名言、名句等,考虑到要尽量高效高速地输入,所以,多年来我一直很注意保存并维护一份个人的输入法码表源文件。并基于这份码表源文件,在windows系统下,自制有一个自己个人使用的专属输入法。

在linux系统下,十余年前我使用ibus为输入法框架,这个输入法支持直接使用码表源文件,所以只需要将我的码表文件附加在输入法自带的五笔码表文件尾巴后,就可使用。记得大约是06年左右,因为某事,ibus输入法的维护者在ibus的邮件列表上与国内linux用户发生了冲突,越吵越厉害,作为国内linux大神之一的某姐姐大人用到了人身攻击性质的语言,粉丝们也一拥而上的跟进,ibus的维护者大怒,升级ibus时不再更新中文输入法,导致中文输入在linux下成了大问题(注:08年才恢复更新)。当时小企鹅输入法(fcitx)还不够成熟,经常有些莫名其妙地bug,但ibus不能正常使用,fcitx几乎就成了唯一选择。这后来还有故事,是大家对fcitx期望过高,难免有些求全责备,致使07年时fcitx的作者,国人Yuking兄,决定终止小企鹅输入法的开发。这对当时国内的linux界可以说是个大事件。虽然另有人接手了fcitx的后续开发,但更新变得缓慢,且bug的修补也经常会等上很长时间。09年,Yuking兄终于回归fcitx项目,fcitx终于逐步走向成熟,现在成了很多linux发行版的默认输入法。

07年后,我一直在使用fcitx输入法,但感到有些遗憾的是,fcitx输入法不是直接使用码表源文件,而是将码表源文件编译压缩为mb文件再使用,这就导致我个人维护的自制码表文件无法使用。fcitx用着也很顺手,时间一长,我也就不再想着一定要用自己的码表文件了。

前一段时间在折腾命令行模式下的中文输入问题,想到自己windows下的码表文件无用武之地,终究觉得有些不甘心,再想到fcitx输入法已经发展了这十余年,说不定可以进行个人性质的自定义了吧?一查资料,果然可以!于是乎,花了两天时间,在linux下利用fcitx,自制了自己专属的输入法。估计会有朋友也需要类似这样自定义自己的输入法,所以将自定义的步骤记录如下。

二. 准备工作
1、准备好一个48*48的png图标文件,用来当作自制输入法的图标。该图标应该位于/usr/share/fcitx/imicon目录下。
2、将自己熟悉的输入法mb文件重新导出为txt文件。首先进入/usr/share/fcitx目录或/usr/share/fcitx/table目录,找到自己常用输入的mb文件,以我为例,我是找到wbx.mb,将其拷贝到个人的home目录中去,所以执行下面命令,将其导出为txt文件:
$mb2txt wbx.mb >> wbx.txt
导出之后的文件可任意命名。用文本编辑器打开该文件,就可在文件的末尾,手工添加自定义词语、词组、短语、短句的码表。唯需注意的是,每行文本的长度不要超过256个字符,单行文本中也不能有标点符号(256个字符的长度限制,放置一首古诗或引用的古籍小段落,完全没问题,不过要注意不能有标点)。
自制码表添加完成,就可用该文本生成自制的输入法啦。生成方法后述。


不过,我在这个过程中遇到了一个不大不小的问题,那就是,我在windows下的码表文件格式与wbx.txt的格式有差别。win下,码表文件的每行,是中文字符串在前,字母的按键顺序在后,并且两者之间是没有空格的。而fcitx下的码表文件格式,是字母按键顺序在前,空一格之后,才是中文的字符串。

由于我个人的码表源文件有千多行,手工一行一行改的话,工作量还是有点大。我的第一反应是写段脚本来自动完成这事儿,已经准备着手写脚本了,我突然反应过来,这事儿可以用vim的宏完成。于是乎录制了这样一条宏:
光标定位于首行的行首,按qa开始录制一条名为a的宏;
按$键移动光标到行尾;
按a键进行插入状态,再按空格键在行尾插入一个空格;
按ESC键退出插入状态,再按v键进入选择状态;
按四次h键,向前移动并选中四个字符(即,五笔的四个字母);
按d键剪切;
按0键移动光标到行首;
按大写P键,将剪切的四个字母粘贴到行首;
按i键进入插入状态,并插入一个空格;
按ESC键退出插入状态;
按j键将光标下移一行;
按q键停止录制。

好啦,将光标定位在第二行,直接执行:1300@a,一千二百多行自定义的码表就一次性将每行末尾的字母移动到了每行的行首。复制粘贴到wbx.txt的尾巴后,准备工作就吿完成。

保险起见,还可再执行一下下面的命令,对文本作进一步的处理,不过我测试,不处理也行:
sort wbx.txt | uniq >> wbx2.txt
上述命令,将文本按每行行首的字母顺序进行了排序。
sort wbx2.txt | uniq -d
上述命令,检测文本是否有重复。其实就算不检查,执行后面生成输入法mb文件时,也会自动丢弃有重复的行。

三. 自制过程
简单点的话,直接在命令行中执行:
$txt2mb wbx2.txt wbx.mb
即可生成带自定义码表的五笔输入法的mb文件。将该文件拷贝到/usr/share/fcitx/table目录下,覆盖掉同名文件,即可使用自定义的五笔输入法啦。

不过我们还可再多做两步:
打开/usr/share/fcitx/table下的wbx.conf文件,修改Name[zh_CN]字段的名称,比如我的,就修改成“刘哥五笔”;再修改IconName字段,将图标的名字改为准备工作第1步中自定义图标的名字,则今后使用输入法时,就显示自己定义的图标啦。

其实,模仿wbx.conf文件的格式,另外写一个自定义输入的配置文件,并调用自定义名字的mb文件,就可以不必覆盖原始wbx.mb文件而生成一个完全单独存在的输入法了。

好啦,总体步骤如上,完成这个自定义工作的关键与核心,是fcitx的两条内置命令:txt2mb与mb2txt。只要知道这两条命令,相信自定义个人专属输入法,并不是什么难事。

Linux安装fcitx输入法(命令安装)的更多相关文章

  1. Fedora 19安装Fcitx输入法并安装搜狗输入法资源包

    系统自带的Ibus输入法非常的不好用.在Sublime Text下中文根本不能输入.于是想着换成Fcitx. 1.先卸载系统自带的Ibus输入法 sudo yum remove ibus gsetti ...

  2. Fedora20安装fcitx输入法

    Fedora20安装fcitx输入法 Fedora20默认安装的是ibus输入法,总有一些原因让我们选择fcitx输入法: ibus出词顺序有bug 在输入人名的时候,有些名字输入两三次后还是不会出现 ...

  3. ubuntu14.04 的ibus不能卸载(安装fcitx输入法框架时可能有这个需求)。出现无system setting有用程序

    每年的ubuntu新版本号公布,都会吸引一大批热血青年. 关注越多也让ubuntu越来越好了. 使用ubuntu的人都会在安装系统之后马上安装顺手的输入法,也可能不会.看人. 安装输入法,对于中文输入 ...

  4. Ubuntu 18.04安装fcitx输入法

    1.卸载ibus及所有组件 ----------------------------------------------------------------------------------- ro ...

  5. linux mint17.2 安装fcitx输入法

    mint17刚出的时候,曾经在虚拟机上体验过. 现在决定好好学习linux,再加上实在是太萌mint,就在虚拟机上安装了mint17.2 开始配置fcitx输入法: 添加ppa: sudo add-a ...

  6. [fedora21]给fedora21安装fcitx输入法

    如果已经安装了ibus,需要卸载ibus:   sudo yum remove ibus; 安装fcitx: sudo yum install fcitx fcitx-pinyin fcitx-con ...

  7. [原] ubuntu安装Fcitx输入法

    1.终端输入: sudo add-apt-repository ppa:wengxt/fcitx-nightly 按回车确认添加 2.sudo apt-get update 更新软件源 3.sudo ...

  8. fedora22 安装fcitx 输入法

    <h4>安装fcitx:</h4><blockquote>sudo yum install fcitx fcitx-pinyin fcitx-configtools ...

  9. Linux CentOS7通过yum命令安装Mono(尝先安装模式)

    前言 经过尝试网上各种安装mono的技术贴,这个安装过程经历了大约2周,尝试了各个版本,几目前博客所描述的所有安装方式.以下内容的安装方式可以为你尝试不同版本的mono.并非正式环境安装标准方式安装. ...

随机推荐

  1. expdp、impdp导入导出数据库

    一.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建.create directory dpdata1 as 'd:\test\dump'; 二.查看管理理员目录(同时 ...

  2. 【转】STM32利用FATFS读写数组

    因为存为TXT可以实现,但是读取TXT里边的数据总是不尽如人意,所以,最终存为bin文件了. 先摘几个观点: http://www.openedv.com/posts/list/36712.htm “ ...

  3. 【Nginx】使用certbot安装免费https证书使Nginx支持Https请求

    certbot官网:https://certbot.eff.org/lets-encrypt/centosrhel7-nginx 一.安装步骤 1)安装certbot,执行  sudo yum ins ...

  4. 最常用MySql数据库备份恢复

    1.数据备份类型: ·完全备份:故名思议备份整个数据库 ·部分备份:备份一部分数据集 : ·增量备份:自上次备份以来的改变数据的备份: ·差异备份:自上次完全备份后改变数据的备份: 2.数据备份的方式 ...

  5. Win10如何设置插入鼠标后自动禁用触摸板

    首先按“Windows+R”键,调出运行窗口.  然后输入“control”然后点击“确定”!  打开Win10控制面板  在“控制面板”中,选择“硬件和声音”!  选择“AUSU Amart Ges ...

  6. 泛微e-cology OA系统某接口存在数据库配置信息泄露漏洞复现

    1.简介(开场废话) 攻击者可通过存在漏洞的页面直接获取到数据库配置信息.如果攻击者可直接访问数据库,则可直接获取用户数据,甚至可以直接控制数据库服务器. 2.影响范围 漏洞涉及范围包括不限于8.0. ...

  7. Veritas NetBackup 8.1.2 升级的主要理由--附升级兼容性检查网址

    管理更简单 NetBackup™ 8.1.2 基于 Web 的全新直观用户界面让操作变得极度简单化,最常用操作现在只需单击几次或触摸几下即可完 成.通过台式机或移动设备可为不同角色的其他用户授予访问权 ...

  8. RabbitMQ 的 docker 镜像使用

    RabbitMQ 的 docker 镜像使用 1.下载镜像(management版本的才带有web管理界面) docker pull rabbitmq:3.7.18-management 2.创建容器 ...

  9. hbase与Hive的集成

    1 HBase与Hive的对比 1.Hive (1) 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询. (2) 用于数据分析. ...

  10. (转)虚拟文件系统(VFS)浅析

    http://www.cnblogs.com/zsw-1993/p/5048144.html 在我看来, "虚拟"二字主要有两层含义: 1, 在同一个目录结构中, 可以挂载着若干种 ...