李明_cq4VGe · 2020年10月02日

云芯一号 - Debian系统下添加中文输入法支持

1、前言

云芯一号是极术社区发布的一款ARM微型服务器板卡,具有六核处理器,型号为Rockchip RK3399,含2核ARM Cortex-72(up to 2.0GHz)& 4核Arm Cortex-53(up to 1.5GHz),4GB内存,16GB eMMC 5.1,具有M.2外接接口兼容PCI-E,1个HDMI输出,以太网Ethernet, USB 3.0,USB 2.0x1,摄像头接口,40pin GPIO可以接入各种嵌入式外设芯片,支持Wifi与蓝牙、串行口接口等强大的功能。运行x-windows也毫无压力。本人有幸成为“云芯一号”的试用工程师,在收到“云芯一号”板卡后,第一时间进行了使用测试,感谢极术社区的信任。

2、中文输入法安装履历

由于工作室使用wifi比较方便,参照“宽心”大师《云芯一号试用---更新固件方法+支持wifi》的方式更新了文件系统为Debian。更新后的文件系统中已经对中文的显示支持的非常好了。只是没有中文输入法。

(1)换源
更换文件系统后 ,必须更新新sourcelist。具体参照上文中的换源部分。如果不换源,将不能在线更新软件!!!
换源后使用命令启用新的更新源:

sudo apt-get update  

(2)现阶段linux下用的最多的输入法莫过于fcitx了,第一时间百度,并找到网页进行了测试。

sudo apt install fcitx

索性将几种输入法都一起安装了。

sudo apt install fcitx-googlepinyin fcitx-pinyin  fcitx-sunpinyin

但似乎并没有出现网页中的输入法使用界面,启动后多了两个菜单。如下图所示。

IMG_20201001_221400.jpg
IMG_20201001_221418.jpg

点击图中的菜单选项则没有任何反应(鼠标有个圈圈转了大约20秒后消失)。通过命令行启动后发现启动失败。

(3)打开开始菜单-System Tools-LXTerminal,使用命令行运行第二个图中的菜单项,即fcitx-configtool,命令行窗口中运行提示:You're currently running Fcitx-config-gtk with GUI, but fcitx-confitool couldn't be found, the package name is usually fcitx-config-gtk, fcitx-config-gtk3 or fcitx-configtool. Now it will open config file with default text editor.大致的意思是说,没有安装图形界面配置工具,将会使用文本的方式进行。

百度上,很多的拼音输入法设置都是基于gui的,图形界面将会更方便。更重要的是有的参考。索性安装了吧。

sudo  apt-get  install fcitx-config-gtk

然后重新启动了fcitx-configuration,果然,这次出现了界面
IMG_20201001_232516.jpg
这个界面是空的,根据参考的文档,点击下面的+号,可以添加选项,但是我点击了之后,出现的界面中仍然是空!点击Appearance下显示:
IMG_20201001_232538.jpg
下面应该是有内容的,但是这里却提示:cannot load currently used user interface info,不过距离成功应该快了。继续ing...

(5)一顿大量的百度后,有提示,可能是没有安装输入法的前端界面导致看不见输入法,当然也没有办法操作和设置输入法(我理解就像windows下的搜狗输入法界面那样)。参考网页一顿安装:

sudo apt-get install fcitx-frontend-gtk2
sudo apt-get install fcitx-frontend-gtk3
sudo apt-get install fcitx-frontend-qt4
sudo apt-get install fcitx

最后一个不用安装了,已经安装过了。重新启动开发板,再次启动配置界面,仍然不起作用。

难道只是配置问题?用内核启动直接加载输入法?百度ing,只有一个网页,点开看吧。让修改/etc/X11/xinit/xinit.d/fcitx文件,原文件如下:

XIM=fcitx
XIM_PROGRAM=/usr/bin/fcitx
XIM_ARGS=""
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
DEPENDS="fcitx"

修改为:

XIM=fcitx
XIM_PROGRAM=/usr/bin/fcitx
XIM_ARGS="-xim"
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
DEPENDS="fcitx,fcitx-frontend-gtk2"

保存,重启开发板,启动配置界面,仍然不起作用。

病急乱投医,期间还安装了im-config工具(后来看应该是没有作用的),但这个工具也给我带来了一丝希望,刚开始使用的时候,出现的是文本式的配置界面,后来安装了fcitx-frontend-gtk2后,再启动这个界面就编程图形界面了,应该是图形输入法的安装有一部分起作用了。另外,有时候安装的工具可能系统中已经自带了,为了确保不再重复安装工具,还安装了工具aptitude,方便查看系统中已经安装过的工具包。继续百度。

有网页说需要安装,fcitx-tools,fcitx-m17n就好了。照旧安装,仍不起作用。
命令行下再次启动fcitx,这次居然有提示:无可用前端,no user interface available。可是,frontend已经安装过了,

$ aptitude search fcitx-frontend

可以显示都安装过了。

Fcitx输入法调用前端需要有ui动态库的支持,而在fcitx的安装目录下面没有找到相应的ui动态库,自然找不到可用前端。Fcitx可使用的ui动态库主要是两个:fcitx-ui-classic和fcitx-ui-light,检查系统中是否已经安装了:

cd /usr/ ; find . -name fcitx-ui-*.so*

发现Debian系统中没有,安装它。

sudo apt-get install fcitx-ui-classic  

重新启动开发板。

从开始菜单启动Fcitx,然后再启动Fcitx-Configuration,居然惊奇地发现,在Input Method Configuration界面中,点击左下角的绿色的加号,居然弹出了带有Keyboard-English(US)的界面,如下图:
IMG_20201001_233839.jpg
取消Only Show Current Language选项,奇迹出现了,窗口中出现了许多语言,按键盘向下键一直翻页,最后看到了Chinese(China)
IMG_20201001_234424.jpg
选中其中的一个Chinese(China),然后点击OK按钮,将语言添加到Input Method界面中,连续操作3次,将所有安装的中文输入法都添加进来,最终的界面如下
IMG_20201001_234537.jpg
在Appearance界面中,注意将FontSize改为12,默认是0,看不见字体。
IMG_20201001_223516.jpg
不知何时,界面的右下角出现了输入法的键盘图标
IMG_20201001_234740.jpg
至此,输入法安装成功。

3、中文输入法的使用

输入法使用的时候需要在应用上进行设置。例如,使用文本编辑器LeafPad,在编辑区右击鼠标,然后选择fcitx选项即可。IMG_20201002_000224.jpg使用中文输入的时候,先按下键盘的Ctrl+Space就可以输入中文了,再按一次Ctrl+Space回到英文输入状态。
IMG_20201002_000539.jpg

4、后记

本输入法的尝试过程起因是要基于云芯一号服务器开发板做一个语音对话的机器人,由于开发板性能较好,便想就用它作为搜索工具边查找资料边设计吧,因为没有中文输入而受到限制才萌生的想法。过程中走过了一些弯路,不过还好到达了光明的地点~ 给为了使用wifi而使用了debian文件系统的小伙伴们提供个参考,我也可以继续我的下一个目标了~^_^。

感谢极术社区的小姐姐、极术社区的技术人员边道京David,还有微信群中的宽心、徐珂靖、罗昶还有很多没有提及到的等大神的无私帮助,你们研究精神是我学习的动力~

推荐阅读
关注数
4278
内容数
71
低成本Arm微服务器开发平台“云芯1号”教程及应用,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息