Last updated on August 22, 2020 by Gabriel Cánepa
If you are a Linux system administrator who enjoys spending your time in terminal-land, but also needs a way to stay on top of your everyday tasks, appointments and meetings, you will find
calcurse to be a very useful tool.
calcurse combines a calendar, a to-do list manager, a scheduler and a configurable notification system into one piece of software with a nice
ncurses-based interface. At the same time, it does not confine you in a terminal, but also allows you to export your calendars and notes into other printer-friendly formats.
In this article we will explore how to install
calcurse on Linux, and teach you how to take advantage of some of its incredible features.
calcurse is available in standard repositories of most Linux distributions. In case
calcurse is not available on your distribution (like in CentOS/RHEL), you can build it from the source easily once you have
ncurses development files installed.
# aptitude install calcurse
# yum install calcurse
# yum install gcc ncurses-devel # wget http://calcurse.org/files/calcurse-3.2.1.tar.gz # tar xvfvz calcurse-3.2.1.tar.gz # cd calcurse-3.2.1 # ./configure # make # make install
Once the installation is complete, you can launch
calcurse as a normal user by simply running:
You will be presented with the following empty interface. If the color scheme does not seem appealing to you, you will be able to change it later.
We will exit the main interface for now by pressing
ENTER again, and
y. This sequence activates the main menu at the bottom of the interface, tells
calcurse to quit, saves our currently opened notes, and finally confirm about exit.
When we run
calcurse for the first time, the following directory structure is created in our home directory:
Here is a brief description of each item:
aptsfile contains all of the user's appointments and events, while the
todofile contains the todo list.
conffile, as you probably already guessed, contains the current user's individual settings for his/her
keysfile contains the key bindings that the user has defined (e.g.,
Xto export contents, and so forth).
notessubdirectory you will find text files containing description of notes that you can attach to each scheduled item.
To change the color scheme for
calcurse, follow these steps:
Use the key bindings in the last image to select a foreground and background configuration that better suits your needs:
While navigating the command menus in the previous section, we saw that pressing the letter
o takes us from one menu to the next one. We can think of the second menu as the schedule edit menu:
Thus, we will add a new appointment for today and a new to-do task with the
Ctrl+T key combinations, respectively. If we want to add an appointment for a date other than today, we can navigate the calendar using the
Ctrl+L (+1 day),
Ctrl+H (-1 day),
Ctrl+J (+1 week), and
Ctrl+K (-1 week) key combinations before adding an appointment or to-do task:
The necessary steps to add a to-do task are similar, only starting with
Ctrl+T, as explained earlier:
You will then be asked to enter a priority number, and the to-do task will be added to the main screen:
You can now verify that the to-do task and the appointment have been saved in the
apts files, respectively, under
Note that you can edit those files either through your favorite text editor or using the menu in the bottom of the
calcurse screen. You can switch between panels by pressing the
Tab key, and then choose the item you wish to edit:
You can configure notifications via the Notify menu. To do so, follow the same steps as in the case of changing the color scheme, but choosing
Notify instead of
Suppose you want to set up email notifications. Press the number 5 to edit the value of the
notify-bar_command as follows:
With the settings outlined above,
[email protected] will receive an email notification
300 seconds (or
5 minutes) before the next scheduled task if such task is flagged as important. If you wish to enable this functionality even when
calcurse is not running, change the value of
yes. In the current example,
dev2 is the localhost's hostname.
Please note that for the sake of demonstration purposes, I have changed the start and/or end time of the original appointment as needed during each step of this tutorial.
In this article we have shown how to set up a versatile scheduler and reminder to help you organize your daily activities and to plan ahead of important events. You may also want to check
calcurse's PDF manual, but feel free to drop me a line using the comment form below if you have any questions. Your comments are always more than welcome and I'll be glad to hear from you!