Time-stamp: <2014-03-21 21:13:26 mw> Simple pcspkr alarm clock for linux =================================== * Install beep from http://www.johnath.com/beep/ Debian/Ubuntu etc. has a package "beep" containing it. OpenSuSE does apparently not have a package so I installed it from source. Careful: it installs to /usr/bin rather than /usr/local/bin by default and needs setuid root to be able to write to the first virtual console, so install it by hand via make sudo install -m4755 beep /usr/local/bin/beep sudo install -m644 beep.1.gz /usr/local/man/man1/beep.1.gz See the manpage for restricting access to the beep utility by creating a beep group and adding users to it. On a single user system (or in case only people have access to your machine who won't annoy you) you can omit this. * Install and enable atd/at This beats cron for one-time tasks because you can specify relative time and it will only be executed once and you can manage it via atq(1)/atrm(1) OpenSuSE: systemctl enable atd.service systemctl start atd.service * It should be working now. Usage example: echo beep -f 844 -r 20 | at now+20min Bourne shell alias ------------------ alias alarm='echo beep -f 844 -r 20 | at ' Alternatively use e.g. mplayer in xterm from atd, but pcspkr works even if I don't have my headphones on and doesn't require a running X session. Also beep(1) works if X11 bell is disabled via e.g. "xset -b" This will not work properly on BSD as their at(1) is not a separate daemon and runs every 5 minutes from cron, i.e. it's best not to use it as a timer for your toaster. Besides, pcspkr is a linux specific kernel module and beep uses ioctl, so you will need to look for another program that beeps via the PC speaker.