উবুন্টু পরিবেশে dbus কীভাবে কাজ করছে তা বোঝার জন্য আমি dbus- মনিটরের সাথে চারপাশে খেলছি । এই বিষয়ে আমার বেশ কয়েকটি প্রশ্ন রয়েছে:
আপনি কি দয়া করে আমাকে নীচের সঠিকভাবে পড়বেন তা জানাতে পারেন? আমি বড় ধারণাটি বুঝতে পারি, তবে বিশদটি নয়।
signal sender=:1.1948 -> dest=(null destination) serial=1829990 path=/org/ayatana/menu/DA00003; interface=org.ayatana.dbusmenu; member=ItemPropertyUpdated int32 23 string "enabled" variant boolean true method call sender=:1.6 -> dest=org.freedesktop.Notifications serial=1399 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=GetCapabilities
আমি পেয়েছি যে প্রথমটি একটি সিগন্যাল এবং দ্বিতীয়টি একটি পদ্ধতি। গন্তব্য মানে কি কোনও সংকেতের জন্য নির্দিষ্ট প্রাপক / স্লট থাকতে পারে? সদস্য কী ? এবং তালিকার আইটেমগুলি কি সিগন্যালের পরে যুক্তিগুলি সিগন্যালে পাস হয়? কি কি প্রেরক এবং ধারাবাহিক ?
আমি ভলিউম-নিয়ন্ত্রণ এবং বিজ্ঞপ্তিগুলির মধ্যে সম্পর্ক সম্পর্কে কিছু লক্ষ্য করেছি। আমি ডিবিস-মনিটর আউটপুট থেকে যা পড়েছি তা থেকে
method call sender=:1.6 -> dest=org.freedesktop.Notifications serial=1400 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify string "gnome-settings-daemon" uint32 0 string "notification-audio-volume-medium" string " " string "" array [ ] array [ dict entry( string "value" variant int32 38 ) dict entry( string "x-canonical-private-synchronous" variant string "volume" ) ] int32 -1
দেখে মনে হচ্ছে যে বিজ্ঞপ্তিটি তার পদ্ধতি দ্বারা ট্রিগার করা হয়েছে। আমি কেন সত্যিই বুঝতে পারি না কেন এটি এইভাবে কাজ করে। আমার দৃষ্টিতে এটি যদি আরও সূচিত হয় যে "প্রজ্ঞাপন-অডিও-ভলিউম-মাঝারি" প্রেরণকারী একটি সংকেত উপস্থিত ছিল এবং বিজ্ঞপ্তিটি এই সংকেতটি শুনবে এবং সে অনুযায়ী প্রতিক্রিয়া জানাবে। যদি প্রেরণ / গ্রহণ ব্যক্তিগতের পরিবর্তে সর্বজনীন হয়, তবে এটি কি আরও নমনীয়তা এবং দক্ষতার অনুমতি দেবে না? উদাহরণস্বরূপ যদি "নোটিফিকেশন-অডিও-ভলিউম-মিডিয়াম" এর জন্য সর্বজনীন সংকেত থাকে তারপরে বেশ কয়েকটি অ্যাপ্লিকেশন এই সংকেতটি শুনতে পারে (যা প্রতিযোগিতামূলক বিজ্ঞপ্তি অ্যাপ্লিকেশনগুলিকে অস্তিত্বে আসার অনুমতি দেয়) এবং বিকাশকারীরা কেবল সিগন্যাল প্রেরণে উদ্বিগ্ন হতে হবে, যখন একটি সংকেত বাছাই করা এবং পরিচালনা করা হ'ল নোটিফিকেশন অ্যাপ্লিকেশনটির ব্যবসা (বা অন্য কোনও বিষয়) প্রোগ্রাম যা এই সংকেত প্রয়োজন)।
আমি ডিবাসের জন্য কেবল নতুন এবং আমি পাইথনে ডিবাসের সাথে কাজ করছি, প্রধানত কিছু অ্যাপলেট বিকাশের জন্য আরও শিখতে চাই। আমি dbus-python টিউটোরিয়াল দেখেছি এবং এটি শিখিয়েছে কীভাবে সমস্ত সংকেত শুনতে হবে (ইন্টারফেস বা পাথ উভয়ই উল্লেখ না করে) তবে কীভাবে পদ্ধতিগুলি ডাকা হয় যখন ডাবাস-মনিটর করে?
কীভাবে এটি কাজ করে তা শেখানোর ধৈর্য যদি আপনার হয় তবে আপনাকে স্বাগতম।