Top 5 Must-Have Tools for Linux Users
Tags: linux, productivity, tools, programming
Published: 2024-07-02 11:20:55

Linux is known for its flexibility and powerful command-line tools. To make the most out of your Linux system, here are five productivity tools that can enhance your workflow.

## 1) Zoxide (`z`)

So you might be wondering what exactly is zoxide ? According to the developer, its “A smarter cd command”.

Lemme explain it with example, so for example you want to go to a project directory named `webapp1234` , and its inside a GitHub directory in the Documents directory.

So with cd, you either need to use the following commands:

```bash
cd Documents/
cd Github/
cd webapp1234/
```

or you can use the following command:

```bash
cd Documents/GitHub/webapp1234/
```

but with zoxide, you can do this with a simple simple command:

```bash
z webapp1234
```

and you will be in the webapp directory.  
Isn’t this cool?

You can check it out at: [https://github.com/ajeetdsouza/zoxide](https://github.com/ajeetdsouza/zoxide)

## 2) Wakapi

Many of you may be programmers and spend a lot of your time programming and making projects. However, we often don’t know how much time have we actually spent on a particular project or on a particular day. That’s why tracking time while coding is important.

For that, we can use wakapi. Wakapi is basically an open source implementation of Wakatime. Wakatime is a closed sourced solution and has paid plans that are quite expensive. So instead you can use Wakapi.

You can install it on your local system as a service that automatically runs when your system boots. Then you can use any Wakatime extension that is available for most Code Editors/IDEs. For complete client setup guide, refer to: [https://github.com/muety/wakapi?tab=readme-ov-file#-client-setup](https://github.com/muety/wakapi?tab=readme-ov-file#-client-setup)

My dashboard of the last 6 months:


![Wakapi](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hxb1ot738hjfca7e2k1q.png)

## 3) Ollama + OpenWebUI

In this world of AI, everyone uses chatgpt and various other online AI tools, however, that comes with its own limitations. Some are paid, or some have limited responses, some are slow while some are very limiting.

So that’s where ollama comes in. Ollama basically allows you to run open source models directly on your laptop.

Checkout ollama at: [https://ollama.com/](https://ollama.com/)

Once you have ollama installed, you can install any open source model from the ollama library. You can checkout the library at: [https://ollama.com/library](https://ollama.com/library)

I would suggest you to download llama3 and phi3. These 2 are really capable models.

Now that we have the models, but currently we can only use them in the terminal, but we want to use it in the browser with a ChatGPT like interface, so thats where OpenWebUI comes in.

### OpenWebUI

OpenWebUI is basically a web interface for ollama. It’s interface is very familiar and similar to ChatGPT.


![OpenWebUI](https://i.imgur.com/5Zfk7I0.gif)

Keep in mind that the speed of responses and performance depends upon your system specs and the model selected. If you have any GPU , then it will work decently, otherwise it will be quite slow.

## 4) Fish Shell

You probably might have used any terminal on Linux few times. By default, the default shell on most Distros is bash. However, there are many more shells other than bash as well. Fish Shell is one of them.

itsFOSS also published an amazing article a while back on Fish Shell, you can check it out at:

[https://itsfoss.com/fish-shell-features/](https://itsfoss.com/fish-shell-features/)

In short, fish shell has some really amazing features like:

* Syntax highlighting
    
* Auto Suggestions
    
* Easier path navigation
    
* Interactive history search
    

and much more…

## 5) distrobox

There may have been many situations when you wanted to install a software but it wasn’t compatible with your distro, but worry not, you can use distrobox. It basically allows you to use any linux distribution inside your terminal.

You can check it out at: [https://github.com/89luca89/distrobox](https://github.com/89luca89/distrobox)


![Distrobox](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gcn7h7fgjfuk9ahpguex.png)

As you can see, my main host OS is fedora, however, I have install multiple OS in containers using distrobox.



So, these were the 5 tools that I thought might be incredibly useful for many people in their daily lives. Each of these tools offers unique features and functionalities that can significantly enhance productivity and efficiency. Whether it's leveraging the power of a language model, optimizing terminal usage with Fish Shell, or running different Linux distributions seamlessly with Distrobox, these tools are designed to make your tech experience smoother and more enjoyable.

If you have any more suggestions or know of other tools that can be beneficial, please feel free to drop a comment and let me know. I am always on the lookout for new and innovative tools that can improve our daily workflows. Your recommendations are highly appreciated, and I would love to explore and share them with the community. Let's keep the conversation going and help each other discover the best tools out there!