Ini adalah perintah gdbus yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
gdbus - Alat untuk bekerja dengan objek D-Bus
RINGKASAN
gdbus introspeksi [--sistem | --sesi | --alamat alamat] --tujuan nama_bus
--jalan-objek /jalan/ke/objek [--xml] [--recurse] [--hanya-properti]
gdbus memantau [--sistem | --sesi | --alamat alamat] --tujuan nama_bus
[--objek-jalur /jalan/ke/objek]
gdbus panggil [--sistem | --sesi | --alamat alamat] --tujuan nama_bus
--jalan-objek /jalan/ke/objek --metode org.project.InterfaceName.MethodName
[--waktu habis detik] ARG1 ARG2...
gdbus memancarkan [--sistem | --sesi | --alamat alamat] --jalur objek /jalan/ke/objek
--sinyal org.project.InterfaceName.SignalName [--tujuan nama_bus_unik] ARG1 ARG2...
gdbus membantu
DESKRIPSI
gdbus adalah alat sederhana untuk bekerja dengan objek D-Bus.
PERINTAH
mengintrospeksi
Mencetak antarmuka dan nilai properti untuk objek jarak jauh. Agar ini berfungsi,
pemilik objek perlu mengimplementasikan org.freedesktop.DBus.Introspectable
antarmuka. jika --xml opsi digunakan, XML introspeksi yang dikembalikan dicetak,
jika tidak, representasi cantik yang diuraikan akan dicetak. NS --berulang pilihan dapat digunakan
untuk introspeksi anak (dan anak mereka dan sebagainya) dan --hanya-properti Option
dapat digunakan untuk hanya mencetak antarmuka dengan properti.
Monitor
Memantau satu atau semua benda milik pemilik nama_bus.
panggilan
Memanggil metode pada objek jarak jauh. Setiap argumen untuk diteruskan ke metode harus
ditentukan sebagai serial GVarian kecuali bahwa string tidak memerlukan tanda kutip eksplisit.
Nilai yang dikembalikan dicetak sebagai serial GVarian nilai-nilai.
memancarkan
Memancarkan sinyal. Setiap argumen untuk disertakan dalam sinyal harus ditentukan sebagai
bersambung GVarian kecuali bahwa string tidak memerlukan tanda kutip eksplisit.
membantu
Mencetak bantuan dan keluar.
BASH PENYELESAIAN
gdbus dikirimkan dengan skrip penyelesaian bash untuk menyelesaikan perintah, tujuan, nama bus,
jalur objek dan nama antarmuka/metode.
CONTOH
Ini menunjukkan cara introspeksi suatu objek - perhatikan bahwa nilai masing-masing
properti ditampilkan:
$ gdbus introspeksi --system \
--dest org.freedesktop.NetworkManager \
--object-path /org/freedesktop/NetworkManager/Devices/0
simpul /org/freedesktop/NetworkManager/Devices/0 {
antarmuka org.freedesktop.DBus.Introspectable {
metode:
Introspeksi (mengeluarkan data);
};
antarmuka org.freedesktop.DBus.Properties {
metode:
Dapatkan (dalam antarmuka s,
dalam s propname,
keluar nilai v);
Set (dalam antarmuka s,
dalam s propname,
dalam nilai v);
GetAll (dalam antarmuka s,
keluar a{sv} alat peraga);
};
antarmuka org.freedesktop.NetworkManager.Device.Wired {
sinyal:
PropertiBerubah(a{sv} arg_0);
properti:
readonly b Operator = salah;
readonly u Kecepatan = 0;
readonly s HwAddress = '00:1D:72:88:BE:97';
};
antarmuka org.freedesktop.NetworkManager.Device {
metode:
Memutuskan();
sinyal:
Status Berubah(u arg_0,
kamu arg_1,
kamu arg_2);
properti:
hanya baca u DeviceType = 1;
readonly b Dikelola = benar;
readwrite atau Ip6Config = '/';
readwrite o Dhcp4Config = '/';
readwrite atau Ip4Config = '/';
readonly u Negara = 2;
readwrite u IP4Address = 0;
readonly u Kemampuan = 3;
readonly s Driver = 'e1000e';
readwrite s Antarmuka = 'eth0';
readonly s Udi = '/sys/devices/pci0000:00/0000:00:19.0/net/eth0';
};
};
The --berulang dan --hanya-properti opsi dapat berguna ketika ingin memeriksa semua
objek yang dimiliki oleh proses tertentu:
$ gdbus introspeksi --system --dest org.freedesktop.UPower --object-path / --recurse --only-properties
simpul / {
simpul /org {
simpul /org/freedesktop {
simpul /org/freedesktop/UPower {
antarmuka org.freedesktop.UPower {
properti:
readonly b IsDocked = benar;
hanya baca b LidForceSleep = false;
hanya bisa dibaca b LidIsPresent = false;
readonly b LidIsClosed = salah;
readonly b OnLowBattery = salah;
readonly b OnBattery = salah;
hanya baca b CanHibernate = true;
readonly b CanSuspend = benar;
readonly s DaemonVersion = '0.9.10';
};
simpul /org/freedesktop/UPower/Kebijakan {
};
simpul /org/freedesktop/UPower/Bangun {
antarmuka org.freedesktop.UPower.Wakeups {
properti:
hanya dapat dibaca b HasCapability = true;
};
};
};
};
};
};
Dengan cara yang sama, mengintrospeksi perintah dapat digunakan untuk mempelajari detail tentang Notify
Metode:
[...]
antarmuka org.freedesktop.Notifikasi {
metode:
GetServerInformation(keluar s return_name,
keluar kembali_vendor,
keluar s return_version,
keluar s return_spec_version);
GetCapabilities (keluar sebagai return_caps);
CloseNotification(dalam u id);
Beritahu (dalam s app_name,
di kamu id,
dalam ikon s,
dalam ringkasan,
dalam tubuh s,
sebagai tindakan,
dalam petunjuk {sv},
di waktu saya habis,
keluar u return_id);
};
[...]
Dengan informasi ini, mudah untuk menggunakan panggilan perintah untuk menampilkan notifikasi
$ panggilan gdbus --sesi \
--dest org.freedesktop.Notifikasi \
--object-path /org/freedesktop/Notifikasi \
--metode org.freedesktop.Notifications.Notify \
nama_aplikasi_saya \
42 \
gtk-dialog-info \
"Ringkasan" \
"Ini isi notifikasinya" \
[] \
{} \
5000
(uint32 12,)
Memantau semua objek pada layanan:
$ monitor gdbus --system --dest org.freedesktop.ConsoleKit
Memantau sinyal dari semua objek yang dimiliki oleh org.freedesktop.ConsoleKit
Nama org.freedesktop.ConsoleKit dimiliki oleh :1.15
/org/freedesktop/ConsoleKit/Session2: org.freedesktop.ConsoleKit.Session.ActiveChanged (salah,)
/org/freedesktop/ConsoleKit/Seat1: org.freedesktop.ConsoleKit.Seat.ActiveSessionChanged ('',)
/org/freedesktop/ConsoleKit/Session2: org.freedesktop.ConsoleKit.Session.ActiveChanged (benar,)
/org/freedesktop/ConsoleKit/Seat1: org.freedesktop.ConsoleKit.Seat.ActiveSessionChanged ('/org/freedesktop/ConsoleKit/Session2',)
Memantau satu objek pada layanan:
$ monitor gdbus --system --dest org.freedesktop.NetworkManager --object-path /org/freedesktop/NetworkManager/AccessPoint/4141
Memantau sinyal pada objek /org/freedesktop/NetworkManager/AccessPoint/4141 yang dimiliki oleh org.freedesktop.NetworkManager
Nama org.freedesktop.NetworkManager dimiliki oleh :1.5
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Kekuatan': },)
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Kekuatan': },)
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Kekuatan': },)
/org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({'Kekuatan': },)
Memancarkan sinyal:
$ gdbus emit --session --object-path /foo --signal org.bar.Foo "['foo', 'bar', 'baz']"
Memancarkan sinyal ke proses tertentu:
$ gdbus emit --session --object-path /bar --signal org.bar.Bar someString --dest :1.42
Gunakan gdbus online menggunakan layanan onworks.net