นี่คือคำสั่ง gdbus ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
gdbus - เครื่องมือสำหรับการทำงานกับวัตถุ D-Bus
เรื่องย่อ
จีดีบัส วิปัสสนา [--system | --เซสชัน | --ที่อยู่ ที่อยู่] --ปลายทาง บัส_ชื่อ
--object-เส้นทาง /เส้นทาง/ถึง/วัตถุ [--xml] [--recurse] [-- คุณสมบัติเท่านั้น]
จีดีบัส มอนิเตอร์ [--system | --เซสชัน | --ที่อยู่ ที่อยู่] --ปลายทาง บัส_ชื่อ
[--เส้นทางวัตถุ /เส้นทาง/ถึง/วัตถุ]
จีดีบัส โทร [--ระบบ | --เซสชัน | --ที่อยู่ ที่อยู่] --ปลายทาง บัส_ชื่อ
--object-เส้นทาง /เส้นทาง/ถึง/วัตถุ --กระบวนการ org.project.InterfaceName.MethodName
[--หมดเวลา วินาที] ARG1 อาร์จี2...
จีดีบัส ปล่อย [--system | --เซสชัน | --ที่อยู่ ที่อยู่] --object-เส้นทาง /เส้นทาง/ถึง/วัตถุ
--สัญญาณ org.project.InterfaceName.SignalName [--ปลายทาง Unique_bus_name] ARG1 อาร์จี2...
จีดีบัส ช่วย
DESCRIPTION
จีดีบัส เป็นเครื่องมือง่ายๆ สำหรับการทำงานกับวัตถุ D-Bus
คำสั่ง
ครุ่นคิด
พิมพ์อินเทอร์เฟซและค่าคุณสมบัติสำหรับวัตถุระยะไกล เพื่อให้สิ่งนี้ได้ผล
เจ้าของวัตถุจำเป็นต้องใช้ org.freedesktop.DBus.Introspectable
อินเตอร์เฟซ. ถ้า --xml ใช้ตัวเลือก พิมพ์ XML การวิปัสสนาที่ส่งคืน
มิฉะนั้นจะพิมพ์การแสดงสวย ๆ ที่แยกวิเคราะห์ NS --การสาปแช่ง สามารถใช้ออปชั่นได้
เพื่อพิจารณาเด็ก ๆ (และลูก ๆ ของพวกเขาและอื่น ๆ ) และ --เฉพาะ-คุณสมบัติ ตัวเลือก
สามารถใช้เพื่อพิมพ์อินเทอร์เฟซที่มีคุณสมบัติเท่านั้น
หน้าจอ
ตรวจสอบวัตถุหนึ่งหรือทั้งหมดที่เป็นเจ้าของโดยเจ้าของ บัส_ชื่อ.
โทรศัพท์
เรียกใช้เมธอดบนวัตถุระยะไกล แต่ละอาร์กิวเมนต์ที่จะส่งผ่านไปยังเมธอดต้องเป็น
ระบุเป็นอนุกรม GVariant ยกเว้นว่าสตริงไม่จำเป็นต้องมีเครื่องหมายคำพูดที่ชัดเจน
ค่าที่ส่งคืนจะถูกพิมพ์ออกมาเป็นอนุกรม GVariant ค่า
เปล่ง
ส่งสัญญาณ. แต่ละอาร์กิวเมนต์ที่จะรวมในสัญญาณต้องระบุเป็น
ต่อเนื่อง GVariant ยกเว้นว่าสตริงไม่จำเป็นต้องมีเครื่องหมายคำพูดที่ชัดเจน
ช่วย
พิมพ์วิธีใช้และออก
ทุบตี เสร็จสิ้น
จีดีบัส มาพร้อมกับสคริปต์การเสร็จสิ้น bash เพื่อกรอกคำสั่ง, ปลายทาง, ชื่อรถบัส,
เส้นทางอ็อบเจ็กต์และชื่ออินเตอร์เฟส/เมธอด
ตัวอย่าง
นี้แสดงวิธีการไตร่ตรองวัตถุ - โปรดทราบว่าค่าของ each
แสดงคุณสมบัติ:
$ gdbus introspect --system
--dest org.freedesktop.NetworkManager
--object-path /org/freedesktop/NetworkManager/Devices/0
โหนด /org/freedesktop/NetworkManager/Devices/0 {
อินเทอร์เฟซ org.freedesktop.DBus.Introspectable {
วิธีการ:
วิปัสสนา(ข้อมูลออก);
};
อินเทอร์เฟซ org.freedesktop.DBus.Properties {
วิธีการ:
รับ (ในอินเทอร์เฟซ
ใน s propname,
ค่า v);
ตั้งค่า (ในอินเทอร์เฟซ
ใน s propname,
ในค่า v);
GetAll(ในอินเทอร์เฟซ
ออก {sv} อุปกรณ์ประกอบฉาก);
};
อินเทอร์เฟซ org.freedesktop.NetworkManager.Device.Wired {
สัญญาณ:
PropertiesChanged (a{sv} arg_0);
คุณสมบัติ:
อ่านอย่างเดียว b Carrier = false;
อ่านอย่างเดียว u ความเร็ว = 0;
อ่านอย่างเดียว s HwAddress = '00:1D:72:88:BE:97';
};
อินเทอร์เฟซ org.freedesktop.NetworkManager.Device {
วิธีการ:
ตัดการเชื่อมต่อ ();
สัญญาณ:
StateChanged(คุณ arg_0,
คุณ arg_1
คุณ arg_2);
คุณสมบัติ:
อ่านอย่างเดียว u DeviceType = 1;
อ่านอย่างเดียว b จัดการ = จริง;
อ่านเขียน o Ip6Config = '/';
อ่านเขียน o Dhcp4Config = '/';
อ่านเขียน o Ip4Config = '/';
อ่านอย่างเดียว u รัฐ = 2;
อ่านเขียน u Ip4Address = 0;
อ่านอย่างเดียว u ความสามารถ = 3;
ไดร์เวอร์แบบอ่านอย่างเดียว = 'e1000e';
อินเทอร์เฟซของ readwrite = 'eth0';
อ่านอย่างเดียว s Udi = '/sys/devices/pci0000:00/0000:00:19.0/net/eth0';
};
};
การขอ --การสาปแช่ง และ --เฉพาะ-คุณสมบัติ ตัวเลือกมีประโยชน์เมื่อต้องการตรวจสอบทั้งหมด
ออบเจ็กต์ที่เป็นเจ้าของโดยกระบวนการเฉพาะ:
$ gdbus วิปัสสนา --system --dest org.freedesktop.UPower --object-path / --recurse --only-properties
โหนด / {
โหนด / org {
โหนด /org/freedesktop {
โหนด /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;
DaemonVersion แบบอ่านอย่างเดียว = '0.9.10';
};
โหนด /org/freedesktop/UPower/นโยบาย {
};
โหนด /org/freedesktop/UPower/Wakeups {
อินเทอร์เฟซ org.freedesktop.UPower.Wakeups {
คุณสมบัติ:
อ่านอย่างเดียว b HasCapability = true;
};
};
};
};
};
};
ในทำนองเดียวกัน ครุ่นคิด คำสั่งสามารถใช้เพื่อเรียนรู้รายละเอียดเกี่ยวกับการแจ้งเตือน
วิธี:
[ ... ]
อินเทอร์เฟซ org.freedesktop.Notifications {
วิธีการ:
GetServerInformation (ออก return_name,
ออก return_vendor,
ออก return_version,
ออก return_spec_version);
GetCapabilities (ออกเป็น return_caps);
CloseNotification (ใน u id);
แจ้ง (ใน app_name,
ใน u id,
ในไอคอน s,
โดยสรุป,
ในร่างกาย,
ในการดำเนินการ
ใน {sv} คำใบ้
ในการหมดเวลา
ออกคุณ return_id);
};
[ ... ]
ด้วยข้อมูลนี้ มันง่ายที่จะใช้ โทรศัพท์ คำสั่งแสดงการแจ้งเตือน
$ gdbus call --session
--dest org.freedesktop.Notifications
--object-path /org/freedesktop/Notifications
--method org.freedesktop.Notifications.Notify
my_app_name
42
gtk-dialog-info
"The Summary"
"Here's the body of the notification"
[]
{}
5000
(uint32 12,)
การตรวจสอบวัตถุทั้งหมดในบริการ:
มอนิเตอร์ $ gdbus --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 --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 ({'Strength': },)
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Strength': },)
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Strength': },)
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Strength': },)
ส่งสัญญาณ:
$ gdbus emit --session --object-path /foo --signal org.bar.Foo "['foo', 'bar', 'baz']"
การส่งสัญญาณไปยังกระบวนการเฉพาะ:
$ gdbus emit --session --object-path /bar --signal org.bar.Bar บางสตริง --dest :1.42
ใช้ gdbus ออนไลน์โดยใช้บริการ onworks.net