前言
剛開始接觸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 即可。
小彩蛋
折騰了這麼多其實最簡單的就是去直接下載搜狗輸入法,哈哈哈!
百度輸入法也是可以的。我現在就在體驗百度輸入法。
下載地址: