আমি লিনাক্স মিন্ট 13 মেট ব্যবহার করি এবং আমি ডিভাইসগুলি প্লাগ / আনপ্লাগ করার সময় বিজ্ঞপ্তিগুলি সেট আপ করার চেষ্টা করছি।
প্রথমত, আমি udev-notify প্যাকেজটি পেয়েছি , তবে দুর্ভাগ্যক্রমে এটি আমার পক্ষে প্রায়শই কার্যকর হয় না: এটি খুব অল্প সময়ের জন্য (1-2 মিনিট) কাজ করে এবং তারপরে, আমি যদি কোনও ডিভাইস সংযোগ / সংযোগ বিচ্ছিন্ন করি তবে এটি ক্র্যাশ হয়ে যায়:
Traceback (most recent call last):
File "./udev-notify.py", line 319, in <module>
notification.show()
glib.GError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.1061 was not provided by any .service files
আমি কোনও সমাধান পাইনি, সুতরাং আমাকে এটি সরিয়ে ফেলতে হয়েছিল। (দায়ের করা বাগ্রেপোর্ট )
অবাক করে বলা যায়, আমি এখন পর্যন্ত খুঁজে পাইনি এমন কোনও ইউটিলিটি নেই। তারপরে আমি ইউদেব বিধিগুলি লেখার চেষ্টা করেছি যা সমস্ত ডিভাইসের সাথে মেলে। আমি নতুন ফাইল যুক্ত করেছি /etc/udev/rules.d/notify.rules
:
ACTION=="add", RUN+="/bin/bash /home/dimon/tmp/device_plug.sh"
ACTION=="remove", RUN+="/bin/bash /home/dimon/tmp/device_unplug.sh"
এবং দুটি স্ক্রিপ্ট:
device_plug.sh:
#!/bin/bash
export DISPLAY=":0"
notify-send "device plugged"
/usr/bin/play -q /path/to/plug_sound.wav &
device_unplug.sh:
#!/bin/bash
export DISPLAY=":0"
notify-send "device unplugged"
/usr/bin/play -q /path/to/unplug_sound.wav &
এটি কাজ করে, তবে এটি খুব বোবা কাজ করে। আমার প্রশ্নগুলি হ'ল:
- সংযুক্ত ডিভাইসের প্রকৃত শিরোনাম কীভাবে পাওয়া যায়,
lsusb
আউটপুটে আমি দেখতে পাচ্ছি তার মতোই ? বর্তমানে, আমি কেবল "প্লাগড" এবং "প্লাগড" এর মতো বিজ্ঞপ্তি পেয়েছি এবং আমার উদেব নিয়মে আমি কীভাবে ডিভাইসটির নামটি পুনরুদ্ধার করতে পারি তা খুঁজে পাচ্ছি না (যদি আমি পারতাম তবে আমি এটি আমার স্ক্রিপ্টে এটি হিসাবে প্রেরণ করব) প্যারামিটার) - বর্তমানে, অনেকগুলি বিজ্ঞপ্তি সক্রিয় করা হয়েছে। বলুন, আমি যখন আমার ইউএসবি স্টিকটি সংযুক্ত করি তখন আমি প্রায় 15 টি বিজ্ঞপ্তি পেয়েছি! তবে, যদি আমি চালনা করি তবে
lsusb
সংযুক্ত ইউএসবি স্টিকটি কেবলমাত্র একক ডিভাইস হিসাবে প্রদর্শিত হয়। সুতরাং, ফিল্টার নিয়মের জন্য আমার আরও কিছু যুক্তি যুক্ত করা উচিত বলে মনে হচ্ছে, তবে আমি এটি খুঁজে পাচ্ছি না। - সম্ভবত ডিভাইস প্লাগ / আনপ্লাগ নোটিফিকেশনের আরও কিছু ভাল সমাধান আছে? কিছু জানা থাকলে দয়া করে পরামর্শ দিন।
pyudev
বিজ্ঞাপিত হওয়ার জন্য ব্যবহার করে এবং এতে অতিরিক্ত স্ক্রিপ্টগুলির প্রয়োজন হয় না/etc/udev
।