Consistency is an essential part of developing and maintaining habits. However, staying regular and motivated throughout the trip is not easy. While goals are good for giving direction, building an efficient system is best for making progress. A look at your past progress can help you move forward.

Linux-based operating systems are one of the most productive operating systems when used appropriately. To further increase your productivity and maintain good habits, here are two free habit tracking applications to try on your Linux machine.

If you are a fan of the Linux command line, dijo is the perfect terminal-based tool for you to keep track of your habits without ever leaving the command line. Dijo advertises itself as a scriptable, cursed, digital habit tracker and is rightly called that.

You can also connect it to external programs to keep track of events without moving a finger. If you've used the Vim text editor before, you'll feel right at home as dijo looks and works similarly. Here are some of the features dijo offers:

  • Vim-like keyboard shortcuts and keyboard shortcuts for navigating Dijo.

  • Two different views: day mode and week mode to check your progress.

  • Add broken, yes / no, or no goal types of habits.

  • Highly configurable and automatically supports traceable habits.

How to install dijo

To install Dijo, Rust and Cargo must be installed on your Linux computer. Here's how you can do this on Ubuntu and other Linux-based distributions:

curl –proto & # 39; = https & # 39; –tlsv1.2 -sSf | NS

Follow the instructions on the screen and you are good to go. When you're done, install Dijo with cargo:

Freight install dijo

If you're not a fan of installing applications manually from the command line, dijo also gives you the option of installing the pre-built binaries directly, which you can download from the release page.

An overview of the modes

As already mentioned, dijo has two different modes or views to visualize your habits: the day mode and the week mode. Day mode is the standard mode that shows you every day of the current month.

Dijo's day mode

Days whose goals have been met are shown in cyan, while days not achieved are shown in magenta. For days without a trace, dijo displays a light black colored point.

Dijo's week mode

The week mode shows you a summary of the progress of your habit for each week of the month. The percentage of the current week is shown in white, while other weeks are shown in light black. To achieve 100% for a week, you need to achieve your goal every day.

Habit tracing with dijo

To keep track of your habits with dijo, open a terminal emulator of your choice and run the following command:


The system shows you a blank screen in day mode. To add a new habit, enter the command mode using the buttons Colon (:) Key and enter the Add Command. To add a yes / no habit like daily programming:

: Add programming 1

To add a new broken habit, such as For example, if you run 0.5 miles every day, use the :Add Command this way:

: Add run 0.5

Finally, to add a habit without a set goal, such as B. Staying hydrated:

: Add water

To keep track of your habits, focus on the habit you want to keep track of and press that Enter Button to increase it or mark it as done. Similarly, use the Backspace to decrease it or mark it as pending. Once you have reached your daily goal, dijo will highlight the day in green and the name of the habit will be crossed out with a line.

Become familiar with keyboard shortcuts

To get the most out of Dijo, here is a table of keyboard shortcuts to help you navigate, add, delete, and keep track of your habits efficiently:

Key binding Alias plot
H Tab, Move one cell to the left
J Move down one cell
k Move up one cell
l Shift + Tab, → Move one cell to the right
H Move the cursor to the left
J Move the cursor down
K Move the cursor up
L. Move the cursor to the right
Enter n Increase the currently focused habit
Backspace P. Decrease the currently focused habit
v Switch to week mode for the habit that is currently focused
V Switch to weekly mode for all habits
Esc Switch to day mode
( Move the viewport back one month
) Move the viewport forward one month
} Back to today

To save and exit Dijo after following your habits, use the : wq Command.

The command line interface may not be for everyone, and you might want a graphical user interface instead. Good Job is a Linux application that does just that. Similar to other habit tracking apps, the goal of this application is to help you stay consistent and not break the streak.

Good Job rewards you for sticking to your habits and motivates you, but at the same time it penalizes you for skipping the habit and slows down progress. To install Good Job, make sure your Linux distribution supports Snap packages.

Run the following command on your terminal to download Good Job from the Snap Store:

sudo snap install good job

Adding a New Habit to Good Job

Once installed, you can run Good Job from your Linux distribution's application manager or use the Alt + F2 keyboard shortcut to open the Well done Command. You can set your habit, motivation, punishment, start date and more.

Keeping track of habits with Good Job

Every day you can unlock a new character from your motivational phrase. Try filling it completely three times and you will keep this habit for a long time. Other features of this application include a dark mode toggle, a statistics page, and cross-platform support for Android.

Habits are compound interest of self improvement

Sticking to your habits and commitments may seem difficult at first, but they will pay off in the long run. Motivation plays a key role in sticking to these habits, and keeping track of them is a great way to track your progress and help you move forward.

Giving up bad habits is just as important as developing good ones. Here are some bad habits that are affecting your productivity and how you can overcome them.

Man talking on the phone in front of wallpaper

6 Bad Habits That Are Affecting Productivity & Ways to Solve These Problems

Bad habits can decrease productivity, stifle creativity, and affect overall performance. This is how to avoid these problems.

Continue reading

About the author

Nitin Ranganath
(31 published articles)

Nitin is an avid software developer and computer engineering student who develops web applications using JavaScript technologies. He works as a freelance web developer and enjoys writing for Linux and programming in his free time.

By Nitin Ranganath

Subscribe to our newsletter

Subscribe to our newsletter for tech tips, reviews, free e-books, and exclusive offers!

Click here to subscribe