सूचित करें-समय-सीमा पर ध्यान न दें?


47

शायद मैं कुछ गलत कर रहा हूं, लेकिन कमांड (अलग से नहीं)

notify-send -t 1 "test"
notify-send -t 1000 "test"
notify-send -t 10000 "test"

अलग-अलग टाइमआउट है? पहला लगभग तात्कालिक है, दूसरा 1 सेकंड और तीसरा 100 सेकंड ले रहा है। सभी मामलों में लगभग छह सेकंड लगते हैं।

क्या व्यवहार के आसपास कोई रास्ता है? जैसा कि डेवलपर्स इसे बग के बजाय "सुविधा" के रूप में लेबल करते हैं, मुझे कुछ विकल्प चाहिए ...


1
हाँ, मैं उनकी पुष्टि करता हूँ
रिंगटोन

मेरे लिए यह XFCE4 का उपयोग करके अपेक्षित रूप से काम करता है।
गम्बल

@BlueXrider आपको वही समस्या दिखाई दे रही है जैसी मैं करता हूँ? यदि हां, तो आप किस संस्करण का उपयोग कर रहे हैं?
हुक

मैंने पुष्टि की कि परीक्षण कोड सही तरीके से काम कर रहा है। मुझे निर्देश के अनुसार समय मिलता है।
रिंगटोन

6
वैकल्पिक रूप से आप उपयोग कर सकते हैं notify-send "Text Here" ; sleep 3 ; killall notify-osd(जहां sleep 33 सेकंड के बाद समाप्ति (वास्तव में हत्या) का उदाहरण है)!
पंड्या

जवाबों:


44

यह एक ज्ञात बग है: https://bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508

(इसे अनुचर द्वारा 'डिजाइन निर्णय' माना जाता है।)


3
यह वास्तव में एक बग नहीं है। यह एक डिजाइन निर्णय है।
एरेन टेंटेकिन

68
एक गलत डिजाइन निर्णय बग हो सकता है।
बोरिस बुक

24
जब सॉफ़्टवेयर एक काम करने का दावा करता है जबकि वह दूसरी चीज़ करता है, तो यह एक बग है। यदि डेवलपर्स नहीं चाहते हैं कि हम इसे बग के रूप में मानें, तो यह दावा न करें कि यह ऐसा कार्य करता है जैसे कि यह नहीं करता है।
hytromo

10
वह कोई विशेषता नहीं है। यह एक बग है! जब आप विंडस्क्रीन वाइपर को चालू करने के लिए ए लीवर प्रदान करते हैं और यह काम नहीं करता है, तो यह टूट गया है।
मैट एच।

3
@ChristopherDone सम्मान के साथ, यह एक बग है। सूचना-भेजने (नोटिफ़िकेशन-ओएसडी का हिस्सा) के लिए मदद कहती है: नोटिफ़िकेशन-भेजें --help | grep timeout -t, --expire-time = TIME मिलीसेकंड में टाइमआउट निर्दिष्ट करता है जिस पर अधिसूचना समाप्त हो रही है। यह टूल के उपयोगकर्ता के लिए प्राथमिक इंटरफ़ेस है। यह प्राथमिक इंटरफ़ेस उपयोगकर्ता के लिए है और इसलिए यह एक बग है। यह या तो मदद टेक्स्ट या कार्यान्वयन के साथ बग है, जो आपके परिप्रेक्ष्य पर निर्भर करता है, लेकिन यह निश्चित रूप से एक बग है।
माइकल

21

जैसा कि ऊपर दिए गए पदों में से एक में उल्लेख किया गया है, इस सुविधा को अस्वीकार करने के लिए एक डिजाइन निर्णय है। सौभाग्य से, आपके लिए, अन्य लोग भी असहमत हैं और एक पीपीए की स्थापना की है और आप अपने सिस्टम के लिए भी इस फैसले को पलट सकते हैं।

अपनी समस्या को हल करने के लिए बस:

sudo add-apt-repository ppa:leolik/leolik 
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install libnotify-bin
pkill notify-osd

ऐच्छिक

वर्तमान में आपके पास भेजने-सूचित करने के लिए और भी अधिक सुविधाएँ जोड़ने के लिए:

उबंटू 16.04 से आगे:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install notifyosdconfig

संस्करणों के लिए 9.10-14.10:

sudo add-apt-repository ppa:amandeepgrewal/notifyosdconfig
sudo apt-get update
sudo apt-get install notifyosdconfig

उपरोक्त समाधान के बारे में अधिक जानकारी के लिए, इस लेख को पढ़ें:

Ubuntu के लिए कॉन्फ़िगर करने योग्य सूचना बुलबुले


दुर्भाग्य से, रिपॉजिटरी doesn't अब पैकेज प्रदान करता है, कह रहा है E: Failed to fetch http://ppa.launchpad.net/amandeepgrewal/notifyosdconfig/ubun‌​tu/dists/xenial/main‌​/binary-amd64/Packag‌​es 404 Not Found(संबंधित: askubuntu.com/questions/50/… )
phil294

@ बेलौहर्न: मैं उक्त पैकेज का डेवलपर नहीं हूं। कृपया डेवलपर से संपर्क करें
Fabby

@ बल्लहरीन: 16.04 के बाद अपडेट किया गया उत्तर
फाबबी

यह काम किया! हालांकि किसी और के लिए स्पष्टीकरण के रूप में, आपको सूचित-ओएसडी के अपडेटेड संस्करण को भी स्थापित करना होगा। यानी sudo add-apt-repository ppa:leolik/leolik:; sudo add-apt-repository ppa:amandeepgrewal/notifyosdconfig; sudo apt-get update; sudo apt install notify-osd # Updates to actually useful version; sudo apt install notifyosdconfig बहुत धन्यवाद!
माइकल

1
@MichaelSparks को बदल दिया upgradeगया dist-upgrade। चीजों का ध्यान रखना चाहिए क्योंकि अधिसूचित-ओएसडी पहले से ही स्थापित है और इसे सुनिश्चित करने के लिए उन्नत किया जाना चाहिए।
फाबबी

4

यह होस्ट टर्मिनल वातावरण में अयोग्य ठहराए बिना स्थापित सम्मेलनों का जानबूझकर लागू किया गया उल्लंघन था। अर्थात। notify-sendयह अब मौजूद नहीं होना चाहिए क्योंकि यह अच्छी तरह से स्थापित अपेक्षित और प्रलेखित कार्यक्षमता से समझौता करता है, इसलिए इसके बजाय, notify-graffitiअब एक नया आदेश मौजूद होना चाहिए - क्या ???? एक सेकंड रुको ... उन सभी लिपियों में जो "पारंपरिक" कमांड नाम की वर्तनी का उपयोग करती हैं, उनसे समझौता किया जाएगा! आदेश नाम कैसे वर्तनी है के सम्मेलन को बदलकर?!?! - हम्म्म यह दर्शन असाधारण रूप से पाखंडी है, जैसा कि एकता डेस्कटॉप टर्मिनल इंटरफ़ेस से जासूसी करता है।

यह दोनों तरीकों से नहीं किया जा सकता है - कुछ सम्मेलनों को संरक्षित करना। एक कमांड का नाम और फिर भी अन्य नहीं, दस्तावेज के रूप में एक कमांड की कार्यक्षमता। यदि कार्यक्षमता में समझौता किया जाना है, तो इसलिए उपयोगकर्ता नाम "अनुभव" की अखंडता, पारंपरिकता, स्थिरता आदि को बनाए रखने के लिए कमांड नाम भी होना चाहिए, या क्या वह उपयोगकर्ता "हताशा", "झुंझलाहट", "जलन" है,। ..

संदर्भ:

बुकमार्क:
सूचित करें-समय-समय पर ध्यान न दें?


"नॉन-एक्सपायरिंग_नोटिफिकेशन" और "नोटिफिकेशन | उबंटू ऐप डेवलपर" लिंक टूट गए हैं (या उनके द्वारा संदर्भित वेब पेज)।
कीथ थॉम्पसन

2

सूचना के लिए ड्रॉप-इन रिप्लेसमेंट के रूप में एक छोटी सी आसान सूचना है- सेंड.श। जो आपको पूर्व में भेजे गए नोटिफिकेशन को बंद करने या बदलने में सक्षम बनाती है ।

संपादित करें: जैसा कि @Gutanimate ने बताया है, यह स्क्रिप्ट डिफ़ॉल्ट रूप से समाप्ति-समय का समर्थन करती है।

मुझे अंत में काम करने के लिए समाप्ति-समय नहीं मिल सकता था, इसलिए मैं इस तरह से 2 सेकंड के समय के साथ एक अधिसूचना भेजने के बजाय एक हैक करने का तरीका गया :

notify-send.sh --print-id test | xargs -I {} bash -c "sleep 2 && notify-send.sh --close={}" &


यह स्क्रिप्ट बहुत अच्छी है! इसे यहाँ साझा करने के लिए धन्यवाद। लगता है कि यह अब पूरी तरह से सूचना-भेजने के मूल सीएलआई तर्कों के साथ संगत है। Ie: आप 2 सेकंड के माध्यम से एक सूचना भेज सकते हैं notify-send.sh -t 2 "Hello World!"। मैंने स्क्रिप्ट को अपनी स्थानीय $ PATH निर्देशिका से सहानुभूति दी है और इसका नाम बदलकर सूचित-भेज दिया है। उस सबपर नोटिफ़िकेशन-ओएसडी कार्यान्वयन के साथ और कोई व्यवहार नहीं!
ग्लूटेनेन्ट

ओह कूल @ गलुतनमय! हमें इसके बारे में बताने के लिए धन्यवाद।
NiMa थ्रू

0

दालचीनी डेस्कटॉप वातावरण का उपयोग करने वालों के लिए, एक सेटिंग है जिसे सक्षम किया जा सकता है:

सूचनाएं> उनके समय समाप्त होने के बाद सूचनाएं निकालें


0

यह मिलीसेकंड में है। मैंने XUbuntu 16.04 (Ubuntu XFCE) पर परीक्षण किया

notify-send -t 3000 "test"

ठीक 3 सेकंड

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.