How to Keep Track of Events, Appointments, and Everyday Tasks from the Linux Command Line

Managing and keeping track of tasks, events, and appointments is an important part of every professional’s daily routine. Talking in terms of software, different people use different software that helps them do this. While most prefer using a GUI-based software, not everybody spends their day in front of a GUI-enabled machine – I am talking about those who work with servers or are die-hard command line fanatics.

Some command line-based tools exist that provide organizing functionality similar to their GUI-based counterparts. In this article, we will discuss the basics of one such software: Calcurse.


Calcurse is a curses-based calendar and scheduling application that helps users keep track of events, appointments, and everyday tasks. It provides a configurable notification system that reminds users of upcoming deadlines. Here are some of the other features it provides:

  • Powerful non-interactive command line interface that can be used by scripts
  • Fully user-configurable notification system (ability to send mails or anything else that could remind you of your upcoming appointments)
  • Import capabilities with support for iCalendar format
  • Export capabilities with support for iCalendar and pcal formats
  • Ability to attach notes to each calendar element and to edit them with your favourite text editor
  • Support for internationalization with texts translated in English, French, German, Dutch, Spanish and Italian
  • Complete online help system
  • UTF-8 support


Users of Debian-based systems like Ubuntu can easily download and install the tool using the following command:

sudo apt-get install calcurse

Alternatively, you can also install the utility manually by downloading its source code from its official website.

To launch the tool, just run the following command:



In the following sections we’ll discuss the basic features Calcurse provides. Please note that all examples have been tested using Calcurse version 3.1.4 on Ubuntu 14.04.


Here is the interface of the tool:


As you can see, the interface is divided into three sections: Appointments, Calendar, and ToDo.

Add new appointment

To add a new appointment, first press Enter just after launching Calcurse – this should produce some options like Help, Save, Quit, and more at the bottom of the interface. Then hit the “o” key on your keyboard – this produces other available options or commands. Here you should see an option called “Add Appt” (see the screenshot below).


As you can see, this command can be enabled by pressing “Ctrl + A” on your keyboard. Once done, the options area should convert into a prompt asking you details related to the appointment you want to save. The tool first asks for start time:


Followed by the end time:


Then it asks you to enter some description of the appointment:


Lastly, it saves the appointment, with its details appearing inside the “Appointments” area of the interface.


Add new ToDo

Adding a new ToDo isn’t difficult either. First use the Tab key on your keyboard to select the ToDo section (signified by the red boundary around it in the screen shot below). This automatically brings options or commands related to this section at the bottom of the interface.


Now, as you can see in the options list, you can start adding a new ToDo item by pressing “a” on your keyboard. Once done, the tool first asks for the ToDo name:


It then asks for the priority:


and finally adds the new ToDo – in my case, I added a “Pay monthly bills” ToDo item.


Configure notifications

Calcurse provides a lot of configuration options. For example, you can easily configure the notifications it produces. To do so, first use the Tab key on your keyboard to select the Calendar section of the tool’s interface, then press “o” until you see the “Config” option at the bottom of your screen.


Press “C” to produce configuration options:


and then press “N” for configuring notifications:


Here you’ll see a numbered list of options that you can configure by just pressing the number associated with the option. For example, I tried configuring option number 5 – “notification.command”


I replaced the existing default command with one that emails me the upcoming Calcurse notification – you can use any command that makes sense to you.


For more information about Calcurse, go through its man page.


As you can see, Calcurse has a bit of learning curve associated with it, but once you use it a couple of times, you’ll find it almost as convenient as any other GUI-based alternative. Plus, it also provides a host of configuration options, making it at least worth giving it a try.

Have you ever used Calcurse or any other command line-based organizer? How was your experience? Share your thoughts in the comments below.

Himanshu Arora
Himanshu Arora

Himanshu Arora is a freelance technical writer by profession but a software programmer and Linux researcher at heart. He covers software tutorials, reviews, tips/tricks, and more. Some of his articles have been featured on IBM developerworks, ComputerWorld, and in Linux Journal.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox