gdbus - онлайн в облаке

Это команда gdbus, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


gdbus - Инструмент для работы с объектами D-Bus

СИНТАКСИС


gdbus самоанализ [--system | --сессия | --адрес адрес] --назначение имя_буса
- объект-путь / путь / к / объекту [--xml] [--recurse] [--только-свойства]

gdbus монитор [--system | --сессия | --адрес адрес] --назначение имя_буса
[--путь-объекта / путь / к / объекту]

gdbus позвонить [--system | --сессия | --адрес адрес] --назначение имя_буса
- объект-путь / путь / к / объекту --метод org.project.ИмяИнтерфейса.ИмяМетода
[--тайм-аут секунды] ARG1 ARG2 ...

gdbus испустить [--system | --сессия | --адрес адрес] --путь-объекта / путь / к / объекту
--сигнал org.project.InterfaceName.SignalName [--назначение уникальное_имя_шины] ARG1 ARG2 ...

gdbus помощь

ОПИСАНИЕ


gdbus это простой инструмент для работы с объектами D-Bus.

КОМАНДЫ


Introspect
Распечатывает интерфейсы и значения свойств для удаленного объекта. Чтобы это сработало,
владелец объекта должен реализовать org.freedesktop.DBus.Introspectable
интерфейс. Если --xml используется опция, печатается возвращенный XML-код интроспекции,
в противном случае печатается проанализированное красивое представление. В - рекурсивный вариант можно использовать
для самоанализа детей (и их детей и т. д.) и --только-свойства вариант
может использоваться только для печати интерфейсов со свойствами.

монитор
Контролирует один или все объекты, принадлежащие владельцу имя_буса.

призывают
Вызывает метод удаленного объекта. Каждый аргумент, передаваемый методу, должен быть
указан как сериализованный GВариант за исключением того, что строки не нуждаются в явных кавычках.
Возвращаемые значения распечатываются как сериализованные. GВариант значения.

испускают
Подает сигнал. Каждый аргумент для включения в сигнал должен быть указан как
сериализован GВариант за исключением того, что строки не нуждаются в явных кавычках.

помощь
Печатает справку и выходит.

BASH ЗАВЕРШЕНИЕ


gdbus поставляется со сценарием завершения bash для выполнения команд, пунктов назначения, имен автобусов,
пути к объектам и имена интерфейсов / методов.

ПРИМЕРЫ


Это показывает, как исследовать объект - обратите внимание, что значение каждого
свойство отображается:

$ gdbus интроспект --system
--dest org.freedesktop.NetworkManager
--object-путь / org / freedesktop / NetworkManager / Devices / 0
node / org / freedesktop / NetworkManager / Devices / 0 {
интерфейс org.freedesktop.DBus.Introspectable {
методы:
Introspect (исходящие данные);
};
интерфейс org.freedesktop.DBus.Properties {
методы:
Получить (в интерфейсе s,
в s propname,
значение v);
Установить (в интерфейсе s,
в s propname,
в значении v);
GetAll (в интерфейсе s,
из {sv} реквизита);
};
интерфейс org.freedesktop.NetworkManager.Device.Wired {
сигналы:
PropertiesChanged ({sv} arg_0);
свойства:
только для чтения b Carrier = false;
только чтение u Скорость = 0;
readonly s HwAddress = '00: 1D: 72: 88: BE: 97 ';
};
интерфейс org.freedesktop.NetworkManager.Device {
методы:
Отключить();
сигналы:
StateChanged (u arg_0,
ты аргумент_1,
у аргумент_2);
свойства:
только для чтения u Тип устройства = 1;
только для чтения b Управляемый = true;
readwrite o Ip6Config = '/';
readwrite o Dhcp4Config = '/';
readwrite o Ip4Config = '/';
только для чтения u State = 2;
чтение и запись u Ip4Address = 0;
только для чтения u Возможности = 3;
только для чтения s Driver = 'e1000e';
readwrite s Interface = 'eth0';
только для чтения s Udi = '/sys/devices/pci0000:00/0000:00:19.0/net/eth0';
};
};

" - рекурсивный и --только-свойства параметры могут быть полезны, когда вы хотите проверить все
объекты, принадлежащие определенному процессу:

$ gdbus introspect --system --dest org.freedesktop.UPower --путь-объекта / --recurse --only-properties
узел / {
node / org {
node / org / freedesktop {
node / org / freedesktop / UPower {
интерфейс org.freedesktop.UPower {
свойства:
только для чтения b IsDocked = true;
только для чтения b LidForceSleep = false;
только для чтения b LidIsPresent = false;
только для чтения b LidIsClosed = false;
только для чтения b OnLowBattery = false;
только для чтения b OnBattery = false;
только для чтения b CanHibernate = true;
только для чтения b CanSuspend = true;
readonly s DaemonVersion = '0.9.10';
};
node / org / freedesktop / UPower / Policy {
};
node / org / freedesktop / UPower / Wakeups {
интерфейс org.freedesktop.UPower.Wakeups {
свойства:
только для чтения b HasCapability = true;
};
};
};
};
};
};

Аналогичным образом Introspect можно использовать для получения подробной информации об уведомлении
Метод:

[...]
интерфейс org.freedesktop.Notifications {
методы:
GetServerInformation (out s return_name,
выход return_vendor,
out return_version,
out s return_spec_version);
GetCapabilities (выводится как return_caps);
CloseNotification (в u id);
Уведомить (в s app_name,
в тебе id,
в значке s,
вкратце,
в теле,
в качестве действий,
в {sv} намеках,
в я таймаут,
выходной return_id);
};
[...]

Имея эту информацию, легко использовать призывают команда для отображения уведомления

$ gdbus вызов --сессия
--dest org.freedesktop.Notifications
--object-path /org/freedesktop/Уведомления
--method org.freedesktop.Notifications.Notify
мое_имя_приложения
42
gtk-диалог-информация
"Резюме"
«Вот тело уведомления»
[]
{}
5000
(uint32 12,)

Мониторинг всех объектов на сервисе:

$ gdbus Monitor --system --dest org.freedesktop.ConsoleKit
Мониторинг сигналов от всех объектов, принадлежащих org.freedesktop.ConsoleKit
Имя org.freedesktop.ConsoleKit принадлежит: 1.15
/ org / freedesktop / ConsoleKit / Session2: org.freedesktop.ConsoleKit.Session.ActiveChanged (ложь,)
/ org / freedesktop / ConsoleKit / Seat1: org.freedesktop.ConsoleKit.Seat.ActiveSessionChanged ('',)
/ org / freedesktop / ConsoleKit / Session2: org.freedesktop.ConsoleKit.Session.ActiveChanged (истина,)
/ org / freedesktop / ConsoleKit / Seat1: org.freedesktop.ConsoleKit.Seat.ActiveSessionChanged ('/ org / freedesktop / ConsoleKit / Session2',)

Мониторинг отдельного объекта в сервисе:

$ gdbus monitor --system --dest org.freedesktop.NetworkManager --object-path / org / freedesktop / NetworkManager / AccessPoint / 4141
Мониторинг сигналов на объекте / org / freedesktop / NetworkManager / AccessPoint / 4141, принадлежащем org.freedesktop.NetworkManager
Имя org.freedesktop.NetworkManager принадлежит: 1.5
/ org / freedesktop / NetworkManager / AccessPoint / 4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Сила': },)
/ org / freedesktop / NetworkManager / AccessPoint / 4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Сила': },)
/ org / freedesktop / NetworkManager / AccessPoint / 4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Сила': },)
/ org / freedesktop / NetworkManager / AccessPoint / 4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Сила': },)

Излучающий сигнал:

$ gdbus emit --session --object-path / foo --signal org.bar.Foo "['foo', 'bar', 'baz']»

Отправка сигнала определенному процессу:

$ gdbus emit --session --object-path / bar --signal org.bar.Bar someString --dest: 1.42

Используйте gdbus онлайн с помощью сервисов onworks.net



Новейшие онлайн-программы для Linux и Windows