前言
剛開始接觸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
使用搜狗輸入法的皮膚
素材來源
- 搜狗皮膚:https://pinyin.sogou.com/skins/
- 皮膚制作工具:git clone https://github.com/VOID001/ssf2fcitx.git
注意這里有坑,不過還是要繼續看下去的,說不定就有解決方案呢。
皮膚工具下載完成后先不要操作,去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
看下使用效果:

皮膚制作到此完成,可以根據自己愛好定制!
使用搜狗輸入法的詞庫
素材來源:
- 搜狗詞庫下載地址:https://pinyin.sogou.com/dict/
接下倆開始轉換整合
下載工具:
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,重新加載就默認簡體中文了!
