जवाबों:
सत्र:
dbus-send --session \
--dest=org.freedesktop.DBus \
--type=method_call \
--print-reply \
/org/freedesktop/DBus \
org.freedesktop.DBus.ListNames
सिस्टम:
dbus-send --system \
--dest=org.freedesktop.DBus \
--type=method_call \
--print-reply \
/org/freedesktop/DBus \
org.freedesktop.DBus.ListNames
यदि आप GUI टूल पसंद करते हैं तो आप DFeet का उपयोग कर सकते हैं ।
qdbusviewer
तुम्हारा सबसे अच्छा दोस्त है; यह आपको डी-बस संदेश भेजने की अनुमति देता है:
qdbusviewer: could not exec '/usr/lib/i386-linux-gnu/qt4/bin/qdbusviewer': No such file or directory
d-feet
आज के रूप में काम करता है।
d-feet
इसे और अधिक दृश्यमान बनाने के लिए एक उत्तर के रूप में जोड़ने पर विचार करें
अजगर रास्ता सुंदर तरीका है।
सिस्टम सेवाएं:
import dbus
for service in dbus.SystemBus().list_names():
print(service)
सत्र सेवाएँ:
import dbus
for service in dbus.SessionBus().list_names():
print(service)
pip install dbus-python
। अजगर-दब्बू पैकेज भी उपलब्ध है (मैं 2 मिनट मैंने कोशिश की थी) में काम करने में असमर्थ था।
gdbus
glib2 का हिस्सा है और बैश पूर्णताओं का समर्थन करता है। यहाँ यह कैसे उपयोग करने के लिए है (Fedora पर):
bash-4.4$ source /usr/share/bash-completion/completions/gdbus
bash-4.4$ gdbus call --system --dest <TAB><TAB>
यह सभी संभावित स्थलों को दिखाएगा। उपलब्ध इंटरफेस की एक सूची प्राप्त करने के लिए DBus org.freedesktop.DBus.ListNames
विधि का निर्यात करता है। आप इसे कॉल करके चला सकते हैं:
gdbus call --system --dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.ListNames
दुर्भाग्य से यह अपठनीय उत्पादन की ओर जाता है। सौभाग्य से उत्पादन वैध अजगर है, इसलिए यह संभव है:
gdbus call --system --dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.ListNames | \
python -c 'import sys, pprint; pprint.pprint(eval(sys.stdin.read()))'
मैं आमतौर पर ऐसा नहीं करता, लेकिन आस्तीन पर रखने के लिए एक अच्छी चाल है। मैं gdbus
कोड पर जाने से पहले आत्मनिरीक्षण और अवधारणाओं को साबित करने के लिए उपयोग करता हूं । बैश पूरा होने से बहुत टाइपिंग बचती है और टाइपो से बचते हैं। अच्छा होता है करने के लिए gdbus
एक अच्छे उत्पादन प्रदर्शित।
dbus-send
या साथ सूचीबद्ध करने के लिएgdbus
?