關於fcitx和scim的啟動(轉)

ba發表於2007-08-17
關於fcitx和scim的啟動(轉)[@more@]在輸入法版和這裡看到不少同學和我一樣,對配置fcitx和scim有點模糊。總是出現出現輸入法的圖示卻無法使用的情況。下面我對我陣子折騰這兩個輸入法的體會跟大家分享一下:)

這兩個輸入法的共同點是都需要設定 XMODIFIERS 這個環境變數,而且都需要在 X 啟動配置中設定,如果只寫在 .bashrc 中是不起作用的,因為當 X 啟動時並不讀取這個檔案。

X 的啟動不外乎這幾種方式: startx, kdm, gdm, xdm,,所以,輸入法的設定就需要從這幾種 X 管理的方式著手。

1. 對於 startx
這個比較簡單,只需要設定使用者目錄下的 .xsession 就可以了,下面的是我的一個例子:
export XMODIFIERS="@im=SCIM"
scim -d
#export XMODIFIERS="@im=fcitx"
#exec fcitx &
exec x-session-manager
注意 scim 和 fcitx 的啟動方式的不同,而且,根據scim官方網站的提示,這裡的SCIM是需要大寫的!

2. 對於 kdm
kdm的配置檔案在/etc/kde3/kdm/kdmrc,其中有這段配置:
# Default is "/usr/X11R6/bin/xterm -ls -T"
Session=/etc/kde3/kdm/Xsession
然後檢視/etc/kde3/kdm/Xsession,其內容為:
#! /bin/sh
# Xsession - run as user
# invoke global X session script
. /etc/X11/Xsession
可見,其啟動指令碼為/etc/X11/Xsession
在這個檔案中可以看到,啟動
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
for SESSIONFILE in $SESSIONFILES; do
. $SESSIONFILE
done
fi
這裡的SYSSESSIONDIR就是/etc/X11/Xsession.d/目錄,這個下面有幾個以數字開頭的檔案,前面的數字就是他們的啟動順序,其中一個檔案為:
30xfree86-common_xresources
其中有這樣的指令碼:
if grep -qs ^allow-user-resources "$OPTIONFILE"; then
if [ -f "$USRRESOURCES" ]; then
xrdb -merge $USRRESOURCES
fi
fi
這裡的USERRESOURCES在前面的Xsession中是這樣定義的:
USRRESOURCES=$HOME/.Xresources
所以,對於kdm來說,配置檔案是家目錄下的 .Xresources檔案。只要把下面的指令碼寫在這裡就可以了:
export XMODIFIERS="@im=SCIM"
scim -d
#export XMODIFIERS="@im=fcitx"
#exec fcitx &
exec x-session-manager

3. gdm
gdm的配置檔案在/etc/gdm,由類似於分析上面kde的方式,最後發現它的配置檔案是 $HOME/.xsession

4. xdm
這個沒有用過,方法應該類似。

5. 小結
上面這些是困擾了好久之後靜下心來慢慢找出來的。由於大家使用的發行版本不同,配置檔案的形式也會有所變化,需要自己動手試試,多發現一下。俗語說的好:紙上得來終覺淺,決知此事要躬行。自己的理解還是需要自己動手才知道。很多時候,官方網站上的安裝教程對於自己也往往未必適用,這個時候就需要自己動動腦筋了:)


ps:呵呵,現在fcitx3.2根本不用這麼麻煩了
只要apt-get install im-switch
就會自動啟動了

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-963232/,如需轉載,請註明出處,否則將追究法律責任。

相關文章