এই থ্রেডটি কিছুটা পুরানো, দুঃখিত, তবে আমি আশা করি যে আমি এখনও বিষয়টিতে দরকারী কিছু যুক্ত করতে পারি। (এছাড়াও জোসেফ কুফনার একটি দুর্দান্ত স্ক্রিপ্ট লিখেছিলেন, এটি আমার স্বাদের জন্য কিছুটা দীর্ঘ ছিল এবং এটি পিএইচপি ব্যবহার করে)
মূল প্রশ্নে বর্ণিত হিসাবে আমারও একটি সরঞ্জামের প্রয়োজন ছিল (সমস্ত সক্রিয় এক্স-ব্যবহারকারীদের জন্য একটি বার্তা প্রেরণে)। এবং এখানে থাকা উত্তরের ভিত্তিতে আমি এই ছোট্ট বাশ-কেবল স্ক্রিপ্টটি লিখেছি, যা সক্রিয় এক্স-ব্যবহারকারীদের জন্য অনুসন্ধান করে ('কে' ব্যবহার করে) এবং তারপরে প্রতিটি সক্রিয় ব্যবহারকারীর জন্য বিজ্ঞপ্তি-প্রেরণ চালায়।
এবং সর্বোত্তম: আপনি আমার স্ক্রিপ্টটি তার সমস্ত পরামিতি সহ "" বিজ্ঞপ্তি-পাঠান "এর মতো ব্যবহার করতে পারেন! ;-)
অবহিত প্রেরণ সব:
#!/bin/bash
PATH=/usr/bin:/bin
XUSERS=($(who|grep -E "\(:[0-9](\.[0-9])*\)"|awk '{print $1$5}'|sort -u))
for XUSER in $XUSERS; do
NAME=(${XUSER/(/ })
DISPLAY=${NAME[1]/)/}
DBUS_ADDRESS=unix:path=/run/user/$(id -u ${NAME[0]})/bus
sudo -u ${NAME[0]} DISPLAY=${DISPLAY} \
DBUS_SESSION_BUS_ADDRESS=${DBUS_ADDRESS} \
PATH=${PATH} \
notify-send "$@"
done
উপরের কোডটি "বিজ্ঞপ্তি-পাঠান-সমস্ত" নামের একটি ফাইলে অনুলিপি করুন, সম্পাদনযোগ্য করে তুলুন এবং এটি / usr / স্থানীয় / বিন বা / usr / বিনকে (আপনার পছন্দ মতো) অনুলিপি করুন । তারপরে এটি চালান যেমন একটি কনসোল সেশনে মূল হিসাবে:
notify-send-all -t 10000 "Warning" "The hovercraft is full of eels!"
আমি এখন বেশ কয়েক মাস এটি বিভিন্ন মেশিনে ব্যবহার করছি এবং এখনও পর্যন্ত কোনও সমস্যা হয়নি এবং আমি মেট এবং দারচিনি ডেস্কটপগুলি দিয়ে এটি পরীক্ষা করেছি। ক্রোন এবং অ্যানাক্রনের মধ্যে এটি সফলভাবে চালাও।
আমি এই স্ক্রিপ্টটি আর্চলিনাক্সের জন্য / এর অধীনে লিখেছি, সুতরাং দয়া করে আমাকে বলুন যদি আপনার অন্য কোনও লিনাক্স বিতরণ বা ডেস্কটপগুলিতে সমস্যা হয়।