1. RedNotebook
RedNotebook has been around for a while, and it shows. It might be the most full-featured and mature option for journaling on Linux. RedNotebook also has the advantage of being under constant development, with new features popping up in every release. Even though RedNotebook is an offline application that you use locally on your computer, it has many of the features you’d expect from a blogging platform like WordPress. It has complete text-formatting capabilities, like a word processor, in addition to online links and the ability to insert images and files into your journal. RedNotebook is sort of like a private blog. It even has the search and sorting capabilities that you’d expect from a blog, including visually appealing ways to navigate like a calendar and a word cloud. Unlike a blog, your journal is stored in plain text and can be exported as such or in more publishable formats like HTML, LaTeX, or PDF.
2. Thotkeeper
Thotkeeper is a much more minimal journaling program focused exclusively on creating journal entries. Thotkeeper is written in Python with a dead-simple GTK interface. It uses both a calendar and a collapsible menu to sort journal entries. Thotkeeper’s journal entries are fairly portable, too, since they’re stored in XML. There is one downside, though. Thotkeeper isn’t all that actively maintained, and it hasn’t seen a commit on Github in a while.
3. Lifeograph
Lifeograph is clean, intuitive, and loaded with great features. It has a clean and modern look that you can actually style and customize. Lifeograph’s editor really shines. It offers all of the features of a word processor, like rich text formatting, linking, spell check, and images. Lifeograph also brings in something typically reserved for minimal text editors: syntax highlighting. It even automatically formats your headings for you. There are also some really great features to enhance your journaling experience. Lifeograph supports encryption, so no one can read your diary except you. It will also automatically log you out when you’re away from your computer. Automatic backups are yet another measure that Lifeograph takes to keep your journal safe.
4. jrnl
Would you like something more minimal? Maybe jrnl is right for you. jrnl is a true command-line journaling program. It handles everything though option flags, parameters, and an optional configuration file. Despite all of that, it can be just as feature-right as its graphical counterparts, just without the overhead. jrnl has its own built-in editor, but it also allows you to outsource that work to another command-line editor like Vim. That alone is an extremely powerful feature, if you can harness it. jrnl supports importing text files as well as exporting your journals in a number of useful formats, including markdown and JSON. It is also fully compatible with the popular DayOne journal app. When it comes to encryption, jrnl may be the best option. It will protect your journal with AES-256.
5. Vim and Pandoc
If jrnl is a minimal option, this is the full DIY solution. Vim isn’t specifically designed for journaling. However, Vim is flexible enough that it can be whatever you want it to be, and even though most people wouldn’t equate Vim with writing, it is actually recommended by National Novel Writing Month (NaNoWriMo). Need more proof? This article was written in Vim. There are tons of plug-ins available for Vim that you can use to set up your ideal journal. You can customize everything from the color and font to how Vim wraps text. If you choose to write in a format like markdown, you can take advantage of collapsing headings and even some syntax highlighting. Vim also supports some encryption out of the box and even more with plug-ins. There aren’t many limitations on the files Vim can read and write. The choice is really up to you. Pandoc isn’t a strictly necessary part of this equation. It does enable you to convert your journal entries into a plethora of file formats from the same source material. So if you need to convert the journal entry that you wrote in markdown into a .docx, PDF, and HTML, you can. If you want to combine six different journal entries into the same file before you convert it, you can do that too. Pandoc adds a degree of flexibility when it comes to importing and exporting from your journal.
Choosing One
It’s hard to say which one of these excellent tools is right for you. They’re all free and open source, so play around with the ones that you find most appealing. Many of them even share the same formats, so you can even switch later on.