zoukankan      html  css  js  c++  java
  • Elementary OS 使用fcitx安装搜狗词库、搜狗输入法(Ubuntu通用)

    前言

    刚开始接触Linux的小伙伴可能比较懵逼,我要使用ibus输入法还是fcitx(小企鹅)输入法,其实这两种都不能说是输入法,Linux中输入法的使用是依赖于输入法框架的,其中搜狗输入法和百度输入法都是依赖于fcitx框架的,当然两种框架用什么依据个人爱好,对于小白选手还是推荐fcitx吧,因为搜狗用着真香啊.自带的输入法皮肤样式真的是一言难尽,词库也不符合中文的输入习惯,既然适应不了,我们就改造他。
    接下来主要描述如何整合搜狗的皮肤和词库。

    前提是你使用的Linux发行版已经安装了fcitx输入法框架。
    安装fcitx,先来个CV三连。
    添加软件源

    sudo add-apt-repository ppa:fcitx-team/nightly
    

    更新依赖库

    sudo apt-get update
    

    安装fcitx相关组件,自动安装相关依赖,如果依赖不足根据提示安装就行了

    sudo apt-get install  fcitx  fcitx-sunpinyin fcitx-module-cloudpinyin fcitx-googlepinyin   
    

    如果有强迫症看ibus不舒服,可以卸载ibus,清楚依赖和相关配置项

    sudo apt remove ibus --purge
    

    使用搜狗输入法的皮肤

    素材来源

    注意这里有坑,不过还是要继续看下去的,说不定就有解决方案呢。

    皮肤工具下载完成后先不要操作,去github看一眼:https://github.com/VOID001/ssf2fcitx#dependencies,需要依赖于以下工具

    我们下载的是源码,需要自己去编译安装。
    以上依赖安装完成后开始进行下面操作吧
    安装cmak

    sudo apt install cmake
    

    进入克隆目录

    cd ssf2fcitx
    

    开始编译

    cmake ./
    

    过程可能会有关 pkg 报错,作为合格的Linux用户当然是自己解决啦,执行 sudo apt install pkg-config 即可。
    然后 make ,可能报错 unitypes.h not found ,直接 vim ssfextract.cpp ,删掉第 9 行的库引用即可。
    最后安装

     sudo make install
    

    顺利的话是可以安装成功的!
    接下来开始制作皮肤,讲下载的搜狗皮肤.ssf 文件转换成可被识别的文件。

    ssf2fcitx -i filename.ssf -o dirname 
    

    然后移动

    mv dirname ~/.config/fcitx/skin
    

    重启 Fcitx ,大功告成!
    如果安装了fcitx-qimpanel皮肤管理工具,皮肤包的路径应该放置在/usr/share/fcitx-qimpanel/skin/目录会被所有用户共享,这里的路径要以自己实际路径为准,不然皮肤不能被识别!

    注意,上面是一切顺利,如果编译安装失败可以看下文

    不过如果前段所说的QT5环境没有是要失败的,我当时卡在这里好久没解决,QT是啥我不懂,我要怎么办,我想这东西很定有人有编译打包好的工具啊,直接去百度,果不其然真的有,哈哈哈!
    直接下载安装就完事了,是deb包这个应该就不用说怎么安装了吧。
    下载地址:链接: https://pan.baidu.com/s/1Wg2a_ZU_PvPqxDfE-gTQNQ 密码: 7hk7
    这里再次感谢大佬,安装后会出现图标但是可能点击没法使用,但是不影响我们使用命令啊。
    默认安装后的目录在/opt/ssf2fcitx文件夹下,进去查看

    vincente@vincente:/etc/apt$ cd /opt/ssf2fcitx/
    vincente@vincente:/opt/ssf2fcitx$ ls
    libasyncns.so.0            libgcc_s.so.1           liblzma.so.5            libQt5MultimediaWidgets.so.5    libwrap.so.0
    libblkid.so.1              libgcrypt.so.20         libmount.so.1           libQt5Network.so.5              libX11.so.6
    libbsd.so.0                libgdk_pixbuf-2.0.so.0  libm.so.6               libQt5OpenGL.so.5               libX11-xcb.so.1
    libcairo.so.2              libgio-2.0.so.0         libmtdev.so.1           libQt5Widgets.so.5              libXau.so.6
    libcap.so.2                libGLdispatch.so.0      libnsl.so.1             libQt5X11Extras.so.5            libxcb-render.so.0
    libcroco-0.6.so.3          libglib-2.0.so.0        libogg.so.0             libQt5Xml.so.5                  libxcb-shm.so.0
    libcrypto.so.1.1           libGL.so.1              libpango-1.0.so.0       libresolv.so.2                  libxcb.so.1
    libc.so.6                  libGLX.so.0             libpangocairo-1.0.so.0  librsvg-2.so.2                  libxcb-util.so.0
    libdatrie.so.1             libgmodule-2.0.so.0     libpangoft2-1.0.so.0    librt.so.1                      libXdmcp.so.6
    libdbus-1.so.3             libgobject-2.0.so.0     libpcre16.so.3          libselinux.so.1                 libXext.so.6
    libdframeworkdbus.so.2     libgpg-error.so.0       libpcre.so.3            libSM.so.6                      libXi.so.6
    libdl.so.2                 libgraphite2.so.3       libpixman-1.so.0        libsndfile.so.1                 libxkbcommon.so.0
    libdouble-conversion.so.1  libgsettings-qt.so.1    libpng16.so.16          libssl.so.1.1                   libxml2.so.2
    libdtkcore.so.2            libgthread-2.0.so.0     libproxy.so.1           libstartup-notification-1.so.0  libXrender.so.1
    libdtkwidget.so.2          libgudev-1.0.so.0       libpthread.so.0         libstdc++.so.6                  libXtst.so.6
    libEGL.so.1                libharfbuzz.so.0        libpulsecommon-10.0.so  libsystemd.so.0                 libz.so.1
    libevdev.so.2              libICE.so.6             libpulse.so.0           libthai.so.0                    ssf2fcitx_skin
    libexpat.so.1              libicudata.so.57        libQt5Concurrent.so.5   libudev.so.1                    ssf2fcitx_skin.png
    libffi.so.6                libicui18n.so.57        libQt5Core.so.5         libuuid.so.1                    ssf2fcitx_skin.sh
    libFLAC.so.8               libicuuc.so.57          libQt5DBus.so.5         libvorbisenc.so.2               ssf2skin
    libfontconfig.so.1         libinput.so.10          libQt5Gui.so.5          libvorbis.so.0
    libfreetype.so.6           liblz4.so.1             libQt5Multimedia.so.5   libwacom.so.2
    

    其中ssf2fcitx_skin是图形化启动界面,但是在我的电脑上不好使,你可以使用ssf2skin来制作皮肤,步骤同上。
    制作后的输出目录内容,这里推荐一款皮肤【诺亚方舟】

    vincente@vincente:~/Downloads$ cd fangzhou/
    vincente@vincente:~/Downloads/fangzhou$ ls
    15407970467788_former.gif  bar.png  comp_588600.png  fcitx_skin.conf  skin1.png    skin2_2.png  skin.ini     skinmanager3.png
    a3.png                     cn3.png  en3.png          skin1_2.png      skin2_1.png  skin2.png    skin.ini.u8
    

    看下使用效果:

    皮肤制作到此完成,可以根据自己爱好定制!

    使用搜狗输入法的词库

    素材来源:

    sudo apt install fcitx-tools
    

    下载词库,这里我已经上传两个文件可以直接下载

    • 基本词库:
    • 搜狗计算机术语词库:
      不过搜狗的词库是scel文件需要我们先做一个格式转换,转换为org格式的文件就可以被识别了。
      在你搜狗词库的根目录下创建一个org文件夹
    vincente@vincente:~/Downloads/sougou$ mkdir org
    vincente@vincente:~/Downloads/sougou$ ls
    computer.scel  org/
    

    然后创建一个trans.sh文件来转化

    for scel in *.scel 
    do
      scel2org ${scel} -o org/${scel}.org 
    done
    

    授予可执行权限

    chmod +x trans.sh 
    

    执行./trans.sh,结果

    vincente@vincente:~/Downloads/sougou$ ./trans.sh 
    计算机词汇大全【官方推荐】
    计算机科技
    官方推荐,词库来源于网友上传!
    

    然后将基本的词库org文件复制进去

    vincente@vincente:~/Downloads/sougou/org$ ls
    computer.scel.org  pyPhrase.org
    

    切换到org目录,接下来开始整合词库

    cat  *.org > tot.org  #整合基本词库和自定义词库
    sort tot.org > ord.org      # 排序
    uniq ord.org > final.org      # 去重
    

    final.org 就是最终我们需要的词库文件
    执行createPYMB gbkpy.org final.org进行最后的转换,gbkpy.org是转换脚本,转换词库为mb文件

    vincente@vincente:~/Downloads/sougou/org$ createPYMB gbkpy.org final.org
    vincente@vincente:~/Downloads/sougou/org$ ls
    computer.scel.org  pybase.mb  pyphrase.mb  pyPhrase.org  tot.org
    

    其中的 mb 文件就是我们的 Fcitx 词库文件了。
    执行 mv *.mb ~/.config/fcitx/pinyin ,随后重启 Fcitx 即可。

    小彩蛋

    折腾了这么多其实最简单的就是去直接下载搜狗输入法,哈哈哈!
    百度输入法也是可以的。我现在就在体验百度输入法。

    下载地址:

    后续

    经过一段时间的使用发现搜狗输入法IDEA光标不跟随,百度输入法在IDEA会在左下角显示候选栏,还有中英文输入法切换的问题。
    最终的解决方案是卸载搜狗、百度输入法、卸载fcitx,使用ibus、安装ibus-rime输入法解决。
    fcitx在使用rime时候会出现输入法切换的问题,在ibus比较稳定,这可能是elementary os默认ibus的原因吧,系统默认的总是有他的道理的,屈服!!!
    安装

    sudo apt install ibus
    sudo apt install ibus-rime
    

    rime默认是繁体,在~/.config/ibus/rime中修改default.yal没人pinyin_simp,重新加载就默认简体中文了!

  • 相关阅读:
    支付宝-单笔转账接口
    # Creating Server TCP listening socket *:6379: bind: No such file or directory
    Window 下安装 Redis,配置redis环境变量
    Ajax的跨域(一)
    web人脸识别(二)
    web人脸识别(一)
    给GridView添加列头复选框
    计算两个时间相差多少年月日的sql算法
    MUI下拉加载安卓手机无效的解决方法
    博主回来了!
  • 原文地址:https://www.cnblogs.com/chsoul/p/14015170.html
Copyright © 2011-2022 走看看