使用已安裝 Firefox 68 rpm 實例

  1. 已安裝好的 firefox rpm 套件,沒有 gcin-gtk3 函式庫,先將此程式複製到 firefox 輸入法模組目錄中。
    [root@dyw219 ~]# cp /usr/lib64/gtk-3.0/immodules/im-gcin.so \
    /usr/lib64/firefox/bundled/lib64/gtk-3.0/3.0.0/immodules/im-gcin.so
    
  2. 已安裝好的 firefox rpm 套件,沒有 gtk3 的 canberra 模組函式庫,先將函式庫複製到 firefox 的 bundled 目錄中。
    [root@dyw219 tmp1]# cp -a /usr/lib64/gtk-3.0/modules/libcanberra-gtk-module.so\
     /usr/lib64/firefox/bundled/lib64/gtk-3.0/3.0.0/x86_64-pc-linux-gnu/modules/
    [root@dyw219 tmp1]# cp -a /usr/lib64/gtk-3.0/modules/libcanberra-gtk3.so.0* \
    /usr/lib64/firefox/bundled/lib64/
    
  3. rpmrebuild -e 編輯目前安裝在系統的 firefox 套件,重新產生 rpm。
    [root@dyw219 src]# rpmrebuild -e firefox
    /usr/lib/rpmrebuild/rpmrebuild.sh: WARNING: some files have been modified:
    S.5....T.    /usr/lib64/firefox/bundled/lib64/gtk-3.0/3.0.0/immodules.cache
    S.5....T.    /usr/lib64/firefox/defaults/preferences/all-redhat.js
    Do you want to continue ? (y/N) y
    Do you want to change release number ? (y/N) y
    Enter the new release (old: 4.el6_10): 4.el6_10.dyw
    Do you want to continue ? (y/N) y
    .....
    %attr(0755, root, root) "/usr/lib64/firefox/bundled/lib64/gtk-3.0/3.0.0/\
    immodules/im-gcin.so"
    %dir %attr(0755, root, root) "/usr/lib64/firefox/bundled/lib64/gtk-3.0/\
    3.0.0/x86_64-pc-linux-gnu/modules"
    %attr(0755, root, root) %verify(link) "/usr/lib64/firefox/bundled/lib64/\
    gtk-3.0/3.0.0/x86_64-pc-linux-gnu/modules/libcanberra-gtk-module.so"
    %attr(0755, root, root) "/usr/lib64/firefox/bundled/lib64/gtk-3.0/3.0.0/\
    x86_64-pc-linux-gnu/modules/libcanberra-gtk3-module.so"
    %dir %attr(0755, root, root) %verify(link) "/usr/lib64/firefox/bundled/\
    lib64/libcanberra-gtk3.so.0"
    %dir %attr(0755, root, root) "/usr/lib64/firefox/bundled/lib64/libcanberra-gtk3.so.0.1.9"
    .....
    result: /root/rpmbuild/RPMS/x86_64/firefox-68.2.0-4.el6_10.dyw.x86_64.rpm
    
  4. 使用 rpmrebuild 新產生的 rpm 安裝,不用再另安裝 gcin-gtk3,可正常使用 gcin 中文輸入。