
Most of us keep more dates in our heads than we should. A patch window on Thursday night, a certificate that expires next month, a call with a client in another time zone, and a family event on the weekend all compete for the same bit of memory, so something eventually slips. A calendar app that sits on your Linux desktop, or inside your terminal, gives those dates a proper home and reminds you before they arrive.
This updated list for 2026 includes full desktop suites, lightweight standalone calendars, and two command-line tools for people who work mostly in a terminal. For each app, you’ll find the install commands and a short note on how it syncs with online calendars such as Google Calendar and Nextcloud.
Before getting to the list, it helps to understand how Linux calendar apps store and sync your events, because that decides which app will fit into your existing setup.
Most desktop calendars on Linux don’t talk to Google or Nextcloud directly; instead, they rely on a background service that handles accounts and syncing.
GNOME apps use Evolution Data Server, which is why Evolution and GNOME Calendar can show the same events. KDE apps use Akonadi, a storage and sync service that KOrganizer and Merkuro share in the same way.
Many self-hosted calendars use CalDAV, which is an open protocol for reading and writing calendar events over HTTP, so an app with CalDAV support can work with Nextcloud, Radicale, Fastmail, and many other servers.
With that in mind, every app in this list had to meet three conditions. It must still be maintained, with a recent release or a current package in major distributions. It must run natively on Linux. And it must handle at least one common sync method, such as CalDAV, Google Calendar, or iCalendar (.ics) files, so your events aren’t locked inside one computer.
1. KOrganizer: Full-Featured KDE Calendar and Scheduler
KOrganizer is the calendar and scheduling part of the Kontact suite from KDE, and it is still the most complete calendar app on the Linux desktop.
It handles events, to-do lists, and journal entries, and it can show your tasks right inside the agenda view, so you see what is due next to what is scheduled.
Because it stores data through Akonadi, KOrganizer can sync with Google Calendar, Nextcloud, other CalDAV servers, Kolab, and Exchange accounts. It also supports multiple calendars with their own colours, alarm notifications, file attachments on events, undo and redo, and exporting your calendar as a web page. If you use the KDE Plasma desktop, the clock in your panel can show your KOrganizer events as well.
On Ubuntu and Debian, KOrganizer is in the main repositories. Expect apt to pull in a fair number of KDE libraries if you are on a GNOME desktop, since KOrganizer depends on Akonadi and the rest of the KDE PIM stack:
sudo apt update sudo apt install korganizer
On Fedora, install it with dnf:
sudo dnf install korganizer
On Arch Linux, the package has the same name, so sudo pacman -S korganizer works too. On RHEL-based distributions, or if you’d rather keep KDE libraries out of your system packages, KOrganizer is included in the Kontact Flatpak on Flathub:
flatpak install flathub org.kde.kontact
2. Merkuro Calendar: Modern KDE Calendar for Desktop and Mobile
If KOrganizer feels too heavy for what you need, Merkuro Calendar is KDE’s newer and simpler calendar. It was originally called Kalendar, and it is built with Kirigami, KDE’s framework for apps that adapt to both desktop windows and small phone screens.
Merkuro uses the same Akonadi backend as KOrganizer, which means any calendar you have already added to one app shows up in the other. It supports CalDAV servers such as Nextcloud, Google Calendar, Exchange, local .ics files, and Kolab and Open-Xchange groupware servers. KDE Gear 26.04 improved its schedule view and event editor, so it now works well as a daily calendar rather than only a preview of what KDE was planning.
On Ubuntu and Debian, install Merkuro together with kdepim-runtime, because the project’s README notes that the calendar features are heavily limited without it:
sudo apt update sudo apt install merkuro kdepim-runtime
On Fedora, use dnf in the same way:
sudo dnf install merkuro kdepim-runtime
Arch users can run sudo pacman -S merkuro kdepim-runtime. Merkuro is also part of the same org.kde.kontact Flatpak shown in the KOrganizer section, so installing that one Flatpak gives you both apps.
3. Evolution: Mail, Calendar, and Contacts in One GNOME App
Where the first two apps come from KDE, Evolution is the long-standing personal information manager for GNOME. It combines email, calendars, contacts, tasks, and memos in one window, which makes it a good fit if you want your meeting invitations and your calendar in the same place.
It runs fine on other desktops such as Cinnamon, MATE, Xfce, and KDE Plasma.
On the calendar side, Evolution lets you create and edit appointments, set reminders, share calendars, send and accept meeting invitations by email, and view your schedule by day, week, month, or year. It connects to Google, CalDAV, WebDAV, and Microsoft Exchange accounts (Exchange support comes from the separate evolution-ews package).
Since Evolution manages its accounts through Evolution Data Server, any calendar you add here also appears in GNOME Calendar.
On Ubuntu and Debian, install Evolution with apt, and add evolution-ews if you need Exchange or Microsoft 365 calendars:
sudo apt update sudo apt install evolution evolution-ews
On Fedora, the package names are the same:
sudo dnf install evolution evolution-ews
On Arch Linux, run sudo pacman -S evolution evolution-ews. A Flatpak build is also available on Flathub, which is the easiest route on RHEL-based distributions:
flatpak install flathub org.gnome.Evolution
4. GNOME Calendar: Simple, Clean Calendar for the GNOME Desktop
Evolution can feel like a lot if you only need a calendar, and that is exactly the gap GNOME Calendar fills. It is the default calendar on Ubuntu and Fedora Workstation, and it keeps things simple with a month view, a week timetable, and a list view, along with drag-and-drop to move events around.
GNOME Calendar uses the same Evolution Data Server as Evolution, so you add your Google, Nextcloud, or CalDAV accounts once in Settings > Online Accounts, and the events appear here without any extra setup.
Recent releases have been busy: GNOME 49 reorganised the window so it adapts to different sizes with a sidebar you can hide, and GNOME 50, which ships with Ubuntu 26.04 LTS and Fedora 44, added an attendee list for events, a redesigned Quick Add popover, and full keyboard navigation in the month view. You can also export calendars as .ics files now, which is handy for backups.
GNOME Calendar is usually already installed on GNOME desktops. If it isn’t, install it on Ubuntu and Debian with apt:
sudo apt update sudo apt install gnome-calendar
On Fedora:
sudo dnf install gnome-calendar
Arch users can run sudo pacman -S gnome-calendar. To get the newest release regardless of your distribution, install the Flatpak from Flathub:
flatpak install flathub org.gnome.Calendar
5. Thunderbird: Email Client with a Built-In Calendar
Many people already have Thunderbird installed for email without realising it also has a full calendar. The Lightning calendar add-on was merged into Thunderbird years ago, so the calendar, task list, and email live in one app on any desktop environment, without needing Evolution Data Server or Akonadi in the background.
Thunderbird connects to CalDAV servers natively. To add a Nextcloud or other CalDAV calendar, open the Calendar tab, click New Calendar, choose On the Network, and paste your calendar’s URL. It also reads remote .ics feeds, which is useful for subscribing to holiday calendars or a team’s published schedule.
The Thunderbird team’s 2026 roadmap includes reworking the calendar with better CalDAV support and event management, so this part of the app is getting more attention than it used to.
On Ubuntu, apt install thunderbird installs the Snap version, because Canonical ships Thunderbird as a Snap there. On Debian, the same command installs a regular .deb package:
sudo apt update sudo apt install thunderbird
On Fedora:
sudo dnf install thunderbird
On Arch Linux, run sudo pacman -S thunderbird. Thunderbird is also on Flathub, which works on any distribution. Mozilla’s support pages list org.mozilla.thunderbird (all lowercase) as the application ID to use after the 2026 change:
flatpak install flathub org.mozilla.thunderbird
6. calcurse: Text-Based Calendar and To-Do List for the Terminal
The apps so far all need a graphical desktop, which doesn’t help much if you spend your day on servers over SSH. calcurse is a text-based calendar and organiser that runs inside any terminal, with a calendar panel, an appointments list, and a to-do list on one screen.
calcurse supports appointments, recurring events, to-do items with priorities, and a notification system that can run a command (for example, sending an email) before an appointment starts. Its key bindings are configurable, with Vi-style keys available, and it can import and export iCalendar files, which is how you move events between calcurse and a GUI calendar.
calcurse is in the standard repositories of all major distributions. On Ubuntu and Debian, install it with apt:
sudo apt update sudo apt install calcurse
On Fedora:
sudo dnf install calcurse
On Arch Linux, run sudo pacman -S calcurse. Once it is installed, run calcurse to open the interactive interface, it also has a non-interactive mode, which is what makes it useful in scripts.
For example, the following command prints your appointments for the next seven days and exits, so you can drop it into a login message or a daily email:
calcurse -r7
If you already have events in another app, export them as an .ics file and import them into calcurse:
calcurse -i ~/Downloads/work-calendar.ics
7. khal: Command-Line Calendar with CalDAV Sync
calcurse keeps its data in its own format, which works well on a single machine but makes syncing awkward. khal takes a different approach.
It is a command-line calendar that reads and writes standard iCalendar files in a folder layout called vdir, so a separate tool called vdirsyncer can sync those files with any CalDAV server, including Nextcloud, Fastmail, and Radicale.
This split means your terminal calendar and your phone can show the same events. khal gives you quick commands such as khal list for upcoming events and khal new for adding one, and ikhal opens an interactive interface where you can browse and edit your calendars.
khal is packaged for most distributions. On Ubuntu and Debian, install it together with vdirsyncer so you can set up syncing right away:
sudo apt update sudo apt install khal vdirsyncer
On Fedora:
sudo dnf install khal vdirsyncer
On Arch Linux, run sudo pacman -S khal vdirsyncer. Before khal can show anything, it needs a configuration file that points to your calendar folders, and the built-in setup command creates one by asking a few questions:
khal configure
With the configuration in place and vdirsyncer pulling events from your server, you can list everything for the coming week:
khal list today 7d
The vdirsyncer setup itself takes a short config file with your CalDAV URL and credentials, and the vdirsyncer documentation walks through it for Nextcloud and other common servers.
8. Rainlendar: Customizable Calendar That Sits on Your Desktop
Back on the graphical side, Rainlendar is a little different from the other apps here, because it is designed to stay visible on your desktop background rather than live in a window. It shows a small calendar and your upcoming events and tasks, and you can change its look completely with skins.
Rainlendar is still maintained, with version 2.24.1 released in 2026, and it runs on Linux, Windows, and macOS with the same data format, which helps if you move between systems. Keep in mind that it is no longer open source, since only versions before 2.0 were released under the GPL.
The Lite edition is free, while the Pro edition adds Google Calendar and CalDAV sync, a task list, and a sync server for a small fee [VERIFY: current Pro price and which sync features are Pro-only].
Rainlendar isn’t in distribution repositories. Download the 64-bit Linux build from the Rainlendar download page instead. On Ubuntu and Debian, choose the .deb package and install it with apt so its dependencies are handled for you (adjust the file name to match the version you downloaded):
sudo apt install ./rainlendar2-lite_2.24.1_amd64.deb
On other Linux distributions, download the generic Linux build, extract it, and run the rainlendar2 binary from the extracted folder.
9. Morgen: Commercial Calendar and Daily Planner
The last app on the list is the only one built around a subscription. Morgen combines your calendars with tasks from tools such as Notion, Todoist, ClickUp, and Obsidian, so you can block out time for each task directly on your calendar. It also has an AI planner that suggests a daily schedule based on your priorities, and it runs on Linux, Windows, macOS, iOS, Android, and the web.
Morgen is a good choice if you work across several calendar accounts and task tools and are willing to pay for a polished planner, but it is not free. The Pro plan costs $15 per month billed annually or $30 per month billed monthly, with a 14-day free trial that doesn’t ask for a credit card.
On Linux, Morgen is distributed as a Snap package, so make sure snapd is installed and running on your distribution first, then install it:
sudo snap install morgen
Tips for Choosing the Right Calendar App on Linux
Now that you have seen all nine apps, the best way to narrow them down is to look at which desktop you use and where your calendars already live.
If you are on GNOME, start with GNOME Calendar and add Evolution only when you need email invitations or Exchange support, since both read the same accounts from Settings.
If you are on KDE Plasma, pick Merkuro for a lighter app or KOrganizer for the full feature set, and remember that both share Akonadi, so you can try one and switch later without adding your accounts again.
Thunderbird is the most neutral choice, because it doesn’t depend on either desktop’s background services and behaves the same everywhere.
On older or low-memory machines, keep in mind that Akonadi runs its own database in the background, which uses noticeably more memory than GNOME Calendar or Thunderbird. On a full KDE desktop this cost is already paid, but installing KOrganizer on a lightweight Xfce or LXQt system brings that whole stack with it.
For terminal users, the choice between calcurse and khal comes down to syncing. calcurse is the easier start and works well on one machine, while khal with vdirsyncer is the better fit when the same calendar needs to appear on your phone and laptop through a CalDAV server.
Finally, whichever app you choose, keep your events on a sync server or export them as .ics files from time to time. A calendar stored only in a local app folder is easy to lose when you reinstall or move to a new laptop, while an .ics file can be imported into any app on this list.
If this comparison saved you from installing three calendar apps to find the right one, share it with a friend who’s setting up a fresh Linux desktop this week.
Conclusion
We looked at nine calendar apps for Linux, from full suites such as KOrganizer and Evolution to simpler options such as GNOME Calendar and Merkuro, plus calcurse and khal for the terminal and Rainlendar and Morgen as non-free alternatives. Whichever one you pick, connecting it to a CalDAV server or your existing online calendar means your events follow you across every device.
If you are setting up a new Ubuntu desktop around GNOME Calendar and Evolution, our Ubuntu Handbook covers the desktop, package management, and the system settings these apps rely on in much more depth.
And if calcurse and khal got you interested in doing more from the terminal, the 100+ Essential Linux Commands course is a natural next step.
We’d love to hear which calendar app you use on Linux and how you have it set up. Are you syncing with Nextcloud, Google Calendar, or your own Radicale server?
Did we miss a calendar app that deserves a place on this list? Share your setup or any sync errors you have run into in the comments below.
