2009/03/02

OpenOffice.org 3 在 Linux/SCIM 下的中文輸入

我 PC (AMD64 3000+) 上灌的是 OpenSUSE 11.0,使用英文介面,中文輸入法是用 SCIM 模組上的行列 (Array30) 輸入法,而鍵盤排列是在一般 OWERY 鍵盤上用軟體模擬 Dvorak 排列。其中的 scim-array 已經升級為 1.0.1 版

==故事開始==
OpenSUSE 11.0 上自帶的 OpenOffice.org (OOo) 版本是 2.4。去年,自從 OOo3 版本推出 beta 版之後,我便不停地在各新版推出後下載試用,並將 OOo2.4 版刪除 (經由 Yast/Zypper)。新版嘛,我用得不亦樂乎。只是它有個非常致命的問題--在我的系統環境下無法切換到中文輸入。中文文件可以打開,內容顯示也沒問題,但它就是不讓我切換到中文輸入介面,這讓我如何是好呢?Google 的結果,我因為懶得看洋文慢慢找解答、而中文論壇或部落格又大多寫不到重點,大都是說到 OOo 對於 SCIM 的支援一向不是很好。

那怎麼辦呢?用 GCIN 輸入模組?從以前到現在,我就是因為無法解決 GCIN 在 Array + Dvorak 的問題才棄之不用的,不然又怎麼會放棄大多數人都推薦的 GCIN 呢?何況,SCIM 用來也不錯啊。

問題總不能懸在那兒吧,於是最終我又回到使用起 OOo2.4 來。

==解決過程==
昨天,因為看到 OOo3 有 3.0.1 版出現,我不死心的又想碰運氣,看看 3.0.1 版是否增加了「對 SCIM 的支援」(我不清楚這種敍述正不正確)。同時,也重新 Google 了一下相關的問題 (linux + "openoffice 3" + scim)。解決方法是將 OOo3 自帶的兩個 lib 檔用系統內建的另外兩個 lib 檔取代。

這一回兒,我沒先把 OOo2.4 給移除掉。在下載了自帶 java 的 OOo3.0.1/US/i586 版後便很快地安裝完成。目前沒有給 AMD64 的版本 (只有給 Deb 環境的版本),只好下載 i586 版用用了。結果,這次的中文輸入法完全沒問題。

其後,我還依照 Google 的結果,將 /opt/openoffice.org3/basis-link/ure-link/lib/ 下的兩個 lib 檔案做了備份後用系統的 lib 檔取代。

先來備份:
cd /opt/openoffice.org3/basis-link/ure-link/lib/
sudo mv libstdc++.so.6 libstdc++.so.6.ooo3
sudo mv libgcc_s.so.1 libgcc_s.so.1.ooo3


這只是給原始檔改名,若以後有問題再改回來就行了。

之後做連結:
sudo ln -s /usr/lib/libstdc++.so.6.0.10 libstdc++.so.6
sudo ln -s /lib/libgcc_s.so.1 libgcc_s.so.1


我系統上的 libstdc++.so 現在是 libstdc++.so.6.0.10 版,有些人的可能還在 libstdc++.so.6.0.9 或更舊,那就再自行更動了。另外,我不是很確定那兩個同樣名為 libgcc_s.so.1 是否有差異,也不清楚取代或不取代究竟有沒有不同。但在不是很清楚的情況下,唯有按照 protocol 來做吧。

這樣在重新開啟 OOo3 後就能使用上。目前為止,我還沒碰到什麼大問題。
之後若有空就再移除掉 OOo2.4 ,看看還會不會有其他問題出現。

Powered by ScribeFire.



1 則留言:

  1. 嗯,能打中文是因為原來的 OOo2.4 的綠故。在移除掉 OOo2.4 之後,又發生無法切換中文輸入法的問題。再繼續找原因和解決方法去......

    回覆刪除

逢廣告文必砍!