32

I was wondering if there was a way to display a notification or something from the command line at a certain time. Like when the clock strikes 4:00pm. It would be nice if it would display it using Ubuntu's notify-osd tool:

enter image description here

6
  • Do you need to know the exact second you are done with work for the day?
    – Troggy
    Commented Sep 9, 2009 at 20:04
  • 2
    No. Who gets off at 4:00? I actually need to tell myself to goto bed.
    – Kredns
    Commented Sep 9, 2009 at 20:09
  • @Lucas Aardvark : LOL.
    – caliban
    Commented Sep 9, 2009 at 20:20
  • I get off work at 4:00pm.. then again, I get in to work at 7am most days..
    – jamuraa
    Commented Sep 9, 2009 at 21:52
  • This is great. I was just asking about something like this at askubuntu.com/questions/936645/…
    – SDsolar
    Commented Jul 16, 2017 at 10:52

6 Answers 6

48

As many of the other commenters said, the best way to do this on a daily basis is to use cron, but if you are only wanting to do it for one day, or sporadically, you can use the at command:

echo 'notify-send "Work day is done!"' | at 4:00PM 

You can use at in a variety of ways, including as a tea timer:

echo 'notify-send "Get your tea!"' | at now + 3 minutes 
echo 'notify-send "Meeting in 1 hour with the big boss!"' | at 1pm tomorrow 

It's quite useful for those one-off commands.

Check the at manpage for more syntax goodness.

6
  • You can't type the command on the after the invocation of "at." You have to do something like echo 'notify-send "Work day is done!"' | at 4:00PM Commented Sep 9, 2009 at 23:06
  • True, I forgot about that little annoyance.
    – jamuraa
    Commented Sep 10, 2009 at 1:04
  • I liked your solution best because it can be easily changed and doesn't require root access to edit /etc/crontab
    – Kredns
    Commented Sep 10, 2009 at 17:08
  • You need add DISPLAY variable to environment to work with at or cron. Type this: echo 'export DISPLAY=:0; notify-send "Enjoy!"' | at 04:00 PM . Commented Apr 26, 2019 at 22:52
  • You need to apt install libnotify-bin to use notify-send. Commented Aug 20, 2019 at 15:56
15

Use notify-send to send the notification. Set it up as a cron job.

1
  • 3
    But that doesn't work out of box. notify-send requires some env variables whichr are not available from cron by defaualt?
    – Kunok
    Commented Mar 11, 2018 at 0:33
12

You can send commands to notify-osd like so:

notify-send "Go to bed!"

A crontab for daily notification at 4pm would look like so:

0 16 * * * /home/username/notify.sh
1
  • You might need to set DBUS_SESSION_BUS_ADDRESS environment variable before running notify-send. See askubuntu.com/a/346580 Commented Sep 14, 2018 at 11:07
0

You can always set up a cron job to run a script @ 0400hrs. The tricky thing here, is to find out what command to use to popup a window (ala net send for windows), or to do anything to notify you to go off to bed.

notify-osd doesn't seem to support command-line prompt generation, you might want to try LinPopup2...

0

if you use a program like anacron (warns you even if the computer is not running so useful more than cron for desktops and notebooks etc ) um then i use Zenity its a notification program here is my site for it with a few examples http://sites.google.com/site/venvirupa/yadandyin

1
  • 1
    Welcome to Super User. External links can break or be unavailable. Please include the essential information within your answer and use the link for attribution and further reading. Thanks.
    – fixer1234
    Commented Dec 6, 2016 at 4:23
-1

Looks like you are using gnome-do. There are a few plugins there that can be used - remember the milk (RTM) is one.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .