GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gibt es eine Möglichkeit, Benachrichtigungen vom Bash-Skript in Ubuntu anzuzeigen?

Wenn Sie das neue Benachrichtigungssystem in Jaunty verwenden, möchten Sie das benachrichtigen-senden Befehl

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.

Einen anderen Weg gefunden, durch Zenity

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

oder so:

zenity --notification --text "System update necessary!" 

(Dies hat auch den Vorteil, dass es bereits auf Ubuntu installiert ist.)


Getestet auf Ubuntu 14.04, 16.04, 18.04, 20.04. Screenshots von Ubuntu 20.04.

  1. [FUNKTIONIERT GUT] Popup-Benachrichtigung, die nach 4–10 Sekunden automatisch geschlossen wird (irgendwie an Ihre Betriebssystemeinstellungen gebunden?):

    notify-send "Hello world"
    


    Quelle:https://superuser.com/a/31919/425838

  2. Popup-Fenster mit Schaltflächen zum Anklicken:

    1. Fenster erhält KEINEN Autofokus: Quelle:ich selbst; Hinweis:für ältere Unity-basierte Versionen von Ubuntu, wie z. B. 16.04, -t wird für alle Werte außer 0 ignoriert - wie blöd. :(. Für neuere Gnome-basierte Versionen von Ubuntu, wie 18.04 oder 20.04, -t wird komplett ignoriert. Verwenden Sie daher auf älteren Unity-basierten Versionen von Ubuntu, wie z. B. 16.04, -t 0 bewirkt, dass Schaltflächen angezeigt werden, bei neueren Gnome-basierten Versionen jedoch NICHT. Das bedeutet, dass für den unten gezeigten Screenshot von Ubuntu 20.04 das Verhalten und Aussehen von notify-send -t 0 "Hello world" ist genau identisch mit notify-send "Hello world" oben.

      notify-send -t 0 "Hello world"
      

      Fügen Sie unter Ubuntu 18.04 oder 20.04 oder höher einfach -u critical hinzu zum Befehl, damit es unendlich geöffnet bleibt, bis Sie irgendwo darauf klicken! :

      notify-send -u critical "Hello world"
      


      Quelle:@lucidbrots Kommentar unter dieser Antwort, plus meine eigenen Tests.

    2. ODER Fenster erhält Autofokus:

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

      Hinweis:Das Fenster wird NICHT geschlossen, bis Sie auf OK klicken Taste.

      Quelle:https://askubuntu.com/a/804475/327339

  3. [MY FAVORITE] Das Fenster schließt automatisch nach dem angegebenen --timeout in Sekunden, ODER nachdem Sie auf die Schaltfläche "OK" geklickt haben!

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

    Hinweis:Das Fenster WIRD automatisch nach dem oben angegebenen Timeout in Sekunden geschlossen!

    Quelle:Ich selbst lese die Manpages:man zenity

  4. [super hässlich aussehend]

    xmessage 'hello world'
    

    Hinweis:Das Fenster wird NICHT geschlossen, bis Sie auf okay klicken Taste.

    Quelle:http://www.linux-commands-examples.com/xmessage

Spiele auch Töne ab

  1. Wenn Sie zusammen mit dem Fenster-Popup auch Sounds abspielen möchten, um den Abschluss eines Befehls oder etwas anderem anzuzeigen, lesen Sie meine andere Antwort hier:AskUbuntu.com:How to make a sound once a process is complete?

Linux
  1. Der beste Weg, um (aus einem Skript) zu erkennen, ob Software installiert ist?

  2. Führen Sie das Bash-Skript von der URL aus

  3. Bash-Skript:Verwendung eines Skriptbefehls aus einem Bash-Skript zum Protokollieren einer Sitzung

  4. Öffnen Sie Vim aus einem Bash-Shell-Skript heraus

  5. atomare Erstellungsdatei, falls nicht aus dem Bash-Skript vorhanden

Bash-Skript zum Zentrieren von Fortune/Text von Stdin/Pipe?

So senden Sie Desktop-Benachrichtigungen unter Ubuntu mit Benachrichtigung senden

Gibt es eine Möglichkeit, von UTF8 nach ISO-8859-1 zu konvertieren?

Rufen Sie das Python-Skript von bash mit Argument auf

Sublime Text von Bash auf Ubuntu unter Windows öffnen

Bash-Skript zum Entfernen der ältesten Datei aus einem Ordner