2014-02-18 8 views
1

나는 우분투에서 bluez-simple-agent를 사용하고 su -c bluez-simple-agent로 시작합니다.예외 오류 : 이미 존재하는 시작하는 bluez-simple-agent

Traceback (most recent call last): File "/usr/bin/bluez-simple-agent", line 133, in <module> 
    adapter.RegisterAgent(path, capability) File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in 
__call__ 
    return self._proxy_method(*args, **keywords) File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in 
__call__ 
    **keywords) File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking 
    message, timeout) dbus.exceptions.DBusException: org.bluez.Error.AlreadyExists: Already Exists 

bluez-간단한 에이전트의 codesnippet :

if __name__ == '__main__': 
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) 

bus = dbus.SystemBus() 
manager = dbus.Interface(bus.get_object("org.bluez", "/"), 
         "org.bluez.Manager") 

capability = "DisplayYesNo" 

parser = OptionParser() 
parser.add_option("-c", "--capability", action="store", 
       type="string", dest="capability") 
(options, args) = parser.parse_args() 
if options.capability: 
    capability = options.capability 

if len(args) > 0: 
    path = manager.FindAdapter(args[0]) 
else: 
    path = manager.DefaultAdapter() 

adapter = dbus.Interface(bus.get_object("org.bluez", path), 
         "org.bluez.Adapter") 

path = "/test/agent" 
agent = Agent(bus, path) 

mainloop = gobject.MainLoop() 

if len(args) > 1: 
    if len(args) > 2: 

     device = adapter.FindDevice(args[1]) 

     adapter.RemoveDevice(device) 

    agent.set_exit_on_release(False) 

    adapter.CreatePairedDevice(args[1], path, capability, 
       reply_handler=create_device_reply, 
       error_handler=create_device_error) 
else: 
    adapter.RegisterAgent(path, capability) 
    print "Agent registered" 

mainloop.run() 

가 어떻게 그 문제를 해결할 수 그 후 나는이 같은 예외는 무엇입니까?

답변

2

에이전트 객체는 이미 bluez와 함께 존재하며 우분투에있는 경우이 오류가 발생합니다 (ps에서 찾을 수 있음). 일단 cmd 프롬프트를 통해 단순 에이전트를 사용할 수 있습니다.

+0

ty worked !!! – csnewb