27

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
    Sep 9, 2009 at 20:04
  • 2
    No. Who gets off at 4:00? I actually need to tell myself to goto bed.
    – Kredns
    Sep 9, 2009 at 20:09
  • @Lucas Aardvark : LOL.
    – caliban
    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
    Sep 9, 2009 at 21:52
  • This is great. I was just asking about something like this at askubuntu.com/questions/936645/…
    – SDsolar
    Jul 16, 2017 at 10:52

6 Answers 6

42

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 Sep 9, 2009 at 23:06
  • True, I forgot about that little annoyance.
    – jamuraa
    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
    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 . Apr 26, 2019 at 22:52
  • You need to apt install libnotify-bin to use notify-send. 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
    Mar 11, 2018 at 0:33
11

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
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
    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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.