+ -
当前位置:首页 → 问答吧 → [解决了]Help !!! Fcitx !!! can not input Chinese

[解决了]Help !!! Fcitx !!! can not input Chinese

时间:2007-08-18

来源:互联网

I updated (emerge -uvDN world) my system yesterday, the followings are from the emerge.log, I thought only these files were updated.

引用:
1187322558: Started emerge on: Aug 17, 2007 11:49:18
1187322558: *** emerge --newuse --deep --update world
1187322564: >>> emerge (1 of 8 ) sys-devel/gettext-0.16.1-r1 to /
1187322755: >>> emerge (2 of 8 ) sys-fs/udev-114 to /
1187322775: >>> emerge (3 of 8 ) x11-proto/damageproto-1.1.0 to /
1187322782: >>> emerge (4 of 8 ) sys-fs/device-mapper-1.02.19-r1 to /
1187322798: >>> emerge (5 of 8 ) net-dns/libidn-0.6.9-r1 to /
1187322840: >>> emerge (6 of 8 ) app-misc/lirc-0.8.2-r1 to /
1187322900: >>> emerge (7 of 8 ) dev-libs/tre-0.7.4 to /
1187322918: >>> emerge (8 of 8 ) media-sound/streamripper-1.62.2 to /
And I got a error after trying to use fcitx, a input method when "ctrl+space" to active it to front. "ctrl+space" in firefox, firefox was killed, in xterminal, xterminal was killed, in xfterm, xfterm was filled and I got a message "Failed to execute default Terminal Emulator. Input/output error."

For "ctrl+space " in firefox, firefox was killed:
引用:
firefox-bin: xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
/usr/libexec/mozilla-launcher: line 119: 11459 Aborted $(type -P aoss) "$mozbin" "$@"
firefox-bin exited with non-zero status (134)
For "ctrl+space " in xfterm, xfterm was killed
引用:
Terminal: xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
And I also fount eth0 (cable lan) eth1 (wirelss lan) switched, now, eth0 (wireless lan) eth1(cable lan), WHAT'S WRONG?!

作者: nainaide   发布时间: 2007-08-18

USE="-xcb" emerge -uDN world

作者: zhou3345   发布时间: 2007-08-18

引用:
作者: zhou3345
USE="-xcb" emerge -uDN world
兄弟,根据你的提示我发现了这段文章,我爱fcitx,痛苦呀。据说scim是那个cc参与开发的,我不想用呀。你这招(USE="-xcb" )应该好用吧? gentoo就是更新太快了。
引用:
四月 4, 2007 http://gentoo.linuxsir.org/blog/?q=aggregator&from=100
22:58
关于XCB

今晚好好看了下有关xcb的文档,发现它的目的就是为了替换xlib,但却在二进制水平上与xlib兼容。有关现在使用xcb时用fcitx会导致lock 断言失败的问题(不仅仅是fcitx有问题,很多软件都有),xcb的作者们认为是xlib中有太多与lock有关的BUG所致。
由于fcitx直接使用了xlib,因此,似乎解决这个问题的唯一方法就是用xcb的API重新写用户界面(而且还不一定就能解决,也许是xlib支持xim的问题),因此是个很麻烦的事~~
源: Fcitx--小企鹅输入法

作者: nainaide   发布时间: 2007-08-18

看来这个问题要给fcitx开发小组专门提出来。因为喜欢fcitx,我把-xcb加入了make.conf。
没研究过xcb到底有什么好处。

作者: zhou3345   发布时间: 2007-08-18

引用:
作者: zhou3345
看来这个问题要给fcitx开发小组专门提出来。因为喜欢fcitx,我把-xcb加入了make.conf。
没研究过xcb到底有什么好处。
Zhou, 非常感谢你的提示,按照你的方法我已经搞定了。后来发现实际上就是一个文件包要更新
x11-libs/libX11,现在又能用fictx了,很开心。

作者: nainaide   发布时间: 2007-08-18

不用客气,我也是因为遇到过这个麻烦,当时找了好半天的原因。
喜欢fcitx,希望小企鹅一路走好啊!

作者: zhou3345   发布时间: 2007-08-18

引用:
作者: nainaide
Zhou, 非常感谢你的提示,按照你的方法我已经搞定了。后来发现实际上就是一个文件包要更新
x11-libs/libX11,现在又能用fictx了,很开心。
gtk+2.10.3 需要libxcb-xlib.la,才能编译,而libxcb-xlib.la属于x11-libs/libxcb,x11-libs/libxcb依赖于x11-libs/libX11, 这是一个死循环。
fcitx看来要有麻烦了。

# equery b libxcb-xlib.la
[ Searching for file(s) libxcb-xlib.la in *... ]
x11-libs/libxcb-1.0 (/usr/lib/libxcb-xlib.la)

# equery d x11-libs/libxcb[ Searching for packages depending on x11-libs/libxcb... ]
media-libs/mesa-7.0.1 (xcb? x11-libs/libxcb)
x11-libs/cairo-1.4.6 (X & xcb? x11-libs/libxcb)
x11-libs/libX11-1.1.1-r1 (xcb? >=x11-libs/libxcb-1.0)

作者: nainaide   发布时间: 2007-08-19

gtk+-2.10.3 ?在portage没发现这个版本的gtk+,是不是 gtk+-2.10.13 ?
我现在用的是 gtk+-2.10.14,也好好的没什么问题啊。

作者: zhou3345   发布时间: 2007-08-20