How to debug this error?

17 views
Skip to first unread message

F.Y

unread,
Sep 25, 2009, 2:17:39 PM9/25/09
to ibus-devel
I keep getting this erro. Any help would be grateful!

Traceback (most recent call last):
File "/usr/share/ibus/ui/gtk/panel.py", line 409, in
__im_menu_item_activate_cb
self.__focus_ic.set_engine(engine)
File "/usr/lib/pymodules/python2.6/ibus/inputcontext.py", line 228,
in set_engine
return self.__context.SetEngine(engine.name)
File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 140, in
__call__
**keywords)
File "/usr/lib/pymodules/python2.6/dbus/connection.py", line 620, in
call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.IBus.NoEngine: can not
find engine with name natural-pinyin-shuangpin

Peng Huang

unread,
Sep 25, 2009, 6:30:24 PM9/25/09
to ibus-...@googlegroups.com
这是你运行什么命令产生的输出?

F.Y

unread,
Sep 25, 2009, 11:59:15 PM9/25/09
to ibus-devel
我在使用类似于 /usr/libexec/ibus-engine-natural-pinyin这种方式启动输入法的时候,一切正常。输入法可以被
注册系统中。
但是使用 /usr/libexec/ibus-engine-natural-pinyin --ibus这种方式的时候,就不能选中该输入法了,一
旦选择就会出现这个错误信息。
这个错误信息是 ibus-daemon -rv 的输出结果。

谢谢 !

On Sep 26, 6:30 am, Peng Huang <shawn.p.hu...@gmail.com> wrote:
> 这是你运行什么命令产生的输出?
>

F.Y

unread,
Sep 26, 2009, 12:23:24 AM9/26/09
to ibus-devel
补充一下,我已经在/usr/share/ibus/component/下放了
natural-pinyin.xml文件

On Sep 26, 6:30 am, Peng Huang <shawn.p.hu...@gmail.com> wrote:
> 这是你运行什么命令产生的输出?

Peng Huang

unread,
Sep 26, 2009, 3:37:00 AM9/26/09
to ibus-...@googlegroups.com
我检查了一下你的xml文件,里面有错我。详见下面的diff信息

diff --git a/python/engine/natural-pinyin.xml.in b/python/engine/natural-pinyin.xml.in
index e4d3a80..67ac1f0 100644
--- a/python/engine/natural-pinyin.xml.in
+++ b/python/engine/natural-pinyin.xml.in
@@ -1,7 +1,7 @@
 <?xml version=\"1.0\" encoding=\"utf-8\"?>
 <!-- filename: pinyin.xml -->
 <component>
-       <name>org.freedesktop.IBus.NaturalPinyin</name>
+       <name>org.freedesktop.IBus.NaturalPinYin</name>
        <description>PinYin Component</description>
        <exec>${libexecdir}/ibus-engine-natural-pinyin --ibus</exec>
        <version>1.2.0.20090926</version>

Yu Fan

unread,
Sep 26, 2009, 4:15:50 AM9/26/09
to ibus-...@googlegroups.com
我统一修改为Pinyin了依然得到同样的错误。有更通用的调试方法么?


<?xml version="1.0" encoding="utf-8"?>
<!-- filename: natural-pinyin.xml -->
<component>
    <name>org.freedesktop.IBus.NaturalPinyin</name>
    <description>Chinese Natural Pinyin Component</description>
    <exec>/usr/libexec/ibus-engine-natural-pinyin --ibus</exec>
    <version>0.1.0</version>
    <author>Yu Fan &lt;yufan...@gmail.com&gt;</author>
    <license>GPL</license>
    <homepage>http://code.google.com/p/ibus-natural-pinyin/s</homepage>
    <textdomain>ibus-natural-pinyin</textdomain>

    <!-- for static engines -->
    <engines>
        <engine>
            <name>natural-pinyin-quanpin</name>
            <language>zh_CN</language>
            <license>GPL</license>
            <author>Yu Fan &lt;yufan...@gmail.com&gt;</author>
            <layout>us</layout>
            <longname>Natural Quanpin</longname>
            <description>Continuous PinYin Input Method</description>
            <rank>99</rank>
        </engine>
        <engine>
            <name>natural-pinyin-jianpin</name>
            <language>zh_CN</language>
            <license>GPL</license>
            <author>Yu Fan &lt;yufan...@gmail.com&gt;</author>
            <layout>us</layout>
            <longname>Natural Jianpin</longname>
            <description>Continuous PinYin Input Method</description>
            <rank>99</rank>
        </engine>
        <engine>
            <name>natural-pinyin-shuangpin</name>
            <language>zh_CN</language>
            <license>GPL</license>
            <author>Yu Fan &lt;yufan...@gmail.com&gt;</author>
            <layout>us</layout>
            <longname>Natural Shuangpin</longname>
            <description>Continuous PinYin Input Method</description>
            <rank>99</rank>
        </engine>
    </engines>
</component>

这里是main.py的注册
        self.__component = ibus.Component("org.freedesktop.IBus.NaturalPinyin",
                                          "Chinese Natural Pinyin Component",
                                          "0.1.0",
                                          "GPL",
                                          "Yu Fan <yufan...@gmail.com>")
        self.__component.add_engine("natural-pinyin-jianpin",
                                    "Natural Jianpin",
                                    "Continuous PinYin Input Method",
                                    "zh_CN",
                                    "GPL",
                                    "Yu Fan <yufan...@gmail.com>",
                                    "",
                                    "en")
        self.__component.add_engine("natural-pinyin-quanpin",
                                    "Natural Quanpin",
                                    "Continuous PinYin Input Method",
                                    "zh_CN",
                                    "GPL",
                                    "Yu Fan <yufan...@gmail.com>",
                                    "",
                                    "en")
        self.__component.add_engine("natural-pinyin-shuangpin",
                                    "Natural Shuangpin",
                                    "Continuous PinYin Input Method",
                                    "zh_CN",
                                    "GPL",
                                    "Yu Fan <yufan...@gmail.com>",
                                    "",
                                    "en")

Peng Huang

unread,
Sep 26, 2009, 4:32:21 AM9/26/09
to ibus-...@googlegroups.com
不应该啊,你有重新启动ibus-daemon么?

2009/9/26 Yu Fan <yufan...@gmail.com>

Yu Fan

unread,
Sep 26, 2009, 4:36:48 AM9/26/09
to ibus-...@googlegroups.com
我用 ibus-daemon -rv 重启的

"かいお (kaio)"

unread,
Sep 26, 2009, 5:25:30 AM9/26/09
to ibus-...@googlegroups.com
Yu Fan さんは書きました:
> 我用 ibus-daemon -rv 重启的
ibus-daemon -rtv

--
かいお(kaio) | kaio.me

Yu Fan

unread,
Sep 26, 2009, 5:31:29 AM9/26/09
to ibus-...@googlegroups.com
ibus-daemon -rtv 出现这个结果。

ff@ff-laptop:~/ibus-natural-pinyin$ (ibus-gconf:8796): IBUS-DEBUG: bus disconnected

Traceback (most recent call last):
  File "/usr/share/ibus/setup/main.py", line 412, in <module>
    setup = Setup()
  File "/usr/share/ibus/setup/main.py", line 78, in __init__
    self.__init_ui()
  File "/usr/share/ibus/setup/main.py", line 178, in __init_ui
    self.__engines = self.__bus.list_engines()
  File "/usr/lib/pymodules/python2.6/ibus/bus.py", line 119, in list_engines
    engines = self.__ibus.ListEngines()
  File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 68, in __call__
    return self._proxy_method(*args, **keywords)

  File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 140, in __call__
    **keywords)
  File "/usr/lib/pymodules/python2.6/dbus/connection.py", line 620, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Disconnected: Connection was disconnected before a reply was received


On Sat, Sep 26, 2009 at 5:25 PM, "かいお (kaio)" <k...@kaio.me> wrote:

Yu Fan ����ϕ�ޤ���:
> ���� ibus-daemon -rv �����
ibus-daemon -rtv

--
������(kaio) | kaio.me




Yu Fan

unread,
Sep 26, 2009, 5:32:40 AM9/26/09
to ibus-...@googlegroups.com
ibus-daemon:11912): IBUS-DEBUG: Member = ListActiveEngines
(ibus-gconf:11937): IBUS-DEBUG: bus disconnected
Segmentation fault (core dumped)
ff@ff-laptop:~/ibus-natural-pinyin$ Traceback (most recent call last):
  File "/usr/share/ibus/ui/gtk/panel.py", line 400, in __status_icon_activate_cb
    menu = self.__create_im_menu()
  File "/usr/share/ibus/ui/gtk/panel.py", line 327, in __create_im_menu
    engines = self.__bus.list_active_engines()
  File "/usr/lib/pymodules/python2.6/ibus/bus.py", line 123, in list_active_engines
    engines = self.__ibus.ListActiveEngines()

  File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 140, in __call__
    **keywords)
  File "/usr/lib/pymodules/python2.6/dbus/connection.py", line 620, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Peng Huang

unread,
Sep 26, 2009, 6:17:24 AM9/26/09
to ibus-...@googlegroups.com
你手动运行/usr/libexec/ibus-engine-natural-pinyin --ibus,看看会不会有什么错误?

Yu Fan

unread,
Sep 26, 2009, 7:20:16 AM9/26/09
to ibus-...@googlegroups.com
如果保留natural-pinyin.xml, 运行/usr/libexec/ibus-engine-natural-pinyin --ibus
会提示注册dbus已经有owner。
删除natural-pinyin.xml后, 运行/usr/libexec/ibus-engine-natural-pinyin --ibus,
没有错误提示, 但是ibus的菜单里面也看不到注册的输入法。

Peng Huang

unread,
Sep 27, 2009, 1:25:32 AM9/27/09
to ibus-...@googlegroups.com
今天测试了一下,就是下面错误导致的这个问题。request_name请求的bus名字必须与xml文件里定义的component的名字保持一致,否则ibus就会找不到你的引擎。

[phuang@phuang-notebook engine]$ git diff main.py
diff --git a/python/engine/main.py b/python/engine/main.py
index 2a3e168..88ccc7f 100644
--- a/python/engine/main.py
+++ b/python/engine/main.py
@@ -61,7 +61,7 @@ class IMApp:
                self.__bus.connect("destroy", self.__bus_destroy_cb)
                self.__factory = factory.EngineFactory(self.__bus)
                if exec_by_ibus:
-                       self.__bus.request_name("org.freedesktop.IBus.NaturalPinYin", 0)
+                       self.__bus.request_name("org.freedesktop.IBus.NaturalPinyin", 0)
                else:
                        self.__bus.register_component(self.__component)
Reply all
Reply to author
Forward
0 new messages