way11 发表于 2004-11-5 17:09:14

Scim在gnome和kde下使用的问题?

安装的是hiweed desktop 5.5,默认的X是xfce,后来又apt-get install了gnome和kde,在安装gnome后发现gnome下无法使用scim输入中文。用的是GDM启动器。

hew兄告诉我改~/.gnomerc文件,加上:

export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim"
scim -d

于是在Gnome下scim就能正常工作了。但是之后我又apt-get install 了kde,在kde中,scim又像上次在GNOME下那样无法使用。是否需要更改~/.kderc,应该怎么改呢?

另外:我在kde下能够用浏览局域网中的共享文件,对于win2000共享的文件能正常显示中文,而xp和98的共享文件就不能显示中文,是否是字符编码的问题,应该怎能改?我用的是kde3.2。

linky_fan 发表于 2004-11-5 20:46:01

英文locale下使用中文的总结
终于还是搞定了,结果看这里。不过这些环境变量的设置的确有些tricky,anyway,这里总结一下,今后如果有类似需要的,这个总结可能会有些用:

我安装的是Fedora Core 2(从我原来的Redhat 8.0上直接升级的),使用的窗口管理器是KDE (3.2.2),Qt也是3.2,都是FC2默认安装的。

首先是设置的步骤:

1.用rpm -qa | grep 'inese'查看你的机器上是否安装了kde-i18n-Chinese和kde-i18n-Chinese-Big5两个语言包,没有则下载安装。下载地址从google上搜索,或者用rpmfind.net,选择匹配的版本安装。 (注:这两个语言包具有有什么用处,我不太清楚,不知道是否仅仅提供字体文件和输入法,如果是的话,这步可以省略)

2. 用rpm -qa | grep 'scim'查看是否安装了scim,如果没有,下载安装SCIM输入法和输入法文件。(注:你可以选择其他中文输入法,比如chinput/fcitx等,设置方法类似,以下以scim为例)

3. 打开一个控制台,键入命令locale,英文界面的默认输出应该是所有的语言环境变量值均为en_US.UTF-8,而LC_ALL为空。如果是这样的话,直接到第4步。如果不是的话,查看几个文件:Shell的启动文件:~/.cshrc, ~/.bashrc等,或者 /etc/sysconfig/i18n,或者~/.i18n,看看这些文件里面是否专门设置了这些环境变量。如果是,把相应的设置注释,或者把赋值更改为en_US.UTF-8

4. 键入system-config-language,这时会探出一个对话框,如果你安装了那两个语言包的话,应该可以看到三种语言,简体中文,繁体中文和英语,选择英语。

5. 打开KDE的控制中心(K menu\Preference\Control Center), 选择Country/Region &Language,在Launguage中只保留英语。(注:这一步和LC_ALL决定了KDE菜单显示语言)

6. 根据你使用的shell,编辑shell的启动文件。我用csh,所以是~/.cshrc,如果你用bash,可以编辑.bashrc或者.bash_profile,在文件的最后添加下面几行:
csh:


setenv XMODIFIERS "@im=SCIM"
setenv XIM scim
setenv XIM_PROGRAM scim
setenv LC_CTYPE zh_CN.gbk
bash:

export XMODIFIERS="@im=SCIM"
export XIM=scim
export XIM_PROGRAM=scim
export LC_CTYPE=zh_CN.gbk
编辑好后,保存退出。

注:这是最重要的一步。前三行设置SCIM作为输入法服务器,其中SCIM的大小写很关键。最后一行设置语言类型为中文,注意这里仅需要设置LC_CTYPE,不是LC_ALL,在FC2上,如果设置为zh_CN.gb18030的话,系统会说这个locale找不到,所以用zh_CN.gbk

7. 在终端,键入echo $LANGUAGE,如果输出是zh_CN*,你需要在shell启动文件最后再添加:


setenv LANGUAGE en_US.UTF-8或者
unsetenv LANGUAGE,否则的话,你执行普通的命令时(比如df, ls -lt),输出将是中文的说明

8. 编辑~/.xinitrc, 如果你使用KDE的话,这个文件如下所示(注意在启动KDE之前,先启动scim):


scim -d
exec startkde
9. 好了,现在Ctrl+D,一直退回到最原始的登陆界面(如果愿意的话,重新启动,来测试一下设置的有效性),再次登陆后,如果是控制台界面,键入命令locale(如果是图形界面,打开一个控制台),结果应该类似如下:


LANG=en_US.UTF-8
LC_CTYPE=zh_CN.gbk
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
再echo $LANGUAGE,这个变量或者没有定义,或者是en_US.UTF-8,这都是正常的。
你还可以用setenv或env,查看所有的环境变量。

9. 如果你是用的KDE的话,在下面的K panel上右键,Add\Applet\System tray,你可以看到一个键盘的图表,这说明scim已经启动。

10. 测试一下: 打开一个konsole,用telnet bbs.dartmouth.edu或者任何其他中文bbs,看看在konsole上能否显示中文。在konsole上,ctrl+space,看看scim的输入条是否能出来。如果环境变量正确,软件安装正确的话,应该已经没有问题了。

11. 在konsole中键入qtconfig,然后在interface tab下面,XIM input style,选择over the spot(其他的也可以,但据说会有一些小问题),然后选择菜单File\Save

12. 到这一步基本上就已经设置好了,不足的是kde的中文字体都是矢量字体,如果anti-aliasing(AA)打开后,看着比较模糊。现在很多人都是用windows下的simsun.ttf字体(license上有可能严格意义上不允许这么用)。simsun字体里面的几个字号嵌入了位图字体,所以边缘比较清楚。安装办法是1,mount你的windows分区到/mnt/下的某个目录,然后,把 windows/fonts/simsun.ttf拷贝到你的某个目录,假定是/usr/X11R6/lib/X11/fonts/TrueType,拷贝后执行(参考一位回贴的朋友的代码)


cd /usr/X11R6/lib/X11/fonts/TrueType
ttmkfdir .
cp ttfonts.scale ttfonts.dir
/usr/sbin/chkfontpath --add /usr/X11R6/lib/X11/fonts/TrueType
其中chkfontpath用locate chkfontpath来查找你机器上的路径。你还可以直接编辑/etc/X11/fs/config,把/usr/X11R6/lib/X11/fonts/TrueType放在其他两个中文字体目录(安装语言包得到的,默认为/usr/share/fonts/zh_CN/TrueType和/usr/share/fonts/zh_TW/TrueType)的上面。完成后,重新启动X就可以了。

KDE界面上的中文字体,mozilla/mozilla firefox上的中文字体默认应该变成simsun了。XMMS中的mp3标题还不行的话,选择Options\Preference,然后在fonts,上选上use fontsets,然后字体选择为
-adobe-helvetica-medium-r-normal-*-*-140-*-*-p-*-iso10646-1,
-misc-simsun-medium-r-normal-*-*-140-*-*-c-*-koi8-r
写在一行就可以了。

总之,FYI吧,no warranty of any kind。

Posted by fangq at October 3, 2004 02:36 AM

天鹤 发表于 2004-11-5 22:33:17

通过你的总结。我仍然不能[引玉]出来,我没安装kde 也没用gnome
仅有的桌面系统xfce
在我的locale下全是POSIX
如LC_CTYPE="POSIX"
   LC_ALL=
我找不到~/.xinitrc文件。我便到/etc/xorg/xinitrc文件中增加了
LANG="zh_CN.GB2312" scim -d                  
export XMODIFIERS=@im=SCIM
结果还是调不出输入法。
mozilla 显示中文[方块]
嘛烦朋友针对我的问题回复一下。或者给一个相关贴子我参考一下。先谢了

apeter_2000 发表于 2004-11-5 22:56:57

通过你的总结。我仍然不能[引玉]出来,我没安装kde 也没用gnome
仅有的桌面系统xfce
在我的locale下全是POSIX
如LC_CTYPE="POSIX"
   LC_ALL=
我找不到~/.xinitrc文件。我便到/etc/xorg/xinitrc文件中增加了
LANG="zh_CN.GB2312" scim -d                  
export XMODIFIERS=@im=SCIM
结果还是调不出输入法。
mozilla 显示中文[方块]
嘛烦朋友针对我的问题回复一下。或者给一个相关贴子我参考一下。先谢了
startx启动

linky_fan 发表于 2004-11-6 00:10:36

to 天鹤:
参考一下下面的帖子吧
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&p=4193160#4193160

way11 发表于 2004-11-6 02:05:23

几位大哥,我现在的问题是scim在KDE下不能启动就运行,必须开一个终端,运行scin才能启动输入法。我使用的是GDM,在xfce和gnome下通过修改~/.xinitrc和~/.gnomerc就可以了,但在KDE下就不行,不知道该怎么改?

天鹤 发表于 2004-11-6 07:54:46

THINKS linky_fan
我已经汉化成功了。当初是没COPY FONTS。

tonnyxu 发表于 2004-11-17 14:41:45

我也是同样的问题,用gdm进入kde的,没有scim好启动啊

tonnyxu 发表于 2004-11-17 18:08:34

:mrgreen: 来自hiweed-debian论坛的正解:
终极解决办法 提交人: citiboy 时间: 四, 10/21/2004 - 22:50 *新 修改/etc/gdm/Xsession文件
找到以下段落:
# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other 再修改以下段落成如下
SESSIONFILES=$(run_parts $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE="scim"
scim -d
for SESSIONFILE in $SESSIONFILES; do
. $SESSIONFILE
done
fi
页: [1]
查看完整版本: Scim在gnome和kde下使用的问题?