LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 835|回复: 8

已经解决:为什么emerge xorg-X11之后不能在mozilla 和 firefox中输入中文

[复制链接]
发表于 2007-8-8 14:07:42 | 显示全部楼层 |阅读模式
系统  
    Linux  2.6.15-gentoo-r5
    x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux

xorg-x11:
    xorg-x11-7.2

mozilla:
    Mozilla 1.7.13
    Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.7.13) Gecko/20060417

firefox: 安装的是 mozilla-firefox-bin
    Mozilla/5.0 (X11; U; Linux i686 (x86_64); zh-TW; rv:1.8.1.5) Gecko/20070713
    Firefox/2.0.0.5

中文输入
    fcitx

make.conf:

CFLAGS="-march=athlon64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
DISTDIR=/home/feng/.distfiles
MAKEOPTS="-j2"
USE="X acpi alsa cdr cjk cups dvd dvdr emacs examples fftw fdftk fortran gif gnome gtk gtk2 java -ipv6 kde ifc lapack libg++ linguas_zh_CN linguas_zh_TW linguas_ko mozilla nptlonly nls ncurses nsplugin opengl pdf perl python qt samba stroke tetex truetype vcd win32codecs xmms xml2 xv "
GENTOO_MIRRORS="http://61.135.158.199 "
#SYNC="rsync://gentoo.139pay.com/gentoo-portage"
SYNC="rsync://61.135.158.199/gentoo-portage"

locale:
LANG=zh_CN.gbk
LC_CTYPE=zh_CN.gbk
LC_NUMERIC=en_US
LC_TIME=en_US
LC_COLLATE=en_US
LC_MONETARY=en_US
LC_MESSAGES=en_US
LC_PAPER=en_US
LC_NAME=en_US
LC_ADDRESS=en_US
LC_TELEPHONE=en_US
LC_MEASUREMENT="zh_CN.gbk"
LC_IDENTIFICATION=en_US
LC_ALL=

我可以在gvim和rxvt中输入中文,但在mozilla  和firefox.中却不行,哪位知道这是为什么?
发表于 2007-8-8 15:15:10 | 显示全部楼层
export LANG="zh_CN.UTF-8"
export LC_CTYPE="zh_CN.UTF-8"
export XMODIFIERS=@im=SCIM
export QT_IM_MODULE=scim
export GTK_IM_MODULE=scim
回复 支持 反对

使用道具 举报

发表于 2007-8-8 15:43:13 | 显示全部楼层
env |grep IM
export | grep IM
查一下有没有设置

.Xdefaults里设置
URxvt.inputMethod:scim
倒是我的OO跟urxvt不能输入中文,还没解决,scim用一小段时间后显示全是乱码
回复 支持 反对

使用道具 举报

发表于 2007-8-8 16:16:10 | 显示全部楼层
呵呵  编辑  /etc/gtk-2.0/i686* 下面的文件 确保他们指向的lib 是你最新的lib 64位的用32位程序 更新了 emulib 之后就这样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-8 17:49:19 | 显示全部楼层
回2楼,因为我用的不是scim,所以你给的设置没有作用
回3楼,其实只用一个LC_TIME变量。另一个还是做前面的步骤时产 生的。

declare -x GTK_IM_MODULE="fcitx"
declare -x LC_TIME="en_US"

而且,我的用户目录里根本就没有.Xdefault文件
回4楼,该目录下[/etc/gtk-2.0/i686-pc-linux-gnu ]的gtk.immodules文件中的指向应该没有问题。
/emul/linux/x86/usr/lib/gtk-2.0/2.4.0/immodules $ls
im-am-et.so    im-cyrillic-translit.so  im-ipa.so          im-ti-er.so  im-viqr.so
im-cedilla.so  im-inuktitut.so          im-thai-broken.so  im-ti-et.so  im-xim.so

"/emul/linux/x86/usr/lib/gtk-2.0/2.4.0/immodules/im-xim.so"
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh"
回复 支持 反对

使用道具 举报

发表于 2007-8-8 18:23:43 | 显示全部楼层
gtk.immodules文件中:
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh"
改成
"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"
试试,就是加个en
回复 支持 反对

使用道具 举报

发表于 2007-8-8 19:58:04 | 显示全部楼层
没搞头,加入en还是没办法解决
axlrose@mygentoo ~ $ env|grep XMOD
XMODIFIERS=@im=scim
axlrose@mygentoo ~ $ env|grep IM
XIM_PROGRAM=/usr/bin/scim
XIM_ARGS=-d
XIM=SCIM
QT_IM_MODULE=scim
GTK_IM_MODULE=scim
LC_TIME=zh_CN.utf8
axlrose@mygentoo ~ $ grep -i scim .Xdefaults
#URxvt.inputMethod:scim
URxvt.inputMethod:SCIM
回复 支持 反对

使用道具 举报

发表于 2007-8-8 21:06:18 | 显示全部楼层
加en是针对fcitx的,你的scim.............
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-9 16:30:11 | 显示全部楼层
这个问题最后解决了,不能输入的原因应该是因为安装的mozilla-firefox-bin编译时的编码与我系统中使用的编码不同。我的机器里因为有一个虚拟机里安装的windows,会经常在两院个系统间传输文件,所以我的系统用的是gbk编码,这好像也是fcitx使用的一个要求。而linux在默认条件下应该使用的是utf8,因输入法和firefox用的编码不一致,所以才会出现不能对firefox进行输入的情况。
解决问题的方法很简单,只有安装mozilla-firefox,让系统对其编译一遍就可以了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表