Tôi đã tạo một kịch bản sẽ thông báo cho tôi khi có một chương truyện tranh mới mà tôi đang đọc. Tôi đã sử dụng lệnh notify-send để làm điều này. Chương trình hoạt động khi tôi đang cố chạy nó trong terminal. Thông báo được hiển thị. Tuy nhiên, khi tôi đặt cái này trong crontab của mình, thông báo không hiển thị. Tôi khá chắc chắn rằng chương trình đang chạy kể từ khi tôi tạo nó để tạo một tệp cho tôi. Các tập tin đã được tạo, nhưng thông báo đã không hiển thị.
Đây là kịch bản của tôi
#!/bin/bash
#One Piece Manga reminder
#I created a file named .newop that contains the latest chapter.
let new=$(cat ~/.newop)
wget --read-timeout=30 -t20 -O .opreminder.txt http://www.mangareader.net/103/one-piece.html
if (( $(cat .opreminder.txt | grep "One Piece $new" | wc -l) >=1 ))
then
(( new+=1 ))
echo $new
echo $new > ~/.newop
notify-send "A new chapter of One Piece was released."
else
notify-send "No new chapter for One Piece."
notify-send "The latest chapter is still $new."
fi
exit
Và đây là những gì tôi đã viết trong crontab của tôi
0,15,30,45 12-23 * * 3 /home/jchester/bin/opreminder.sh
export DISPLAY=:0
.
16.04
, cái này hiệu quả với tôi */1 * * * * eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";/usr/bin/notify-send -i appointment -c "im" "Keep Working"