GNU/Linux >> Belajar Linux >  >> Linux

Apakah ada cara untuk menampilkan notifikasi dari skrip bash di Ubuntu?

Jika Anda menggunakan sistem notifikasi baru di Jaunty, Anda ingin beritahu-kirim perintah

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.

Temukan cara lain, melalui Zenity

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

atau seperti ini:

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

(Ini juga bermanfaat karena sudah diinstal di Ubuntu.)


Diuji pada Ubuntu 14.04, 16.04, 18.04, 20.04. Tangkapan layar dari Ubuntu 20.04.

  1. [BEKERJA DENGAN BAIK] Notifikasi munculan yang menutup otomatis setelah 4~10 detik (entah bagaimana terkait dengan pengaturan OS Anda?):

    notify-send "Hello world"
    


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

  2. Jendela munculan dengan tombol untuk diklik:

    1. Jendela TIDAK mendapatkan fokus otomatis: Sumber:saya sendiri; catatan:untuk versi lama Ubuntu berbasis Unity, seperti 16.04, -t diabaikan untuk semua nilai kecuali 0--betapa bodohnya. :(. Untuk versi Ubuntu berbasis Gnome yang lebih baru, seperti 18.04 atau 20.04, -t diabaikan seluruhnya. Oleh karena itu, pada versi lama Ubuntu berbasis Unity, seperti 16.04, menggunakan -t 0 menyebabkan tombol muncul, tetapi pada versi berbasis Gnome yang lebih baru, TIDAK. Itu berarti bahwa untuk tangkapan layar Ubuntu 20.04 yang ditunjukkan di bawah ini, perilaku dan tampilan notify-send -t 0 "Hello world" persis sama dengan notify-send "Hello world" di atas.

      notify-send -t 0 "Hello world"
      

      Di Ubuntu 18.04 atau 20.04 atau lebih baru, cukup tambahkan -u critical ke perintah alih-alih membuatnya tetap terbuka tanpa batas sampai Anda mengklik di mana saja! :

      notify-send -u critical "Hello world"
      


      Sumber:komentar @lucidbrot di bawah jawaban ini, ditambah pengujian saya sendiri.

    2. ATAU Jendela TIDAK mendapatkan fokus otomatis:

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

      Catatan:jendela TIDAK akan tertutup sampai Anda mengklik OK tombol.

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

  3. [FAVORIT SAYA] Jendela menutup otomatis setelah --timeout yang ditentukan dalam hitungan detik, ATAU setelah Anda mengeklik tombol "OK"!

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

    Catatan:jendela AKAN ditutup secara otomatis setelah batas waktu yang ditentukan di atas, dalam hitungan detik!

    Sumber:saya sendiri membaca halaman manual:man zenity

  4. [tampak sangat jelek]

    xmessage 'hello world'
    

    Catatan:jendela TIDAK akan ditutup sampai Anda mengeklik tombol oke tombol.

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

Putar juga suara

  1. Jika Anda juga ingin memutar suara, bersama dengan popup jendela, untuk menandakan selesainya suatu perintah atau sesuatu, lihat jawaban saya yang lain di sini:AskUbuntu.com:Bagaimana cara membuat suara setelah proses selesai?

Linux
  1. Skrip bash:Pindah dari operator backtick ke $ kurung

  2. Skrip Bash:Menggunakan perintah skrip dari skrip bash untuk mencatat sesi

  3. Buka Vim dari dalam skrip Bash Shell

  1. atom buat file jika tidak ada dari skrip bash

  2. Panggil skrip Python dari bash dengan argumen

  3. Membuka Sublime Text dari Bash di Ubuntu di Windows

  1. Mencegah skrip bash berjalan secara bersamaan

  2. Cara Terbaik Mendeteksi (dari Skrip) Apakah Perangkat Lunak Sudah Diinstal?

  3. Skrip Bash untuk menghapus file terlama dari folder