दुर्भाग्य से, आप notify-osd
सूचनाओं को स्पष्ट या "खारिज" नहीं कर सकते । आपके पास ज़ेनिटी का उपयोग करने से बेहतर भाग्य हो सकता है ; इसके पास नोटिफ़िकेशन-सेंड से अधिक विकल्प हैं ।
--timeout
कुछ सेकंड बीतने के बाद आप अधिसूचना को खारिज करने के विकल्प का उपयोग कर सकते हैं ।
zenity --info --timeout=5 --title="Test Notification" --text "$(date +%Y%m%d-%H%M%S): My notification"
आप पिछली अधिसूचनाओं की प्रक्रिया आईडी (एक पर्यावरण चर या फ़ाइल में) की एक सूची भी रख सकते हैं और उन्हें HUP
एक नया अधिसूचना प्रदर्शित करने से पहले उन्हें खाली करने के लिए एक संकेत भेज सकते हैं ।
i=0
pids=
for x in $(seq 1 5); do
i=$((i + 1))
zenity --info --title="Test Multiple Notifications" --text "$(date +%Y%m%d-%H%M%S): Notification number $i" &
pids+="$! "
done
sleep 5
for p in $pids; do kill -HUP $p >/dev/null 2>&1; done
i=$((i + 1))
zenity --info --timeout=2 --title="Test Multiple Notifications" --text "$(date +%Y%m%d-%H%M%S): Notification number $i" &
या zenity
नई अधिसूचना प्रदर्शित करने से पहले सभी प्रक्रियाओं को मार दें :
killall zenity
zenity --info --title="Test Notifications" --text "$(date +%Y%m%d-%H%M%S): My notification" &
या zenity
एक नई अधिसूचना प्रदर्शित करने से पहले कुछ प्रक्रियाओं को मार डालो :
ps ho pid,args | grep -i 'zenity.\+--title=test notifications' | sed -e 's/^ *\([0-9]\+\).*$/\1/'
zenity --info --title="Test Notifications" --text "$(date +%Y%m%d-%H%M%S): My notification" &
zenity
कहीं अधिक खराब सेट हैnotify-send
। और यह किसी भी तरह से समस्या को हल नहीं करता है, क्योंकि यह पहले से ही भेजे गए सूचनाओं पर नियंत्रण नहीं देता है।