क्या उबंटू में बैश स्क्रिप्ट से अधिसूचना दिखाने का कोई तरीका है?


103

अधिकांश एप्लिकेशन स्क्रीन के ऊपरी दाएं कोने पर दिखाई देने वाली घटनाओं पर अच्छी तरह से स्वरूपित अधिसूचना दिखा सकते हैं। मैं एक बैश स्क्रिप्ट लिखने वाला हूं, जो बैकग्राउंड में परी लंबी प्रोसेसिंग करेगी और मैं वास्तव में जानना चाहता हूं कि यह कब खत्म होगी। मैं बैश स्क्रिप्ट से वह अच्छी सूचना कैसे दिखा सकता हूं?


जवाबों:


124

यदि आप Jaunty में नए नोटिफिकेशन सिस्टम का उपयोग कर रहे हैं, तो आप सूचित-भेजें कमांड चाहते हैं

notify-send - a program to send desktop notifications

SYNOPSIS

With notify-send you can sends desktop notifications to the user via
a notification daemon from the command line.  These notifications can be
used to inform the user about an event or display some form of information
without getting in the user's way.

OPTIONS

-u, --urgency=LEVEL
Specifies the urgency level (low, normal, critical).

-t, --expire-time=TIME
    Specifies the timeout in milliseconds at which to expire the notification.
-i, --icon=ICON[,ICON...]
    Specifies an icon filename or stock icon to display.
-c, --category=TYPE[,TYPE...]
    Specifies the notification category.

4
धन्यवाद, बस इसे खुद पाया :) apt-get install libnotify-bin इसे पाने से पहले चलाना होगा।
vava

जड़ उपयोगकर्ता crons, init.d, आदि से संदेश कैसे भेजता है?
लांस कैरेशियोली

6
उदा: सूचित करें-भेजें टेस्ट "हैलो वर्ल्ड"
थहा kp

3
--Expire- टाइम पैरामीटर इस "सुविधा" (बग) के लिए उबंटू के धन्यवाद पर काम नहीं करता है। Bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508
axiopisty

मैंने पाया कि notify-sendवीडियो / ऑडियो प्लेबैक के दौरान अवरोध है। हालांकि यह एक वैध उपयोग मामला है, यदि आप अभी भी उन्हें देखना चाहते हैं तो - = महत्वपूर्ण को जोड़ा जाना चाहिए।
ccpizza

29

ज़ेनिटी के माध्यम से एक और रास्ता मिला

echo 'message:hi' | zenity --notification --listen

(यह पहले से ही उबंटू पर स्थापित होने का लाभ है।)


मुझे यह पसंद है कि यह संवादों के लिए उपयोगकर्ता की बातचीत का समर्थन करता है (सूचित-भेजें के विपरीत)
वफ़ल का पागल मूंगफली

12

इसमें xmessage भी है जो एक विंडो को पॉप-अप करेगा, इसलिए इसे किसी भी X11 सिस्टम पर काम करना चाहिए।

प्रो: यह बटन के साथ उपयोगकर्ता को अंतःक्रियात्मक रूप से संकेत देने की भी अनुमति देता है।

Con: किसी भी पॉप-अप अलर्ट की तरह, यह आमतौर पर फ़ोकस प्राप्त करता है, इसलिए यदि आप टाइप करने के बीच में हैं तो संदेश पढ़ने से पहले यह गायब हो सकता है।


4
Con: यह नर्क के रूप में बदसूरत दिखता है, और यह एक सुपर टिनी विंडो है जो उपयोगकर्ता के लिए हमेशा स्पष्ट नहीं होती है। वैसे भी, यह सार्वभौमिक है। :)
निक रेमन

हालांकि फेडोरा में xmessage काम नहीं करता है। यह डिफ़ॉल्ट रूप से स्थापित नहीं है।
अभय मित्तल

यह आर्क लिनक्स के डिफ़ॉल्ट Xorg इंस्टॉलेशन में उपलब्ध नहीं है।
फ्राइडेरब्लुमेले

आप "ओके" और "रद्द करें" बटन के साथ notify-send --expire-time=0 "Hello World"या इसके माध्यम से एक पॉपअप विंडो भी प्राप्त कर सकते हैं notify-send -t 0 "Hello world"। अन्यथा, हालांकि, -tविकल्प को कुछ बेवकूफ "डिजाइन निर्णयों" के कारण नजरअंदाज कर दिया गया है: askubuntu.com/questions/110969/notify-send-ignores-timeout
गेब्रियल स्टेपल्स

मैं इसे नहीं ले सकता था; मुझे अपना उत्तर लिखना था :) superuser.com/a/1310142/425838
गेब्रियल स्टेपल्स

11

KDE उपयोगकर्ताओं के लिए:

$ kdialog --title "Long process completed!" --passivepopup "This popup will disappear in 5 seconds" 5 &

क्या अधिसूचना के लिए आइकन सेट करना संभव है?
मालाबार

5

पॉपअप सूचना जो 10 सेकंड के बाद स्वतः बंद हो जाती है:

notify-send "Hello world"

स्रोत: https://superuser.com/a/31919/425838

क्लिक करने के लिए बटन के साथ पॉपअप विंडो:

[विंडो ऑटो फोकस नहीं करता है]

notify-send -t 0 "Hello world"

स्रोत: खुद; नोट: -t 0 को छोड़कर सभी मूल्यों के लिए उपेक्षा की गई है - कितना मूर्ख । :(


या
[विंडो ऑटो फोकस हो जाता है]

zenity --info --title "Hello" --text "World"

स्रोत: https://askubuntu.com/a/804475/327339


या

[MY FAVORITE, चूंकि विंडो निर्दिष्ट --timeoutसेकंड के बाद स्वतः बंद हो जाती है ]

zenity --info --title "Hello" --text "World" --timeout=2

स्रोत: खुद आदमी पृष्ठों को पढ़ने: man zenity


या
[सुपर बदसूरत दिखने]

xmessage 'hello world'

स्रोत: http://www.linux-commands-examples.com/xmessage


3

एक क्रॉस-प्लेटफ़ॉर्म समाधान मौजूद है जिसे Yfiton कहा जाता है :

$ yfiton -n desktop -Pmessage="Lunch time!" -Pposition=TOP_RIGHT

2

शेल स्क्रिप्ट में, आप libxosd से osd_cat उपयोगिता भी कह सकते हैं।


1
यह थोड़ा अलग है क्योंकि यह ubuntu डेस्कटॉप सूचनाओं का उपयोग नहीं करता है।
vava

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