Özel bir masaüstü bildirimi nasıl gönderebilirim?

75

Özel bir komut dosyası var ve özel bir mesajla bir masaüstü bildirimi (ekranın sağ üst köşesinde görünen) göndermek istiyorum. Bunu nasıl yaparım?

    
sordu January 12.09.2012 18:24

4 cevap

115

notify-send

Bir komut çalıştırabilir ve bildirimde görüntüleyebiliriz:

notify-send <title> <'command'>
notify-send Date "'date'"
notify-send Disk "'df / -H'"

Simgeleri bildirimlerle kullanabiliriz

notify-send -i <icon> <Message>
notify-send -i face-wink "Hello! January"

Gerçekten sinir bozucu pop-up

notify-send  -t 0 "Bringing down the system"

ve

notify-send <title> <message>
notify-send "who am i" "I am January"

Daha fazla seçenek için burayı kontrol edin

    
verilen cevap devav2 12.09.2012 18:45
17

Diğer cevaplara eklemek için, komutu cron'dan yerel olarak çalıştırırken

kullanıyorum
DISPLAY=:0.0 /usr/bin/notify-send "TITLE" "MESSAGE"
    
verilen cevap CelticRaven 19.09.2012 10:21
12

Bunu bir şans eseri tökezledim. Cevap: notify-send programını kullanın:

notify-send "Hello world!"
    
verilen cevap January 12.09.2012 18:25
1

Sound'u çalıştıran ve Ubuntu için Verilen Bir İleti ve Zaman ile Bildirimi görüntüleyen basit ve neredeyse yerel bir komut dosyası oluşturdum ( Gist ):

#!/bin/sh

# https://gist.github.com/John-Almardeny/04fb95eeb969aa46f031457c7815b07d
# Create a Notification With Sound with a Given Message and Time
# The Downloaded Sound is from Notification Sounds https://notificationsounds.com/

MSSG=""
TIME=""

# install wget if not found
if ! [ -x "$(command -v wget)" ]; then 
    echo -e "INSTALLING WGET...\n\n"
    sudo apt-get install wget
    echo -e "\n\n"
fi

# install at package if not found
if ! [ -x "$(command -v at)" ]; then
    echo -e "INSTALLING AT...\n\n"
    sudo apt-get install at
    echo -e "\n\n"
fi

# install sox if not found
if ! [ -x "$(command -v sox)" ]; then
    echo -e "INSTALLING SOX...\n\n"
    sudo apt-get install sox
    sudo apt-get install sox libsox-fmt-all
    echo -e "\n\n"
fi

# download the noti sound if this is first time
# add alias to the bashrc file
if ! [ -f ~/noti/sound.mp3 ]; then
    echo -e "DOWNLOADING SOUND...\n\n"
    touch ~/noti/sound.mp3 | wget -O ~/noti/sound.mp3 "https://notificationsounds.com/wake-up-tones/rise-and-shine-342/download/mp3"
    sudo echo "alias noti=\"sh ~/noti/noti.sh\"" >> ~/.bashrc
    source ~/.bashrc        
    echo -e "\n\n"
fi

# notify with the sound playing and particular given message and time
echo "notify-send \""$MSSG\"" && play ~/noti/sound.mp3" | at $TIME

Nasıl Kullanılır?

İlk Çalıştırma - Kurma:

  1. Evinizde yeni bir Dizin oluştur ve bunu noti

    olarak adlandır
    mkdir ~/noti
    
  2. noti.sh 'ı indirin ve yukarıdaki% co_de'ye çıkarın. % dir.

  3. Terminali açın ve Dizinini noti olarak değiştirin

    cd ~/noti
    
  4. Noti.sh dosyasını düzenleyerek gerçekleştirin:

    sudo chmod +x noti.sh
    
  5. Şunun gibi bir Test çalıştırın:

    sh ~/noti/noti.sh "Test" "now"
    

Örnekler

noti "Hello From Noti" "now +1 minute"
noti "Hello From Noti" "now +5 minutes"
noti "Hello From Noti" "now + 1 hour"
noti "Hello From Noti" "now + 2 days"
noti "Hello From Noti" "4 PM + 2 days"
noti "Hello From Noti" "now + 3 weeks"
noti "Hello From Noti" "now + 4 months"
noti "Hello From Noti" "4:00 PM"
noti "Hello From Noti" "2:30 AM tomorrow"
noti "Hello From Noti" "2:30 PM Fri"
noti "Hello From Noti" "2:30 PM 25.07.18"

İşlemin Sonunu Bildirmek İçin (örnek)

sudo apt-get update; noti "Done" "now"
    
verilen cevap Yahya 10.07.2018 15:54

Etiketlerdeki diğer soruları oku