ฉันจะส่งการแจ้งเตือนเดสก์ท็อปที่กำหนดเองได้อย่างไร


97

ฉันมีสคริปต์ที่กำหนดเองและฉันต้องการส่งการแจ้งเตือนทางเดสก์ท็อป (สคริปต์ที่ปรากฏที่มุมบนขวาของหน้าจอ) พร้อมข้อความที่กำหนดเอง ฉันจะทำอย่างไร

คำตอบ:


149

มีคุณสมบัติเจ๋ง ๆ อีกมากมายอยู่ด้วย notify-send

เราสามารถเรียกใช้คำสั่งและทำให้มันแสดงในการแจ้งเตือน:

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

เราสามารถใช้ไอคอนพร้อมการแจ้งเตือน

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

ป๊อปอัพที่น่ารำคาญจริงๆ

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

และ

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

สำหรับตัวเลือกเพิ่มเติมตรวจสอบที่นี่


1
ขอขอบคุณ. เราจะรับรายการไอคอนได้เช่นface-winkที่คุณใช้
Paddy Landau

3
ลองดูคำตอบของฉันที่นี่
devav2

notify-send -t 0ใช้งานได้ แต่notify-send "who am i" "I am January"ไม่ทำงาน :( - บน Ubuntu 15.10
AlikElzin-kilaka

3
ทำงานร่วมกับ--urgency=critical
AlikElzin-kilaka

sudo apt install libnotify-binการติดตั้งในเดเบียน
user149244

18

เพียงเพิ่มคำตอบอื่น ๆ เมื่อใช้คำสั่งในเครื่องจาก cron ฉันใช้

DISPLAY=:0.0 /usr/bin/notify-send "TITLE" "MESSAGE"


2

ฉันสร้างสคริปต์ที่เรียบง่ายและเป็นภาษาแม่เกือบทั้งหมดที่เล่นเสียงและแสดงการแจ้งเตือนด้วยข้อความและเวลาที่กำหนดสำหรับ Ubuntu ( สรุปสาระสำคัญ ):

#!/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="$1"
TIME="$2"

# 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

วิธีใช้?

First Run - การติดตั้ง:

  1. สร้างไดเรกทอรีใหม่ที่บ้านของคุณและเรียกมัน noti

    mkdir ~/noti
    
  2. ดาวน์โหลดnoti.shและแตกไปยังnotidir ด้านบน

  3. เปิด Terminal และเปลี่ยน Directory เป็น noti

    cd ~/noti
    
  4. ทำให้ noti.sh สามารถเรียกใช้งานได้โดยการออก:

    sudo chmod +x noti.sh
    
  5. ทำการทดสอบแบบนี้:

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

ตัวอย่าง

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"

สำหรับแจ้งการเสร็จสิ้นกระบวนการ (ตัวอย่าง)

sudo apt-get update; noti "Done" "now"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.