Aceasta este comanda gdbus care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
gdbus - Instrument pentru lucrul cu obiecte D-Bus
REZUMAT
gdbus introspect [--sistem | --sesiune | --abordare adresa] --dest nume_autobuz
--obiect-cale /cale/la/obiect [--xml] [--recurse] [--only-properties]
gdbus monitor [--sistem | --sesiune | --abordare adresa] --dest nume_autobuz
[--obiect-cale /cale/la/obiect]
gdbus apelează [--sistem | --sesiune | --abordare adresa] --dest nume_autobuz
--obiect-cale /cale/la/obiect --metodă org.project.InterfaceName.MethodName
[--pauză secunde] ARG1 ARG2...
gdbus emit [--sistem | --sesiune | --abordare adresa] --obiect-cale /cale/la/obiect
--semnal org.project.InterfaceName.SignalName [--dest nume_autobuz_unic] ARG1 ARG2...
gdbus ajutor
DESCRIERE
gdbus este un instrument simplu pentru lucrul cu obiecte D-Bus.
COMANDE
introspectiv
Tipărește interfețele și valorile proprietăților pentru un obiect la distanță. Pentru ca acest lucru să funcționeze,
proprietarul obiectului trebuie să implementeze org.freedesktop.DBus.Introspectable
interfata. Dacă --xml este utilizată opțiunea, XML-ul de introspecție returnat este tipărit,
în caz contrar, este tipărită o reprezentare destul de analizată. The --recurs poate fi folosită opțiunea
a introspecta copiii (și copiii lor și așa mai departe) și cel --numai-proprietăți opțiune
poate fi folosit doar pentru a tipări interfețele cu proprietăți.
monitorizează
Monitorizează unul sau toate obiectele deținute de proprietarul nume_autobuz.
apel
Invocă o metodă pe un obiect la distanță. Fiecare argument de transmis metodei trebuie să fie
specificat ca un serializat GVariant cu excepția faptului că șirurile de caractere nu au nevoie de ghilimele explicite.
Valorile returnate sunt tipărite ca serializate GVariant valori.
emite
Emite un semnal. Fiecare argument de inclus în semnal trebuie specificat ca a
serializat GVariant cu excepția faptului că șirurile de caractere nu au nevoie de ghilimele explicite.
ajutor
Imprimări ajutor și ieșire.
BASH COMPLETARE
gdbus este livrat cu un script de completare bash pentru a finaliza comenzile, destinațiile, numele autobuzelor,
căile obiectelor și numele de interfețe/metode.
EXEMPLE
Aceasta arată cum să introspectați un obiect - rețineți că valoarea fiecăruia
proprietatea este afișată:
$ gdbus introspect --system \
--dest org.freedesktop.NetworkManager \
--object-path /org/freedesktop/NetworkManager/Devices/0
nod /org/freedesktop/NetworkManager/Devices/0 {
interfață org.freedesktop.DBus.Introspectable {
metode:
Introspect (în afara datelor);
};
interfață org.freedesktop.DBus.Properties {
metode:
Intră (în interfața,
în numele personalului,
out v valoare);
Setați (în interfața,
în numele personalului,
în valoare v);
GetAll (în interfața s,
out a{sv} recuzită);
};
interfață org.freedesktop.NetworkManager.Device.Wired {
semnale:
PropertiesChanged(a{sv} arg_0);
proprietăţi:
readonly b Purtător = fals;
numai citire u Viteză = 0;
readonly s HwAddress = '00:1D:72:88:BE:97';
};
interfață org.freedesktop.NetworkManager.Device {
metode:
Deconectat();
semnale:
StateChanged(u arg_0,
tu arg_1,
u arg_2);
proprietăţi:
numai citire u DeviceType = 1;
readonly b Gestionat = adevărat;
readwrite o Ip6Config = '/';
readwrite o Dhcp4Config = '/';
readwrite o Ip4Config = '/';
readonly u State = 2;
readwrite u Ip4Address = 0;
readonly u Capabilities = 3;
readonly s Driver = 'e1000e';
readwrite s Interfață = 'eth0';
readonly s Udi = '/sys/devices/pci0000:00/0000:00:19.0/net/eth0';
};
};
--recurs și --numai-proprietăți opțiunile pot fi utile atunci când doriți să le inspectați pe toate
obiecte deținute de un anumit proces:
$ gdbus introspect --system --dest org.freedesktop.UPower --object-path / --recurse --only-properties
nod / {
nod /org {
nodul /org/freedesktop {
nodul /org/freedesktop/UPower {
interfață org.freedesktop.UPower {
proprietăţi:
readonly b IsDocked = adevărat;
readonly b LidForceSleep = false;
readonly b LidIsPresent = false;
readonly b LidIsClosed = false;
readonly b OnLowBattery = fals;
readonly b OnBattery = false;
readonly b CanHibernate = true;
readonly b CanSuspend = adevărat;
readonly s DaemonVersion = '0.9.10';
};
nodul /org/freedesktop/UPower/Policy {
};
nodul /org/freedesktop/UPower/Wakeups {
interfață org.freedesktop.UPower.Wakeups {
proprietăţi:
readonly b HasCapability = true;
};
};
};
};
};
};
Într-un mod similar, introspectiv comanda poate fi folosită pentru a afla detalii despre Notificare
metodă:
[...]
interfață org.freedesktop.Notificări {
metode:
GetServerInformation(out s return_name,
out s return_vendor,
versiunea returnată a ei,
out s return_spec_version);
GetCapabilities(out ca return_caps);
CloseNotification (în u id);
Notifică (în numele aplicației,
în id-ul tău,
în icoana lui,
în rezumatul lui,
în corpul lui,
în acțiuni,
într-un{sv} indicii,
în timpul expirat,
out u return_id);
};
[...]
Cu aceste informații, este ușor de utilizat apel comandă pentru a afișa o notificare
$ gdbus call --session \
--dest org.freedesktop.Notificări \
--object-path /org/freedesktop/Notificări \
--method org.freedesktop.Notificări.Notificare \
numele_aplicației_mea \
42 \
gtk-dialog-info \
"Rezumatul" \
„Iată corpul notificării” \
[] \
{} \
5000
(uint32 12,)
Monitorizarea tuturor obiectelor dintr-un serviciu:
$ gdbus monitor --system --dest org.freedesktop.ConsoleKit
Monitorizarea semnalelor de la toate obiectele deținute de org.freedesktop.ConsoleKit
Numele org.freedesktop.ConsoleKit este deținut de :1.15
/org/freedesktop/ConsoleKit/Session2: org.freedesktop.ConsoleKit.Session.ActiveChanged (fals,)
/org/freedesktop/ConsoleKit/Seat1: org.freedesktop.ConsoleKit.Seat.ActiveSessionChanged ('',)
/org/freedesktop/ConsoleKit/Session2: org.freedesktop.ConsoleKit.Session.ActiveChanged (adevărat,)
/org/freedesktop/ConsoleKit/Seat1: org.freedesktop.ConsoleKit.Seat.ActiveSessionChanged ('/org/freedesktop/ConsoleKit/Session2',)
Monitorizarea unui singur obiect pe un serviciu:
$ monitor gdbus --system --dest org.freedesktop.NetworkManager --object-path /org/freedesktop/NetworkManager/AccessPoint/4141
Semnale de monitorizare pe obiectul /org/freedesktop/NetworkManager/AccessPoint/4141 deținut de org.freedesktop.NetworkManager
Numele org.freedesktop.NetworkManager este deținut de :1.5
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({„Forța”: },)
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({„Forța”: },)
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({„Forța”: },)
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({„Forța”: },)
Emiterea unui semnal:
$ gdbus emit --session --object-path /foo --signal org.bar.Foo "['foo', 'bar', 'baz']"
Emiterea unui semnal către un anumit proces:
$ gdbus emit --session --object-path /bar --signal org.bar.Bar someString --dest :1.42
Utilizați gdbus online folosind serviciile onworks.net