fedora11預設安裝文字輸入系統為ibus,
於繁體中文語言登入時,ibus預設有注音及拼音兩者可正常使用,
但若用[系統/管理/新增/移除軟體]添加倉頡等輸入法,
則安裝好後,所有輸入法都會消失,只顯示"no input window"訊息.
原因可能是安裝倉頡時連帶更新的ibus-1.2有bug,
還原ibus-1.1舊設定法為
# rpm -qa | grep ibus- (先看目前裝了那些ibus套件)
# ln -s /media/Fedora\ 11\ i386\ DVD/Packages/* /var/cache/yum/fedora/packages/
(將安裝光碟套件作成捷徑,放入yum cache套件目錄中,省去再從網路抓)
# yum downgrade ibus-libs (讓yum自動檢查移除ibus-1.2相關套件,並退回ibus-libs 1.1)
Running Transaction
Installing : ibus-libs-1.1.0.20090423-1.fc11.i586 1/12
Erasing : ibus-1.2.0.20090927-1.fc11.i586 2/12
Erasing : ibus-gtk-1.2.0.20090927-1.fc11.i586 3/12
Erasing : ibus-chewing-1.2.0.20091002-1.fc11.i586 4/12
Cleanup : ibus-libs-1.2.0.20090927-1.fc11.i586 5/12
Erasing : ibus-rawcode-1.2.0.20090703-1.fc11.i586 6/12
Erasing : ibus-m17n-1.2.0.20090617-2.fc11.i586 7/12
Erasing : ibus-table-cangjie-1.2.0.20090717-2.fc11.noarch 8/12
Erasing : ibus-hangul-1.2.0.20090617-2.fc11.i586 9/12
Erasing : ibus-table-1.2.0.20091014-2.fc11.noarch 10/12
Erasing : ibus-anthy-1.1.0.20090402-1.fc11.i586 11/12
Erasing : ibus-pinyin-1.1.0.20090303-1.fc11.noarch 12/12
# yum localinstall ibus-1.1.0.20090423-1.fc11.i586.rpm
# yum localinstall ibus-chewing-1.0.10.20090523-2.fc11.i586.rpm
# yum localinstall ibus-pinyin-1.1.0.20090303-1.fc11.noarch.rpm
# yum localinstall ibus-gtk-1.1.0.20090423-1.fc11.i586.rpm
然後[系統/關機/重新啟動]
帳號登入後,再按[Ctrl-space]啟動,按[Alt+Left_SHIFT]切換,
就可看到原來的拼音及注音語言輸入列.
當然,添加的倉頡等輸入法也都跟著消失.
解決法大概只有
1.安裝依存於舊版ibus-1.1之倉頡版本.
2.乾脆不用ibus而改用原來另外一種輸入法scim.
(yum install scim-python-xingma-cangjie.i586)
2009年11月22日 星期日
vmware server 1.0.6 on centos5.4 x86_64
在64位元centos5.4上,vmware server和xen核心不相容,裝得起來,但是執行vmware會當掉.
故要在如下centos5.4上利用vmware server建立虛擬機,
[user@centos ~]$ uname -a
Linux centos.im.tku.edu.tw 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:12:36 EST 2009
x86_64 x86_64 x86_64 GNU/Linux
測試可行安裝清單如下,
kernel-2.6.18-164.6.1.el5
kernel-devel-2.6.18-164.6.1.el5 (vmware編譯所需核心宣告檔)
VMware-server-1.0.6-91891.tar.gz (需重新自動編譯)
-- 以下清單為有需要才安裝 --
ntfs-3g-200944-e1i686.rpm (有讀寫ntfs切割才安裝,但是無法作檔案鎖定,無法跑vmware)
NVDIA-Linux-x86_64-185.18.31-pkg2.run (有geforce顯示卡才安裝,需telinit 3下,自動編譯)
故要在如下centos5.4上利用vmware server建立虛擬機,
[user@centos ~]$ uname -a
Linux centos.im.tku.edu.tw 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:12:36 EST 2009
x86_64 x86_64 x86_64 GNU/Linux
測試可行安裝清單如下,
kernel-2.6.18-164.6.1.el5
kernel-devel-2.6.18-164.6.1.el5 (vmware編譯所需核心宣告檔)
VMware-server-1.0.6-91891.tar.gz (需重新自動編譯)
-- 以下清單為有需要才安裝 --
ntfs-3g-200944-e1i686.rpm (有讀寫ntfs切割才安裝,但是無法作檔案鎖定,無法跑vmware)
NVDIA-Linux-x86_64-185.18.31-pkg2.run (有geforce顯示卡才安裝,需telinit 3下,自動編譯)
2009年11月21日 星期六
tomcat6 encoding problem by GET/POST
撰寫jsp時,使用tomcat6引擎,常見接收中文出現亂碼,不像使用resin引擎方便,
這時只要作如下兩tomcat組態檔修改,
就可以接收表單的GET方式送來的中文big5碼,轉換成jsp內建的unicode.
這樣很方便作中文碼參數置入網址之測試,例如,http://host/cgi?q=%ac%ec.
/etc/tomcat6/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="big5" />
/etc/tomcat6/web.xml
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>parameterEncoding</param-name>
<param-value>big5</param-value>
</init-param>
</servlet>
另外,發覺瀏覽器使用GET方式封裝中文參數於網址時,
有時會用big5,有時會用utf-8,視網頁如下宣告編碼(charset)而定,
<%@page contentType="text/html; charset=big5" import="java.io.*" %>
但作了如上2組態檔設定後,就只有big5送來的碼可正常轉換成unicode碼.
註:原來tomcat預設只接收"iso-8859-1"正常ascii編碼之參數.
至於表單用POST方式送來的big5中文碼參數,要正確轉換成unicode,
則.jsp程式碼需加上如下設定編碼指令才行.
request.setCharacterEncoding("big5");
query = request.getParameter("q");
參考資料:
http://minchuanwang.blogspot.com/2009/03/tomcat-post-get.html
訂閱:
文章 (Atom)