이는 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 mdbus2 명령입니다.
프로그램:
이름
mdbus2 - 대화형 DBus 검사, 상호 작용 및 모니터링
개요
mdbus2 [옵션...] [ 나를 섬기다 [ 개체 경로 [ 방법 [ 매개변수... ]]]]
mdbus2 -시
mdbus2 -sl
기술
XNUMXD덴탈의 mdbus2 명령은 DBus 서비스를 탐색하고 상호 작용하는 데 사용됩니다. 체계 버스
과 세션 버스. 시스템 차원의 메시지 버스는 단 한 번만 존재하며 여러 시스템에 설치됩니다.
시스템을 "messagebus" 서비스로 사용합니다. 세션 메시지 버스는 사용자 로그인 단위입니다(시작됨
사용자가 로그인할 때마다) 일반적으로 X11 세션에 연결됩니다.
가장 간단한 형태로 mdbus2는 선택한 버스에서 사용 가능한 서비스를 보여줍니다. 주어진
서비스 name, 사용 가능한 항목이 표시됩니다. 사물 서비스에서 내보냅니다. 주어진 서비스
이름과 대상 통로, 그것은 노출을 보여줄 것입니다 방법, 신호및 속성 그것의
목적.
공급 방법 name (그리고 매개 변수), 개체에 대한 메서드를 호출하고
return 가치(S).
. 청취 모드, 선택한 버스에서 전송되는 신호를 관찰할 수 있습니다.
또한 포함된 대화형 껍질 탭 완성 및 명령 기록 포함.
옵션
--show-익명, -a
또한 표시 유일한 (익명) 버스의 서비스.
--체계, -s
(기본) 세션 버스 대신 시스템 버스를 사용하십시오.
-show-pids, -p
UNIX 프로세스 ID를 표시합니다.
--듣다, -l
버스에서 신호를 관찰할 수 있는 리스너 모드를 시작합니다.
--인터렉티브, -i
대화형 셸을 시작합니다.
--주석 유형, -t
DBus 유형에 주석을 답니다.
사용법
서비스에 의해 구현된 개체에서 메서드를 호출하려면 다음을 지정해야 합니다.
다음 값 :
1 서비스 name, 예. org.freesmartphone.ogsmd – 서비스 이름은 식별
여러 객체를 제공하는 프로세스. 에 부착되는 모든 프로세스
버스는 다음과 같이 적어도 고유하지 않은(익명의) 서비스 이름이 할당됩니다.
: 1.0. 다음과 같은 고유한 이름 org.freesmartphone.ogsmd, 일반적으로 주어진
모두 소문자로 된 역방향 도메인 이름 표기법.
2 대상 통로, 예. /org/freesmartphone/GSM/장치 – 개체 경로
프로세스에서 제공하는 하나의 구체적인 개체를 식별합니다. 일반적으로 개체 경로
파일 시스템 경로처럼 보입니다.
3 방법, 예. org.freesmartphone.GSM.Call.Initiate – 메서드 이름
인터페이스(메서드 및 신호)의 일부인 작업을 식별합니다.
개체의. 방법 이름이 사용 중입니다. 낙타 케이스 점 표기법으로.
4 매개 변수, 예. +49123456 목소리`. (에 be 기술 된 더 나아가).
사용 예
현재 시스템 버스에 등록된 버스 이름을 찾으십시오.
root@om-gta02:~# mdbus -s
: 1.0
: 1.1
: 1.2
: 1.42
: 1.47
: 1.60
: 1.61
org.bluez
org.freedesktop.Avahi
org.freedesktop.DBus
org.freesmartphone.frameworkd
org.freesmartphone.ogsmd
org.pyneo.muxer
특정 서비스에서 어떤 객체를 제공하는지 알아보십시오.
root@om-gta02:~# mdbus -s org.freesmartphone.frameworkd
/
/org
/org/freesmartphone
/org/freesmartphone/프레임워크
/org/freesmartphone/GSM
/org/freesmartphone/GSM/장치
/org/freesmartphone/GSM/서버
특정 개체의 인터페이스를 찾으십시오.
root@om-gta02:~# mdbus -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/장치
[방법] org.freesmartphone.GSM.Call.Activate( i:index )
[방법] org.freesmartphone.GSM.Call.ActivateConference( i:index )
[방법] org.freesmartphone.GSM.Call.HoldActive()
[방법] org.freesmartphone.GSM.Call.Initiate( s:번호, s:type_ )
[방법] org.freesmartphone.GSM.Call.Release( i:index )
[방법] org.freesmartphone.GSM.Call.ReleaseAll()
[방법] org.freesmartphone.GSM.Call.ReleaseHeld()
[신호] org.freesmartphone.GSM.Call.CallStatus( i:index, s:status, a{sv}:properties )
[방법] org.freedesktop.DBus.Introspectable.Introspect()
[방법] org.freesmartphone.GSM.Device.CancelCommand()
[방법] org.freesmartphone.GSM.Device.GetAntennaPower()
[방법] org.freesmartphone.GSM.Device.GetFeatures()
[방법] org.freesmartphone.GSM.Device.GetInfo()
[방법] org.freesmartphone.GSM.Device.PrepareForSuspend()
[방법] org.freesmartphone.GSM.Device.RecoverFromSuspend()
[방법] org.freesmartphone.GSM.Device.SetAntennaPower( b:power )
[방법] org.freesmartphone.GSM.SIM.ChangeAuthCode(s:old_pin, s:new_pin)
[방법] org.freesmartphone.GSM.SIM.DeleteEntry( i:index )
[방법] org.freesmartphone.GSM.SIM.DeleteMessage( i:index )
[방법] org.freesmartphone.GSM.SIM.GetAuthStatus()
[방법] org.freesmartphone.GSM.SIM.GetImsi()
[방법] org.freesmartphone.GSM.SIM.GetMessagebookInfo()
[방법] org.freesmartphone.GSM.SIM.GetPhonebookInfo()
[방법] org.freesmartphone.GSM.SIM.GetServiceCenterNumber()
[방법] org.freesmartphone.GSM.SIM.GetSimCountryCode()
[방법] org.freesmartphone.GSM.SIM.GetSubscriberNumbers()
[방법] org.freesmartphone.GSM.SIM.RetrieveEntry( i:index )
[방법] org.freesmartphone.GSM.SIM.RetrieveMessage( i:index )
[방법] org.freesmartphone.GSM.SIM.RetrieveMessagebook(s:category)
[방법] org.freesmartphone.GSM.SIM.RetrievePhonebook()
[방법] org.freesmartphone.GSM.SIM.SendAuthCode( s:code )
[방법] org.freesmartphone.GSM.SIM.SetServiceCenterNumber(s:number)
[방법] org.freesmartphone.GSM.SIM.StoreEntry( i:index, s:name, s:number )
[방법] org.freesmartphone.GSM.SIM.StoreMessage( s:번호, s:콘텐츠 )
[방법] org.freesmartphone.GSM.SIM.Unlock( s:puk, s:new_pin )
[신호] org.freesmartphone.GSM.SIM.AuthStatus(s:status)
[신호] org.freesmartphone.GSM.SIM.NewMessage( i:index )
[방법] org.freesmartphone.GSM.Network.DisableCallForwarding( s:reason, s:class_ )
[방법] org.freesmartphone.GSM.Network.EnableCallForwarding(s:reason, s:class_, s:number, i:timeout)
[방법] org.freesmartphone.GSM.Network.GetCallForwarding(s:reason)
[방법] org.freesmartphone.GSM.Network.GetCallingIdentification()
[방법] org.freesmartphone.GSM.Network.GetNetworkCountryCode()
[방법] org.freesmartphone.GSM.Network.GetSignalStrength()
[방법] org.freesmartphone.GSM.Network.GetStatus()
[방법] org.freesmartphone.GSM.Network.ListProviders()
[방법] org.freesmartphone.GSM.Network.Register()
[방법] org.freesmartphone.GSM.Network.RegisterWithProvider( i:operator_code )
[방법] org.freesmartphone.GSM.Network.SetCallingIdentification(s:status)
[방법] org.freesmartphone.GSM.Network.Unregister()
[신호] org.freesmartphone.GSM.Network.SignalStrength( i:strength )
[신호] org.freesmartphone.GSM.Network.Status( a{sv}:status )
[방법] org.freesmartphone.GSM.PDP.ActivateContext(s:apn, s:user, s:password)
[방법] org.freesmartphone.GSM.PDP.DeactivateContext()
[방법] org.freesmartphone.GSM.PDP.GetCurrentGprsClass()
[방법] org.freesmartphone.GSM.PDP.ListAvailableGprsClasses()
[방법] org.freesmartphone.GSM.PDP.SetCurrentGprsClass( s:class_ )
[신호] org.freesmartphone.GSM.PDP.ContextStatus( i:index, s:status, a{sv}:properties )
[방법] org.freesmartphone.GSM.Test.Command( s:command )
[방법] org.freesmartphone.GSM.Test.Echo( s:echo )
인터페이스에서 메서드를 호출합니다.
root@om-gta02 ~ $ mdbus -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Device.GetInfo
{ 'imei': '354651011234567',
'제조업체': 'FIC/OpenMoko',
'모델': '"Neo1973 GTA02 내장 GSM 모뎀"',
'수정': '"HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko8"'}
청취 모드에서 사용:
root@om-gta02:/local/pkg/fso/framework/framework# mdbus -s -l
Service 'all', object 'all'에서 SystemBus의 신호 수신 중...
[신호] org.freedesktop.DBus.NameOwner가 org.freedesktop.DBus /org/freedesktop/DBus에서 변경됨
(dbus.String(u'org.pyneo.muxer'), dbus.String(u':1.6'), dbus.String(u''))
[신호] org.freedesktop.DBus.NameOwner가 org.freedesktop.DBus /org/freedesktop/DBus에서 변경됨
(dbus.String(u':1.6'), dbus.String(u':1.6'), dbus.String(u''))
[신호] org.freedesktop.DBus.NameOwner가 org.freedesktop.DBus /org/freedesktop/DBus에서 변경됨
(dbus.String(u':1.28'), dbus.String(u''), dbus.String(u':1.28'))
[신호] org.freedesktop.DBus.NameOwner가 org.freedesktop.DBus /org/freedesktop/DBus에서 변경됨
(dbus.String(u'org.freesmartphone.frameworkd'), dbus.String(u''), dbus.String(u':1.28'))
[신호] org.freedesktop.DBus.NameOwner가 org.freedesktop.DBus /org/freedesktop/DBus에서 변경됨
(dbus.String(u'org.freesmartphone.ogsmd'), dbus.String(u''), dbus.String(u':1.28'))
[신호] org.freedesktop.DBus.NameOwner가 org.freedesktop.DBus /org/freedesktop/DBus에서 변경됨
(dbus.String(u':1.29'), dbus.String(u''), dbus.String(u':1.29'))
[신호] org.freedesktop.DBus.NameOwner가 org.freedesktop.DBus /org/freedesktop/DBus에서 변경됨
(dbus.String(u'org.pyneo.muxer'), dbus.String(u''), dbus.String(u':1.29'))
[신호] org.freedesktop.DBus.NameOwner가 org.freedesktop.DBus /org/freedesktop/DBus에서 변경됨
(dbus.String(u':1.30'), dbus.String(u''), dbus.String(u':1.30'))
[신호] org.freesmartphone.GSM.SIM.ReadyStatus from :1.28 /org/freesmartphone/GSM/Device
(dbus.Boolean(거짓),)
[신호] org.freesmartphone.GSM.SIM.AuthStatus from :1.28 /org/freesmartphone/GSM/Device
(dbus.String(u'SIM PIN'),)
[신호] org.freesmartphone.GSM.SIM.AuthStatus from :1.28 /org/freesmartphone/GSM/Device
(dbus.String(u'READY'),)
[신호] org.freesmartphone.GSM.SIM.ReadyStatus from :1.28 /org/freesmartphone/GSM/Device
(dbus.Boolean(참),)
onworks.net 서비스를 사용하여 mdbus2 온라인 사용