30

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

Gaff
  • 18,569
  • 15
  • 57
  • 68
Kredns
  • 3,007
  • 7
  • 41
  • 55
  • Do you need to know the exact second you are done with work for the day? – Troggy Sep 09 '09 at 20:04
  • 2
    No. Who gets off at 4:00? I actually need to tell myself to goto bed. – Kredns Sep 09 '09 at 20:09
  • @Lucas Aardvark : LOL. – caliban Sep 09 '09 at 20:20
  • I get off work at 4:00pm.. then again, I get in to work at 7am most days.. – jamuraa Sep 09 '09 at 21:52
  • This is great. I was just asking about something like this at https://askubuntu.com/questions/936645/how-to-make-my-ubuntu-16-04-system-pop-up-a-one-time-to-do-reminder – SDsolar Jul 16 '17 at 10:52
  • Here I am up still at 3:55am. I suppose I should have had this tell me to go to bed at 3. ;-) btw, can you believe you posted this 7 years and 10 months ago? Hello from the Future; July 2017. – SDsolar Jul 16 '17 at 10:55

6 Answers6

46

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.

SDsolar
  • 1,578
  • 3
  • 18
  • 30
jamuraa
  • 3,756
  • 2
  • 29
  • 28
  • 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 – Ryan C. Thompson Sep 09 '09 at 23:06
  • True, I forgot about that little annoyance. – jamuraa Sep 10 '09 at 01: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 '09 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 `. – user3439968 Apr 26 '19 at 22:52
  • You need to [`apt install libnotify-bin`](https://packages.debian.org/sid/libnotify-bin) to use [`notify-send`](https://manpages.debian.org/stretch/libnotify-bin/notify-send.1.en.html). – patryk.beza Aug 20 '19 at 15:56
  • Is there a way to use this from the "Run a command" (ALT + F2) prompt? `notify-send` works from there but `echo` and `at` does not seem to. – nocibambi Jul 21 '21 at 06:47
15

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

  • 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 '18 at 00: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
John T
  • 163,373
  • 27
  • 341
  • 348
  • You might need to set `DBUS_SESSION_BUS_ADDRESS` environment variable before running notify-send. See https://askubuntu.com/a/346580 – Andrej Herich Sep 14 '18 at 11:07
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
    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 06 '16 at 04:23
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...

caliban
  • 20,053
  • 5
  • 51
  • 62
-1

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

Abhinav
  • 2,050
  • 4
  • 20
  • 25