Language Selection

English French German Italian Portuguese Spanish


Syndicate content It's FOSS
A Linux and Open Source Web Portal
Updated: 33 min 26 sec ago

You can Surf Internet in Linux Terminal With These Command Line Browsers

Tuesday 20th of October 2020 01:55:25 PM

I’m guessing that you are probably using Firefox or a Chrome-based browser like Brave to read this article. Or, maybe, Google Chrome or Chromium.

In other words, you are utilizing a GUI-based approach to browse the web. However, back in the days, people used the terminal to fetch resources and browse the web because everything was mostly text-based information.

Even though you cannot get every information from a terminal now, you can still try the command line browsers for some text-based information and open a web page from the Linux terminal.

Not just limited to that, but if you are accessing a remote server or stuck in a terminal without a GUI, a terminal web browser can prove to be useful as well.

So, in this article, I will be mentioning some terminal based web browsers that you can try on Linux.

Best Terminal-based Web Browsers for Linux Users

Note: The list is in no particular order of ranking.

1. W3M

w3m is a popular open-source text-based web browser for the terminal. Even though the original project is no longer active, an active version of it is being maintained by a different developer Tatsuya Kinoshita.

w3m is quite simple, supports SSL connections, colors, and in-line images as well. Of course, depending on what resource you are trying to access, things might look different on your end. As per my quick test, it didn’t seem to load up DuckDuckGo but I could use Google in terminal just fine.

You can simply type w3m in the terminal to get help after installation. If you’re curious, you can also check out the repository at GitHub.

How to install and use w3m?

W3M is available on most of the default repositories for any Debian-based Linux distribution. If you have an Arch-based distro, you might want to check AUR if it’s not available directly.

For Ubuntu, you can install it by typing in:

sudo apt install w3m w3m-img

Here, we are installing the w3m package along with image extension for in-line image support. Next, to get started, you have to simply follow the command below:


Of course, you need to replace to any website that you want to browse/test. Finally, you should know that you can use the keyboard arrow keys to navigate and press enter when you want to take an action.

To quit, you can press SHIFT+Q, and to go back to the previous page — SHIFT+B. Additional shortcuts include SHIFT + T to open a new tab and SHIFT + U to open a new URL.

You can explore more about it by heading to its man page as well.

2. Lynx

Lynx is yet another open source command line browser which you can try. Fortunately, more websites tend to work when using Lynx, so I’d say it is definitely better in that aspect. I was able to load up DuckDuckGo and make it work.

In addition to that, I also noticed that it lets you accept/deny cookies when visiting various web resources. You can set it to always accept or deny as well. So, that’s a good thing.

On the other hand, the window does not re-size well while using it from the terminal. I haven’t looked for any solutions to that, so if you’re trying this out, you might want to do that. In either case, it works great and you get all the instructions for the keyboard shortcuts right when you launch it in the terminal.

Note that it does not match the system terminal theme, so it will look different no matter how your terminal looks like.

How to install Lynx?

Unlike w3m, you do get some Win32 installers if you’re interested to try. But, on Linux, it is available on the most of the default repositories.

For Ubuntu, you just need to type in:

sudo apt install lynx

To get started, you just have to follow the command below:


Here, you just need to replace the example website with the resource you want to visit.

If you want to explore the packages for other Linux distros, you can check out their official website resources.

3. Links2

Links2 is an interesting text-based browser that you can easily utilize on your terminal with a good user experience. It gives you a nice interface to type in the URL and then proceed as soon as you launch it.

It is worth noting that the theme will depend on your terminal settings, I have it set as “black-green”, hence this is what you see. Once you launch it as a command line browser, you just need to press any key to bring the URL prompt or Q to quit it. It works good enough and renders text from most of the sites.

Unlike Lynx, you do not get the ability to accept/reject cookies. Other than that, it seems to work just fine.

How to install Links2?

As you’d expect, you will find it available in the most of the default repositories. For Ubuntu, you can install it by typing the following command in the terminal:

sudo apt install links2

You can refer to its official website for packages or documentations if you want to install it on any other Linux distribution.

4. eLinks

eLinks is similar to Links2 — but it is no longer maintained. You will still find it in the default repositories of various distributions, hence, I kept it in this list.

It does not blend in with your system terminal theme. So, this may not be a pretty experience as a text-based browser without a “dark” mode if you needed that.

How to install eLinks?

On Ubuntu, it is easy to install it. You just have to type in the following in the terminal:

sudo apt install elinks

For other Linux distributions, you should find it available on the standard repositories. But, you can refer to the official installation instructions if you do not find it in the repository.

Wrapping Up

It’s no surprise that there aren’t a lot of text-based web browsers to run on the terminal. Some projects like Browsh have tried to present a modern Linux command-line browser but it did not work in my case.

While tools like curl and wget allow you to download files from the Linux command line, these terminal-based web browsers provide additional features.

In addition to command-line browsers, you may also like to try some command line games for Linux, if you want to play around in the terminal.

What do you think about the text-based web browsers for Linux terminal? Feel free to let me know your thoughts in the comments below.

Got Kids? Limit Computer Usage Per Account in Linux With Timekpr-nExt

Monday 19th of October 2020 07:35:04 AM

Open source software highlight of this week is Timekpr-nExt. It is a GUI application to limit the computer usage for certain accounts on a Linux system. This is a handy utility for parents who do not want children to spend excessive time on the computer.

Use Timekpr-nExt to limit computer usage on Linux

If you have young children at home who spend too much time on computer, you may want to put some sort of restriction on the usage.

Timekpr-nExt enables you to limit computer usage for certain accounts based on the time of day, number of hours a day, week or month. You may also set time interval to force the account user to take break.

After the given time expires, the user is automatically logged out and cannot log back in until the restriction conditions are satisfied.

Of course, this means that you need to have separate non-admin (no sudo access) accounts for the children. If the kids accounts also have admin access, they can change the settings easily. Kids are smart, you know.

Features of Timekpr-nExt

Apart from an annoyingly stylized name, Timekpr-nExt has the following features:

  • Limit system usage as day wise limit, daily limit, weekly or monthly limit
  • You can also set access restrictions based on time and hour
  • Users can be shown notification about how much time they have left
  • Set the lockout action (terminate session, shutdown, suspend or lock screen)
  • Track the time usage of the accounts

Keep the following things in mind:

  • Check carefully which account you are configuring. Do not lock yourself out.
  • Hit the apply or set button for each configuration changes otherwise the changes won’t be set.
  • Children accounts should not have admin action otherwise they can overwrite the settings.

Read the documents about more information on using Timekpr-nExt.

Installing Timekpr-nExt on Linux

For Ubuntu-based Linux distributions (like Mint, Linux Lite etc), there is an official PPA available. You can install it by using the following commands one by one:

sudo add-apt-repository ppa:mjasnik/ppa sudo apt update sudo apt install timekpr-next

Arch Linux users can find it in AUR. For others, please check your distribution’s repository. If there is no such package, you may try using the source code.

Timekpr-nExt Source Code

Again, do not use Timekpr-nExt for your own main account. You may lock yourself out.

You’ll see two instances of the application. Use the one with (SU) at the beginning.

Removing Timekpr-nExt

I cannot say for certain if removing Timekpr-nExt will also remove the restrictions you put in place for the users. It will be a good idea to manually restore them (putting 24 hr interval a day). There is no reset button here.

To remove this application (if you used PPA to install it), use the following command:

sudo apt-get remove --purge timekpr-next

Delete the PPA repository as well:

sudo add-apt-repository -r ppa:mjasnik/ppa

Like blocking adult content on Linux, this application is also children specific. Not everyone would find it useful but people with young children at home may use it if they feel the need.

Do you use some other application to monitor/restrict children from accessing computer?

Linux Jargon Buster: What is Flatpak? Everything Important You Need to Know About This Universal Packaging System

Sunday 18th of October 2020 06:28:51 AM

While reading the installation instructions of an application, you’ll often come across terms like “Flatpak”, “Snap”, and “AppImage”.

You might have already used some of them on Linux — but might not really know they are. Flatpak, Snap and AppImage they are ‘universal packaging systems’.

In an earlier article in the Linux Jargon Buster, you have learned about the package manager in Linux. So I won’t bother you with packaging anymore. I’ll highlight what is Flatpak and how it tries to solve problem as a universal packaging system.

What is Flatpak?

Flatpak is a package management utility that lets you distribute, install and manage software without needing to worry about dependencies, runtime, or the Linux distribution. Since you can install software without any issues irrespective on the Linux distribution (be it a Debian-based distro or an Arch-based distro), Flatpak is called universal package.

In case you’re curious, Alexander Larsson is the one responsible to create Flatpak and the history to Flatpak dates back to the summer of 2007. You can read more about his work and Flatpak’s history on his blog post.

It’s impressive to know what it is and how it came in to existence, but why was it created and how does it work?

What problem Flatpak solves?

With so many Linux distributions out there, managing & installing software is one of the most important aspects of managing a Linux system.

If you are an experienced Linux user, you can surely figure out the best way to do it. But, for beginners or for users who don’t want a learning curve to manage packages, these are some issues when using the traditional package formats (deb/rpm):

  • Need to resolve dependencies issues (dependencies refers to other packages that a program depends on to work)
  • Find required libraries to make the software work
  • Adapt to new package managers when switching Linux distributions
  • Not the most secure way of installing/managing software

In other words, with traditional package management systems there are some potential issues that you might encounter in order to make the software work for your system. And, not everyone has the time to troubleshoot!

That’s when something like Flatpak comes in to play.

Flatpak is one such open-source utility that helps you to distribute, manage/install packages without thinking about the Linux distribution you’re using or the dependencies/libraries that the program requires to run.

Now that you have an idea on what it is all about, let’s dive in deeper to know what Flatpak is, how it works, and some background on it.

How does Flatpak work? Image Credits: Flatpak Documentation

Flatpak apps run in an isolated environment (often referred as a sandbox). This sandbox contains everything that’s needed to run that specific program.

Basically, the sandbox includes the runtime and bundled libraries to fulfill the requirements of a program to run. You can learn more about the technical details in their official documentation.

Also, just because Flatpak apps are isolated, it cannot make any changes to your system without explicit permission from the host (you). So, Flatpak offers enhanced security to your system by keeping the applications isolated.

Where do you get Flatpak apps? Flathub

Please keep in mind that in order to use Flatpak packages, your Linux distributions must have Flatpak support. Some distributions like Fedora, Solus etc come with Flatpak support by default whereas you need to manually install Flatpak support in distributions like Ubuntu.

Even though Flatpak technology allows you to not rely on a centralized source for getting software, you will find using Flathub (built by Flatpak team) to distribute and manage software.

There could be other existing Flatpak repositories but none that I’m aware for my personal use-case.

Flatpak: Pros and Cons

No wonder that Flatpak is something impressive — it comes with its fair share of advantages and disadvantages. Here, I’ll list some of them:

Advantages of using Flatpak
  • Flatpak apps can run on any Linux distribution
  • They offer forward-compatibility, meaning — you don’t need to worry about the apps not working if you upgrade your Linux distro to a bleeding-edge version that’s not officially supported by the application.
  • You don’t need to rely on dependencies.
  • In some cases, you will find the latest and greatest version of a program for Flatpak.
  • Flatpak app distribution does not depend on a centralized server, meaning — you don’t get locked-in to one vendor.
  • Enhanced security for your system using sandboxed applications
  • Offers easy integration with an existing software center on your Linux distribution
Disadvantages of using Flatpak
  • It does not have server support yet. It’s only available for desktop Linux as of now.
  • Flatpak apps consume more disk space than you’d usually have when using deb/rpm files. And, you’d need to find ways to free up disk space eventually.
  • Just because it runs on an isolated environment, you may miss a couple of functionalities for some programs. For instance, Flatpak apps may not support your custom GTK theme.

Wrapping Up

I hope that now you have a good idea on what Flatpak is all about. If you want to explore more on installing and using Flatpak, I’d recommend you to read our Flatpak guide to get started.

If you enjoyed reading this article, please take a moment to share it across the social media platforms!

Different Types of Kernel for Arch Linux and How to Use Them

Saturday 17th of October 2020 06:23:01 AM

One of the reasons why people use Arch Linux is that it is a bleeding edge rolling release. You get most software and the Linux kernel before users of other distributions.

But this doesn’t mean that you have to always use the latest mainline kernel. There are several kernel options available, and I am going to show you switch kernels in Arch Linux.

Different types of kernels available for Arch Linux

First, let me tell you about different kinds of Linux kernels available to you as an Arch user.

Mainline kernel (package name: linux)

This is the latest stable Linux kernel. Most people use this kernel for the reason that it is the latest available kernel version.

LTS kernel (package name: linux-lts)

The linux-lts package gives you the latest long term support Linux kernel. There is no predefined life cycle for a LTS kernel but you can be assured to enjoy the same kernel version for a much longer period.

Kernel patches normally don’t break anything but a breakage is not impossible to happen. If your hardware isn’t the newest the market can offer, you can enjoy the bleeding edge software with increased stability by installing the slightly older LTS kernel.

Hardened kernel (package name: linux-hardened)

For the security concerned users, there is a hardened version of the latest stable kernel. Do note that several packages will not work when using this kernel.

Performance-tuned kernel (package name: linux-zen)

If you want to get the most out of your system, you can use the “Zen” kernel which is basically a fork from the latest kernel and provides tunes at the cost of throughput and power usage.

How to switch kernels on Arch Linux

Now that you are aware of various kernel choices, let’s see how to change kernel in Arch Linux.

It is a two step process:

  1. Install the Linux kernel of your choice
  2. Tweak the grub config file to add the newly installed kernel

Don’t worry, I am going to show you the steps in details.

Check the kernel version in arch Linux using this command:

uname -r

If it shows only a number

To switch kernels on Arch, can be simply done by installing the kernel that you want to use and tweak the grub configuration file.

Step 1: Install the kernel of your choice

You can use the pacman command to install the Linux kernel of your choice. You just need to know the package name.

You may also install more than one type of Linux kernels at the same time in the system. You can choose which kernel to use from the grub menu.

For the latest stable kernel:

sudo pacman -S linux

For the latest LTS kernel:

sudo pacman -S linux-lts

For latest stable kernel with hardened patches:

sudo pacman -S linux-hardened

To get the Zen kernel:

sudo pacman -S linux-zen Step 2: Tweak the grub configuration file to add more kernel options

By default, Arch Linux uses the latest kernel version as the default. Additional kernel versions are available from under the advanced options:

Additional Linux kernels are available under this option

However, I prefer to do things a bit different and a bit better (in my opinion). Here’s what I do:

  • Disable grub submenu so that all the available kernel versions are shown on the main screen (instead of under Advanced Options).
  • Configure grub to recall the last kernel entry you booted and use it as the default entry to boot from the next time.

Sounds a lot better already, does it not?

To do this you need to edit the GRUB configuration file. All the configuration files in general are located at the /etc directory.

Open your terminal and edit the config file in your favorite terminal-based text editor. I am using Nano editor:

sudo nano /etc/default/grub

As you may notice I have changed the value that I mentioned but I have added another 2 lines so the final result should look like this:


The first and optional line is used to disable the GRUB submenu. I find it easier when instantly I can see all my kernels on the GRUB screen without having to enter the advanced options submenu.

The second line is used to save the last kernel entry.

Lastly you need to ensure that GRUB will use as a default the last saved entry.

Save the configuration file and exit.

Step 3: Re-generate the GRUB configuration file

To make the changes effective you need to re-generate the configuration file. To do so, open the terminal and run the following command:

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

If it looks familiar to you, you have used this command during the Arch Linux installation process.

Reboot your Linux system and select the kernel you want to use!


You don’t need to worry about updating the kernel in Arch Linux. If there are updates to your choice of kernel, it will be installed with the system updates. I guess you already know how to update Arch Linux system.

Switching kernels on Arch Linux is an easy to do process with several options tailored to your needs. I find the above method the safest and easiest as you don’t need to remove a kernel from your system. If you choose to run the latest kernel, it’s good to have installed the LTS kernel in case of a kernel panic.

I hope you liked this Arch Linux tip. Stay subscribed to It’s FOSS for more tips and tutorials.

Love Windows Calculator? You can Now Use it on Linux as Well

Thursday 15th of October 2020 03:08:31 PM

In the first quarter of 2019, Microsoft open sourced the Windows Calculator. Being open source, it allows developers to use it in their own applications.

I couldn’t care less for a calculator application but as some It’s FOSS readers pointed out, they like using the Windows Calculator.

After almost a year and a half, the ‘famed’ Windows Calculator is now available on Linux but not officially.

Windows Calculator on Linux

The team behind Uno Platform has ported the Windows Calculator to Linux and made it available as a Snap application.

Since it is not officially from Microsoft and is ported by Uno project, the application is named Uno Calculator.

Uno is a UI platform and it allows you to build native mobile, desktop, and WebAssembly apps with C# and XAML from a single code base. The UI looks the same on all devices.

Team Ubuntu has worked with the developers of Uno Platform to make it easier for developers of cross-platform applications to publish for Linux users, via the Snap Store.

If you are using Ubuntu or if you have Snap enabled on your Linux distribution, you can use the following command to install Uno Calculator using the following command:

sudo snap install uno-calculator

Note: At the time of writing this article, Uno Calculator has not been pushed to the stable branch. If you see an error, you can install it from the beta channel using this command:

sudo snap install uno-calculator --beta

Once installed, you can search for Uno Calculator in application menu and start using it.

Do you need Windows Calculator on Linux?

That depends on you to be honest.

You have the choice of GNOME Calculator that is pretty handy for most work. If you want advanced stuff, you have Qalculate.

But then if you often switch between Windows and Linux or if you have used Windows Calculator for a long time, you would find it useful.

I know some of the It’s FOSS readers don’t like Microsoft products or non-FOSS products or FOSS products from Microsoft. However, if it provides more choice for a Linux user, then why not?

Again, I have never used Windows Calculator so I cannot comment on its usefulness or superority (if any). Honestly, I hardly use calculator on the desktop. No, not because I am a human computer like Shakuntala Devi but more for the reason that I never really had the need.

What about you? Are you a fan of (now open source) Windows Calculator? Will you be using it on Linux?

4 Firefox Features You Should Be Using Right Now

Thursday 15th of October 2020 05:33:13 AM

Last month, I ditched Google Chrome for Firefox completely.

I was using Firefox as my secondary browser and Chrome was my primary browser because I have been using it for more than ten years and it has all my passwords and bookmarks stored.

Honestly, I was just lazy in switching the browser but it was way easier than I thought. Firefox imported the bookmarks from Google Chrome and I quickly arranged the folders on the main bookmark bar.

Similarly, I also exported all the saved account password and imported it into Firefox.

With these two things done, I happily started using Mozilla Firefox as my main browser. And this is when I started noticing and using obscure Firefox features that make my browsing experience better.

Firefox features to make your browsing experience better

If you too are a Firefox user, I highly recommend trying these features. Maybe it would become an integral part of your browsing habit.

1. Use Firefox account to sync account passwords, bookmarks across devices

Perhaps this is the first thing you should do after installing Firefox on Ubuntu or whichever operating system you use.

With Firefox account, you can choose to save your bookmarks, account passwords for various websites, browsing history across devices.

This is a great help when you reinstall the operating system or use your Firefox browser on a secondary system (like your home computer and your work computer).

You can also use it to send an opened tab to another device where you have Firefox installed and running. This is good for sharing URLs between your PC and your mobile.

Firefox also has a built-in password manager called Firefox Lockwise. You may use it as a standalone app on your smartphone. With that app, you can see the saved account details for logging into apps of your regular websites (like Amazon).

Personally, I use Bitwarden and that’s my current choice of password manager on Linux and Android.

2. Use reading (and listening) mode and enjoy web content in better way

Despite being right on the address bar, many Firefox users are unaware of the superb reader view option.

Reader View in Firefox

The reading mode changes the looks of a webpage to give you a clean and better reading experience. It removes the sidebar, ads and changes the fonts type and size.

You can control some aspects of the reading mode looks. You can change the font (between two choices), change the width of the content, font size, line height etc. You can also select light, dark and sepia themes.

There is an experimental listening mode as well. It doesn’t work that well in my opinion.

When you feel like going back to the original webpage, just click on the x symbol.

3. Use Firefox Relay to prevent email exploitation

Almost every website you visit these days on the web today would offer you email newsletters. But can you trust all of them?

You’ll notice that even if you unsubscribe from some newsletters, you still get their emails. Some times, when you sign up for some service/newsletter, you start getting emails from random sources because maybe that email database got leaked, or they sold your email address.

The Firefox Relay is an add-on that allows you to use “permanent fake email addresses”. You can use these addresses to sign up to newsletter and product updates.

The emails sent to these addresses are sent to Firefox Relay first and then Firefox Relay forwards it to your email address.

If at any time you feel like not receiving updates on that address, just pull the plug from Firefox Relay. Since your real email address was never exposed to the third party, you won’t be troubled with spam anymore.

Firefox Relay Example

If you remember, we had covered a similar service called Simple Login earlier. Firefox Relay is in beta but works fine.

4. Use Pocket for saving interesting articles from the web

Mozilla acquired Pocket (previously known as Read It Later) web-app a couple years ago. Mozilla is now trying to tightly integrate it with Firefox. You can see the option to save a webpage to Pocket beside the address bar.

Pocket is bookmarking mechanism with superpowers. Unlike bookmarks, Pocket saves entire webpage. You can read it ad-free, distraction-free (like reading mode in Firefox) at a later point of time. This is handy tool for people like me who find interesting things over the internet but don’t start reading it immediately.

Pocket is free to use for saving webpages and reading/listening to it later. They also have premium features (for a price) like permanently saving webpages (even if the website is deleted, the article is saved in Pocket), automatic tag suggestion, full-text search and ability to highlight interesting sections. I use Pocket Premium.

Pocket also has apps for Android and iPhone so that you can save and read your saved articles on the go.

.ugb-0f0ea6a-wrapper.ugb-container__wrapper{border-radius:0px !important;padding-top:0 !important;padding-bottom:0 !important;background-color:#f1f1f1 !important}.ugb-0f0ea6a-wrapper > .ugb-container__side{padding-top:35px !important;padding-bottom:35px !important}.ugb-0f0ea6a-wrapper.ugb-container__wrapper:before{background-color:#f1f1f1 !important}.ugb-0f0ea6a-content-wrapper > h1,.ugb-0f0ea6a-content-wrapper > h2,.ugb-0f0ea6a-content-wrapper > h3,.ugb-0f0ea6a-content-wrapper > h4,.ugb-0f0ea6a-content-wrapper > h5,.ugb-0f0ea6a-content-wrapper > h6{color:#222222}.ugb-0f0ea6a-content-wrapper > p,.ugb-0f0ea6a-content-wrapper > ol li,.ugb-0f0ea6a-content-wrapper > ul li{color:#222222}

Recommended Read:

.ugb-923e990 .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-923e990 .ugb-blog-posts__title a{color:#000000 !important}.ugb-923e990 .ugb-blog-posts__title a:hover{color:#00b6ba !important}15 Useful Firefox Keyboard Shortcuts You Should Know

Work faster and be more productive with these useful Firefox keyboard shortcuts.

There’s always more to explore

Firefox has a lot more to offer. You can explore the preferences and configure privacy and security options if you like. There are tons of add-ons you can use as per your requirements.

Prefer dark theme? You can turn on dark mode in Firefox. There are many more themes available if you like customizing the looks of your browser.

There is no end to exploration but in this article I wanted to show the features I consider essential.

Now that I have shared my favorite Firefox tips, why don’t you share your favorite Firefox feature or trick you love to use? The comment section is all yours.

KDE Plasma 5.20 is Here With Exciting Improvements

Tuesday 13th of October 2020 01:13:02 PM

KDE Plasma 5.20 is finally here and there’s a lot of things to be excited about, including the new wallpaper ‘Shell’ by Lucas Andrade.

It is worth noting that is not an LTS release unlike KDE Plasma 5.18 and will be maintained for the next 4 months or so. So, if you want the latest and greatest, you can surely go ahead and give it a try.

In this article, I shall mention the key highlights of KDE Plasma 5.20 from my experience with it on KDE Neon (Testing Edition).

Plasma 5.20 Features

If you like to see things in action, we made a feature overview video for you.

Subscribe to our YouTube channel for more Linux videos Icon-only Taskbar

You must be already comfortable with a taskbar that mentions the title of the window along the icon. However, that takes a lot of space in the taskbar, which looks bad when you want to have a clean look with multiple applications/windows opened.

Not just limited to that, if you launch several windows of the same application, it will group them together and let you cycle through it from a single icon on the task bar.

So, with this update, you get an icon-only taskbar by default which makes it look a lot cleaner and you can have more things in the taskbar at a glance.

Digital Clock Applet with Date

If you’ve used any KDE-powered distro, you must have noticed that the digital clock applet (in the bottom-right corner) displays the time but not the date by default.

It’s always a good choice to have the date and time as well (at least I prefer that). So, with KDE Plasma 5.20, the applet will have both time and date.

Get Notified When your System almost Runs out of Space

I know this is not a big addition, but a necessary one. No matter whether your home directory is on a different partition, you will be notified when you’re about to run out of space.

Set the Charge Limit Below 100%

You are in for a treat if you are a laptop user. To help you preserve the battery health, you can now set a charge limit below 100%. I couldn’t show it to you because I use a desktop.

Workspace Improvements

Working with the workspaces on KDE desktop was already an impressive experience, now with the latest update, several tweaks have been made to take the user experience up a notch.

To start with, the system tray has been overhauled with a grid-like layout replacing the list view.

The default shortcut has been re-assigned with Meta+drag instead of Alt+drag to move/re-size windows to avoid conflicts with some other productivity apps with Alt+drag keybind support. You can also use the key binds like Meta + up/left/down arrow to corner-tile windows.

It is also easier to list all the disks using the old “Device Notifier” applet, which has been renamed to “Disks & Devices“.

If that wasn’t enough, you will also find improvements to KRunner, which is the essential application launcher or search utility for users. It will now remember the search text history and you can also have it centered on the screen instead of having it on top of the screen.

System Settings Improvements

The look and feel of the system setting is the same but it is more useful now. You will notice a new “Highlight changed settings” option which will show you the recent/modified changes when compared to the default values.

So, in that way, you can monitor any changes that you did accidentally or if someone else did it.

In addition to that, you also get to utilize S.M.A.R.T monitoring and disk failure notifications.

Wayland Support Improvements

If you prefer to use a Wayland session, you will be happy to know that it now supports Klipper and you can also middle-click to paste (on KDE apps only for the time being).

The much-needed screencasting support has also been added.

Other Improvements

Of course, you will notice some subtle visual improvements or adjustments for the look and feel. You may notice a smooth transition effect when changing the brightness. Similarly, when changing the brightness or volume, the on-screen display that pops up is now less obtrusive

Options like controlling the scroll speed of mouse/touchpad have been added to give you finer controls.

You can find the detailed list of changes in its official changelog, if you’re curious.

Wrapping Up

The changes are definitely impressive and should make the KDE experience better than ever before.

If you’re running KDE Neon, you should get the update soon. But, if you are on Kubuntu, you will have to try the 20.10 ISO to get your hands on Plasma 5.20.

What do you like the most among the list of changes? Have you tried it yet? Let me know your thoughts in the comments below.

LibreOffice Wants Apache to Drop the Ailing OpenOffice and Support LibreOffice Instead

Tuesday 13th of October 2020 11:03:04 AM

It is a no-brainer that Apache OpenOffice is still a relevant recommendation when we think about open source alternatives to Microsoft Office for Linux users. However, for the past several years, the development of OpenOffice is pretty much stale.

Of course, it is not a shocker, considering Abhishek wrote about the possibility of Apache OpenOffice shutting down back in 2016.

Now, in an open letter from The Document Foundation, they appeal Apache OpenOffice to recommend users to start using better alternatives like LibreOffice. In this article, I shall mention some highlights from the blog post by The Document Foundation and what it means to Apache OpenOffice.

Apache OpenOffice is History, LibreOffice is the Future?

Even though I didn’t use OpenOffice back in the day, it is safe to say that it is definitely not a modern open-source alternative to Microsoft Office. Not anymore, at least.

Yes, Apache OpenOffice is still something important for legacy users and was a great alternative a few years back.

Here’s the timeline of major releases for OpenOffice and LibreOffice:

Now that there’s no significant development taking place for OpenOffice, what’s the future of Apache OpenOffice? A fairly active project with no major releases by the largest open source foundation?

It does not sound promising and that is exactly what The Document Foundation highlights in their open letter:

OpenOffice(.org) – the “father project” of LibreOffice – was a great office suite, and changed the world. It has a fascinating history, but since 2014, Apache OpenOffice (its current home) hasn’t had a single major release. That’s right – no significant new features or major updates have arrived in over six years. Very few minor releases have been made, and there have been issues with timely security updates too.

For an average user, if they don’t know about LibreOffice, I would definitely want them to know. But, should the Apache Foundation suggest OpenOffice users to try LibreOffice to experience a better or advanced office suite?

I don’t know, maybe yes, or no?

…many users don’t know that LibreOffice exists. The OpenOffice brand is still so strong, even though the software hasn’t had a significant release for over six years, and is barely being developed or supported

As mentioned in the open letter, The Document Foundation highlights the advantages/improvements of LibreOffice over OpenOffice and appeals to Apache OpenOffice that they start recommending their users to try something better (i.e. LibreOffice):

We appeal to Apache OpenOffice to do the right thing. Our goal should be to get powerful, up-to-date and well-maintained productivity tools into the hands of as many people as possible. Let’s work together on that!

What Should Apache OpenOffice Do?

If OpenOffice does the work, users may not need the effort to look for alternatives. So, is it a good idea to call out another project about their slow development and suggest them to embrace the future tools and recommend them instead?

In an argument, one might say it is only fair to promote your competition if you’re done and have no interest in improving OpenOffice. And, there’s nothing wrong in that, the open-source community should always work together to ensure that new users get the best options available.

On another side, one might say that The Document Foundation is frustrated about OpenOffice still being something relevant in 2020, even without any significant improvements.

I won’t judge, but I think these conflicting thoughts come to my mind when I take a look at the open letter.

Do you think it is time to put OpenOffice to rest and rely on LibreOffice?

Even though LibreOffice seems to be a superior choice and definitely deserves the limelight, what do you think should be done? Should Apache discontinue OpenOffice and redirect users to LibreOffice?

Your opinion is welcome.

2 Ways to Download Files From Linux Terminal

Tuesday 13th of October 2020 07:43:41 AM

If you are stuck to the Linux terminal, say on a server, how do you download a file from the terminal?

There is no download command in Linux but there are a couple of Linux commands for downloading file.

In this terminal trick, you’ll learn two ways to download file using command line in Linux.

I am using Ubuntu here but apart from the installation, rest of the commands are equally valid for all other Linux distributions.

Download files from Linux terminal using wget command

wget is perhaps the most used command line download manager for Linux and UNIX-like systems. You can download a single file, multiple files, entire directory or even an entire website using wget.

wget is non-interactive and can easily work in the background. This means you can easily use it in scripts or even build tools like uGet download manager.

Let’s see how to use wget to download file from terminal.

Installing wget

Most Linux distributions come with wget preinstalled. It is also available in the repository of most distributions and you can easily install it using your distribution’s package manager.

On Ubuntu and Debian based distribution, you can use the apt package manager command:

sudo apt install wget Download a file or webpage using wget

You just need to provide the URL of the file or webpage. It will download the file with its original name in the directory you are in.

wget URL

To download multiple files, you’ll have to save their URLs in a text file and provide that text file as input to wget like this:

wget -i download_files.txt Download files with a different name using wget

You’ll notice that a webpage is almost always saved as index.html with wget. It will be a good idea to provide custom name to downloaded file.

You can use the -O (uppercase O) option to provide the output filename while downloading.

wget -O filename URL Download a folder using wget

Suppose you are browsing an FTP server and you need to download an entire directory, you can use the recursive option

wget -r Download an entire website using wget

Yes, you can totally do that. You can mirror an entire website with wget. By downloading an entire website I mean the entire public facing website structure.

While you can use the mirror option -m directly, it will be a good idea add:

  • –convert-links : links are converted so that internal links are pointed to downloaded resource instead of web
  • –page-requisites: downloads additional things like style sheets so that the pages look better offline
wget -m --convert-links --page-requisites website_address Bonus Tip: Resume incomplete downloads

If you aborted the download by pressing C for some reasons, you can resume the previous download with option -c.

wget -c Download files from Linux command line using curl

Like wget, curl is also one of the most popular commands to download files in Linux terminal. There are so many ways to use curl extensively but I’ll focus on only the simple downloading here.

Installing curl

Though curl doesn’t come preinstalled, it is available in the official repositories of most distributions. You can use your distribution’s package manager to install it.

To install curl on Ubuntu and other Debian based distributions, use the following command:

sudo apt install curl Download files or webpage using curl

If you use curl without any option with a URL, it will read the file and print it on the terminal screen.

To download a file using curl command in Linux terminal, you’ll have to use the -O (uppercase O) option:

curl -O URL

It is simpler to download multiple files in Linux with curl. You just have to specify multiple URLs:

curl -O URL1 URL2 URL3

Keep in mind that curl is not as simple as wget. While wget saves webpages as index.html, curl will complain of remote file not having a name for webpages. You’ll have to save it with a custom name as described in the next section.

Download files with a different name

It could be confusing but to provide a custom name for the downloaded file (instead of the original source name), you’ll have to use -o (lowercase O) option:

curl -o filename URL

Some times, curl wouldn’t just download the file as you expect it to. You’ll have to use option -L (for location) to download it correctly. This is because some times the links redirect to some other link and with option -L, it follows the final link.

Pause and resume download with curl

Like wget, you can also resume a paused download using curl with option -c:

curl -c URL


As always, there are multiple ways to do the same thing in Linux. Downloading files from the terminal is no different.

wget and curl are just two of the most popular commands for downloading files in Linux. There are more such command line tools. Terminal based web-browsers like elinks, w3m etc can also be used for downloading files in command line.

Personally, for a simple download, I prefer using wget over curl. It is simpler and less confusing because you may have a difficult time figuring out why curl could not download a file in the expected format.

Your feedback and suggestions are welcome.

MellowPlayer is a Desktop App for Various Streaming Music Services

Monday 12th of October 2020 12:52:55 PM

Brief: MellowPlayer is a free and open-source desktop that lets you integrate web-based music streaming services on Linux and Windows.

Undoubtedly, a lot of users prefer tuning in to streaming services to listen to their favorite music instead of purchasing individual music from stores or downloading them for a collection.

Of course, streaming services let you explore new music and help artists reach out to a wider audience easily. But, with so much music streaming services available (Soundcloud, Spotify, YouTube Music, Amazon Music, etc) it often becomes annoying to utilize them effectively while using your computer.

You may install Spotify on Linux but there is no desktop app for Amazon Music. So, potentially you cannot manage the streaming service from a single portal.

What if a desktop app lets you integrate streaming services on both Windows and Linux for free? In this article, I will talk about such an app — ‘MellowPlayer‘.

MellowPlayer: Open Source App to Integrate Various Streaming Music Services

MellowPlayer is a free and open-source cross-platform desktop app that lets you integrate multiple streaming services and manage them all from one interface.

There are several supported streaming services that you can integrate. You also get a certain level of control to tweak your experience from each individual service. For instance, you can set to automatically skip ads or mute them on YouTube.

The cross-platform support for both Windows and Linux is definitely a plus point.

Apart from the ability to manage the streaming services, it also integrates the player with your system tray to easily control the music. This means that you can use media keys on your keyboard to control the music player.

It is also worth noting that you can add a new service that is not officially supported by just creating a plugin for it yourself within the app. To let you know more about it, let me highlight all the key features below.

Features of MellowPlayer
  • Cross-platform (Windows & Linux)
  • Free & Open-Source
  • Plugin-based Application to let you add new service by creating a plugin
  • Integrates the services as a native desktop app with the system tray
  • Supports hot keys
  • Notifications support
  • Listening history
Installing MellowPlayer on Linux

MellowPlayer is available as a Flatpak package. I know it’s disappointing for some but it’s just Flatpak for Linux and an executable file for Windows. In case you didn’t know, follow our guide on using Flatpak on Linux to get started.

Download MellowPlayer Wrapping Up

MellowPlayer is a handy desktop app for users who often dabble with multiple streaming services for music. Even though it works fine as per my test with SoundCloud, YouTube, and Spotify, I did notice that the app crashed when trying to re-size the window, just a heads up on that. You can explore more about it on its GitLab page.

There are two similar applications that allow you to play multiple streaming music services: Nuvola and Nuclear Music Player. You may want to check them out.

Have you tried MellowPlayer? Feel free to share your thoughts in the comments below.

Linux Jargon Buster: What is Display Manager in Linux?

Sunday 11th of October 2020 07:27:10 AM

In this chapter of the Linux Jargon Buster, you’ll learn about display manager in Linux. Is it part of the desktop environment? What does it do?

What is display manager in Linux?

In simple words, a display manager is a program that provides graphical login capabilities for your Linux distribution. It controls the user sessions and manages user authentication. Display manager starts the display server and loads the desktop environment right after you enter your username and password.

The display manager is often synonymous to the login screen. It is the visible part of it after all. However, the visible login screen, also called greeter, is only a part of the display manager.

Login screen is the visible part of a display manager

Like various desktop environments and display servers, there are various display managers available as well. Let’s have a look at them.

Different display managers

Some people think of the display manager as part of the desktop environment but that’s not true. It is a separate program.

A desktop environment may recommend a certain display manager but it doesn’t mean that it won’t work with some other display manager. If you ever installed more than one desktop environment in the same system, you would remember that a login screen (i.e. the display manager) allows you to switch the desktop environment.

A display manager can be used with various desktop environments

Though display manager is not part of the desktop environment itself, it is often developed by the same development team as the desktop environment. It also becomes identity of the desktop environment.

For example, the GNOME desktop environment develops GDM (GNOME Display Manager) and just by looking at the login screen, you would think of GNOME desktop environment.

GNOME Login Screen with GDM

Some popular display managers are:

  • GDM (GNOME Display Manager): preferred by GNOME
  • SDDM (Simple Desktop Display Manager): preferred by KDE
  • LightDM: Developed by Ubuntu for Unity desktop
Display managers can be customized

There are so many desktop environments available. Do they all have their own display managers? No. That’s not the case.

As I mentioned previously, the visible login screen is called greeter. This greeter can be customized to change the looks of the login screen.

In fact, many distributions and/or desktop environments have written their own greeter to give users a login screen that resembles their brand.

For example, Mint’s Cinnamon desktop uses LightDM but has its own greeter to give it more Minty (or should I say Cinnamon) looks.

Linux Mint login screen based on LightDM

Take a look at Kali Linux’s login screen:

Kali Linux Login Screen

If you are into coding and tweaking, you may modify or code your own greeter as per your liking.

Changing display manager

You may change the display manager if you want. You need to install the display manager first. You’ll see the option to switch the display manager while installing.

If you didn’t do it at that time, then you can change the display manager by manually configuring it later. The method to reconfigure the display manager is slightly different for different distributions and not in the scope of this article.


I hope you have a slight better understanding of the term display manager in Linux. The aim of this jargon buster series is to explain common Linux colloquial and technical terms in non-technical language without going into too much detail.

I welcome your comments and suggestion.

6 Essential Things To Do After Installing Manjaro Linux

Friday 9th of October 2020 05:51:00 AM

So, you just did a fresh installation of Manjaro Linux. Now what?

Here are a few essential post installation steps I recommend you to follow.

Quite honestly, these are the things I prefer to do after installing Manjaro. Yours could differ depending on your need.

Recommended Things To Do After Installing Manjaro Linux

I am using Manjaro Xfce edition but the steps are applicable to other desktop variants of Manjaro as well.

1. Set the fastest mirror

Before even updating your system, I suggest to sort out your mirror list first. When refreshing the Manjaro system and downloading software from repositories, an optimized mirror list can have noticeable performance impact to the system.

Open the Terminal emulator and type the following command:

sudo pacman-mirrors --fasttrack 2. Update your system

Keeping your system up-to-date reduces the chances of security vulnerabilities. Refreshing your system repository is also a recommended thing to do before installing new software.

You can update your Manjaro system by running the following command.

sudo pacman -Syu 3. Enable AUR, Snap or Flatpak support

Arch User Repository (AUR) is one of the main reasons that a user chooses an Arch-based system. It gives you access to a huge number of additional software.

Optionally, you can also enable support for Snaps and Flatpaks directly from Pamac GUI package manager.

4. Enable TRIM (SSD only)

If your root partition has been installed on SSD, enabling TRIM is one thing you need to do after installing Manjaro. TRIM helps to clean blocks in your SSD and extend the lifespan of your SSD.

To enable TRIM on Manjaro, run the following command in a terminal:

sudo systemctl enable fstrim.timer 5. Installing a kernel of your choice (advanced users)

One of the topics that I covered in my Manjaro Linux review, is how easily you can switch kernels through a graphical interface.

Do you prefer to use the command line? You can list the installed kernel(s) on your system and install a kernel using your terminal.

To list the installed kernels:

mhwd-kernel -li

To install a new kernel (the latest to date 5.8 kernel for example):

sudo mhwd-kernel -i linux58 6. Install Microsoft true type fonts (if you need it)

I have to often edit the work documents on my personal computer and hence I need the Microsoft fonts like Times New Roman or Arial.

If you also need to use Microsoft fonts, you can access the package from AUR. If you want to use the command line for AUR packages, you can install an AUR helper.


Manjaro is a great distribution if you want to use the benefits of Arch Linux on a pre-configured, desktop optimized distribution. Though it comes pre-configured with many essentials, there are a few steps that cannot be done in advance, as everyone has a different setup and different needs.

Please let us know in the comments below, which step apart from the already mentioned is the essential for you.

How to Install Deepin Desktop on Ubuntu 20.04 LTS

Thursday 8th of October 2020 07:36:41 AM

This tutorial shows you the proper steps to install the Deepin desktop environment on Ubuntu. Removal steps are also mentioned.

Deepin is undoubtedly a beautiful Linux distribution. The recently released Deepin version 20 makes it even more beautiful.

Now, Deepin Linux is based on Debian and the default repository mirrors are too slow. If you would rather stay with Ubuntu, you have the Deepin variant of Ubuntu in the form UbuntuDDE Linux distribution. It is not one of the official Ubuntu flavors yet.

Reinstalling a new distribution is a bit of annoyances for you would lose the data and you’ll have to reinstall your applications on the newly installed UbuntuDDE.

A simpler option is to install Deepin desktop environment on your existing Ubuntu system. After all you can easily install more than one desktop environment in one system.

Fret not, it is easy to do it and you can also revert the changes if you do not like it. Let me show you how to do that.

Installing Deepin Desktop on Ubuntu 20.04

The UbuntuDDE team has created a PPA for their distribution and you can use the same PPA to install Deepin desktop on Ubuntu 20.04. Keep in mind that this PPA is only available for Ubuntu 20.04. Please read about using PPA in Ubuntu.

No Deepin version 20

The Deepin desktop you’ll be installing using the PPA here is NOT the new Deepin desktop version 20 yet. It will probably be there after Ubuntu 20.10 release but we cannot promise anything.

Here are the steps that you need to follow:

Step 1: You need to first add the official PPA by Ubuntu DDE Remix team by typing this on the terminal:

sudo add-apt-repository ppa:ubuntudde-dev/stable

Step 2: Once you have added the repository, proceed with installing the Deepin desktop.

sudo apt install ubuntudde-dde

Now, the installation will start and after a while, you will be asked to choose the display manager.

You need to select “lightdm” if you want Deepin desktop themed lock screen. If not, you can set it as “gdm3“.

In case you don’t see this option, you can get it by typing the following command and then select your preferred display manager:

sudo dpkg-reconfigure lightdm

Step 3: Once done, you have to log out and log in again by choosing the “Deepin” session or just reboot the system.

And, that is it. Enjoy the Deepin experience on your Ubuntu 20.04 LTS system in no time!

Removing Deepin desktop from Ubuntu 20.04

In case, you don’t like the experience or of it is buggy for some reason, you can remove it by following the steps below.

Step 1: If you’ve set “lightdm” as your display manager, you need to change the display manager to GDM before uninstalling Deepin. To do that, type in the following command:

sudo dpkg-reconfigure lightdm Select gdm3 on this screen

And, select gdm3 to proceed.

Once you’re done with that, you can simply enter the following command to remove Deepin completely:

sudo apt remove startdde ubuntudde-dde

To also remove related dependencies and other leftover packages, you can type in:

sudo apt autoremove

You can just reboot to get back to your original Ubuntu desktop. In case the icons become unresponsive, you just open the terminal (CTRL + ALT + T) and type in:


In case you’re wondering, as some of our readers in the comments section below — yes, you can use the same steps on Linux Mint 20 to install and remove Deepin Desktop. But, you do not need to reconfigure the display manager. I tested it for a while using Linux Mint 20 Cinnamon.

Linux Mint 20 already utilizes LightDM but for some reason Deepin Desktop login screen does not work with it. You will get the Deepin Desktop environment after you log in, but the lock screen stays the same as it is usually on Mint 20.

Wrapping Up

It is good to have different choices of desktop environments. If you really like Deepin desktop interface, this could be a way to experience Deepin on Ubuntu.

If you have questions or if you face any issues, please let me know in the comments.

How to Clear Apt Cache and Reclaim Precious Disk Space

Tuesday 6th of October 2020 08:14:14 AM

How do you clear the apt cache? You simply use this apt-get command option:

sudo apt-get clean

But there is more to cleaning apt cache than just running the above command.

In this tutorial, I’ll explain what is apt cache, why is it used, why you would want to clean it and what other things you should know about purging apt cache.

I am going to use Ubuntu here for reference but since this is about apt, it is applicable to Debian and other Debian and Ubuntu-based distributions like Linux Mint, Deepin and more.

What is apt cache? Why is it used?

When you install a package using apt-get or apt command (or DEB packages in the software center), the apt package manager downloads the package and its dependencies in .deb format and keeps it in /var/cache/apt/archives folder.

While downloading, apt keeps the deb package in /var/cache/apt/archives/partial directory. When the deb package is downloaded completely, it is moved out to /var/cache/apt/archives directory.

Once the deb files for the package and its dependencies are downloaded, your system installs the package from these deb files.

Now you see the use of cache? The system needs a place to keep the package files somewhere before installing them. If you are aware of the Linux directory structure, you would understand that /var/cache is the appropriate here.

Why keep the cache after installing the package?

The downloaded deb files are not removed from the directory immediately after the installation is completed. If you remove a package and reinstall it, your system will look for the package in the cache and get it from here instead of downloading it again (as long as the package version in the cache is the same as the version in remote repository).

This is much quicker. You can try this on your own and see how long a program takes to install the first time, remove it and install it again. You can use the time command to find out how long does it take to complete a command: time sudo apt install package_name.

I couldn’t find anything concrete on the cache retention policy so I cannot say how long does Ubuntu keep the downloaded packages in the cache.

Should you clean apt cache?

It depends on you. If you are running out of disk space on root, you could clean apt cache and reclaim the disk space. It is one of the several ways to free up disk space on Ubuntu.

Check how much space the cache takes with the du command:

Sometime this could go in 100s of MB and this space could be crucial if you are running a server.

How to clean apt cache?

If you want to clear the apt cache, there is a dedicated command to do that. So don’t go about manually deleting the cache directory. Simply use this command:

sudo apt-get clean

This will remove the content of the /var/cache/apt/archives directory (except the lock file). Here’s a dry run (simulation) of what the apt-get clean command deletes:

There is another command that deals with cleaning the apt cache:

sudo apt-get autoclean

Unlike clean, autoclean only removes the packages that are not possible to download from the repositories.

Suppose you installed package xyz. Its deb files remain in the cache. If there is now a new version of xyz package available in the repository, this existing xyz package in the cache is now outdated and useless. The autoclean option will delete such useless packages that cannot be downloaded anymore.

Is it safe to delete apt cache?

Yes. It is completely safe to clear the cache created by apt. It won’t negatively impact the performance of the system. Maybe if you reinstall the package it will take a bit longer to download but that’s about it.

Again, use the apt-get clean command. It is quicker and easier than manually deleting cache directory.

You may also use graphical tools like Stacer or Bleachbit for this purpose.


At the time of writing this article, there is no built-in option with the newer apt command. However, keeping backward compatibility, apt clean can still be run (which should be running apt-get clean underneath it). Please refer to this article to know the difference between apt and apt-get.

I hope you find this explanation about apt cache interesting. It is not something essential but knowing this little things make you more knowledgeable about your Linux system.

I welcome your feedback and suggestions in the comment section.

KeenWrite: An Open Source Text Editor for Data Scientists and Mathematicians

Monday 5th of October 2020 04:01:04 AM

Brief: An interesting text editor that supports R markdown. With codes in R, you can add string interpolation, graphs and other mathematical expressions to your text document.

KeenWrite: A Useful Open Source Markdown Editor With R Code Support Image Credit: KeenWrite

There are several open-source Markdown editors available for Linux but KeenWrite is a bit interesting with the string interpolation and R markdown support.

Not just limited to that, it also supports real-time preview and a bunch of other features particularly helpful for academics in mathematics, statistics and other related fields.

Features of KeenWrite

To give you an overview, let me go through the features it offers. You can also watch the official video below to get a better idea:

  • Real-time preview with variable substitution
  • R Markdown support
  • Uses String interpolation
  • Mathematical expression support
  • Auto-complete variable names
  • Write mathematical formulas using a subset of TeX
  • Spellcheck feature
  • Inline Code support
  • Code block
  • Essential formatting options that include superscript, subscript
  • Gives you the ability to add pictures, quotes, links
  • Export options include Markdown, HTML/SVG, and HTML/Tex
  • Available on Windows and Linux

This video by its developer describes the features in detail:

Installing KeenWrite on Linux

Unfortunately, there’s no .deb or Flatpak package to get it installed on Linux distributions. But, there is a binary file available that you can download and run to get started.

You need to head to its GitHub page, download the .bin file and the follow the instructions mentioned there or type in the following commands (assuming Downloads is the directory where the file gets stored):

cd Downloads chmod +x keenwrite.bin ./keenwrite.bin KeenWrite My Thoughts on KeenWrite

Even though I miss a dark mode on KeenWrite, the feature set seems useful enough. You get to tweak the font size, image file format support, definitions, and the configuration for using R Markdown.

In either case, we have a lot of Markdown editors available for Linux. So, if this does not suit your needs, feel free to explore our list of best Markdown editors as well.

What do you think about KeenWrite? Isn’t this an interesting text editor? Let me know your thoughts in the comments below.

Linux Jargon Buster: What is a Package Manager in Linux? How Does it Work?

Sunday 4th of October 2020 07:26:25 AM

One of the main points how Linux distributions differ from each other is the package management. In this part of the Linux jargon buster series, you’ll learn about packaging and package managers in Linux. You’ll learn what are packages, what are package managers and how do they work and what kind of package managers available.

What is a package manager in Linux?

In simpler words, a package manager is a tool that allows users to install, remove, upgrade, configure and manage software packages on an operating system. The package manager can be a graphical application like a software center or a command line tool like apt-get or pacman.

You’ll often find me using the term ‘package’ in tutorials and articles on It’s FOSS. To understand package manager, you must understand what a package is.

What is a package?

A package is usually referred to an application but it could be a GUI application, command line tool or a software library (required by other software programs). A package is essentially an archive file containing the binary executable, configuration file and sometimes information about the dependencies.

In older days, software used to installed from its source code. You would refer to a file (usually named readme) and see what software components it needs, location of binaries. A configure script or makefile is often included. You will have to compile the software or on your own along with handling all the dependencies (some software require installation of other software) on your own.

To get rid of this complexity, Linux distributions created their own packaging format to provide the end users ready-to-use binary files (precompiled software) for installing software along with some metadata (version number, description) and dependencies.

It is like baking a cake versus buying a cake.

Around mid 90s, Debian created .deb or DEB packaging format and Red Hat Linux created .rpm or RPM (short for Red Hat Package Manager) packaging system. Compiling source code still exists but it is optional now.

To interact with or use the packaging systems, you need a package manager.

How does the package manager work?

Please keep in mind that package manager is a generic concept and it’s not exclusive to Linux. You’ll often find package manager for different software or programming languages. There is PIP package manager just for Python packages. Even Atom editor has its own package manager.

Since the focus in this article is on Linux, I’ll take things from Linux’s perspective. However, most of the explanation here could be applied to package manager in general as well.

I have created this diagram (based on SUSE Wiki) so that you can easily understand how a package manager works.

Almost all Linux distributions have software repositories which is basically collection of software packages. Yes, there could be more than one repository. The repositories contain software packages of different kind.

Repositories also have metadata files that contain information about the packages such as the name of the package, version number, description of package and the repository name etc. This is what you see if you use the apt show command in Ubuntu/Debian.

Your system’s package manager first interacts with the metadata. The package manager creates a local cache of metadata on your system. When you run the update option of the package manager (for example apt update), it updates this local cache of metadata by referring to metadata from the repository.

When you run the installation command of your package manager (for example apt install package_name), the package manager refers to this cache. If it finds the package information in the cache, it uses the internet connection to connect to the appropriate repository and downloads the package first before installing on your system.

A package may have dependencies. Meaning that it may require other packages to be installed. The package manager often takes care of the dependencies and installs it automatically along with the package you are installing.

Package Manager Handling Dependencies In Linux

Similarly, when you remove a package using the package manager, it either automatically removes or informs you that your system has unused packages that can be cleaned.

Apart from the obvious tasks of installing, removing, you can use the package manager to configure the packages and manage them as per your need. For example, you can prevent the upgrade of a package version from the regular system updates. There are many more things your package manager might be capable of.

Different kinds of package managers

Package Managers differ based on packaging system but same packaging system may have more than one package manager.

For example, RPM has Yum and DNF package managers. For DEB, you have apt-get, aptitude command line based package managers.

Synaptic package manager

Package managers are not necessarily command line based. You have graphical package managing tools like Synaptic. Your distribution’s software center is also a package manager even if it runs apt-get or DNF underneath.


I don’t want to go in further detail on this topic because I can go on and on. But it will deviate from the objective of the topic which is to give you a basic understanding of package manager in Linux.

I have omitted the new universal packaging formats like Snap and Flatpak for now.

I do hope that you have a bit better understanding of the package management system in Linux. If you are still confused or if you have some questions on this topic, please use the comment system. I’ll try to answer your questions and if required, update this article with new points.

How to Free Up Space in /boot Partition on Ubuntu Linux?

Thursday 1st of October 2020 11:21:37 AM

The other day, I got a warning that boot partition is almost full or has no space left. Yes, I have a separate boot partition, not many people do that these days, I believe.

This was the first time I saw such an error and it left me confused. Now, there are several ways to free up space on Ubuntu (or Ubuntu-based distros) but not all of them are useful in this case.

This is why I decided to write about the steps I followed to free some space in the /boot partition.

Free up space in /boot partition on Ubuntu (if your boot partition is running out of space)

I’d advise you to carefully read through the solutions and follow the one best suited for your situation. It’s easy but you need to be cautious about performing some of these on your production systems.

Method 1: Using apt autoremove

You don’t have to be a terminal expert to do this, it’s just one command and you will be removing unused kernels to free up space in the /boot partition.

All you have to do is, type in:

sudo apt autoremove

This will not just remove unused kernels but also get rid of the dependencies that you don’t need or isn’t needed by any of the tools installed.

Once you enter the command, it will list the things that will be removed and you just have to confirm the action. If you’re curious, you can go through it carefully and see what it actually removes.

Here’s how it will look like:

You have to press Y to proceed.

It’s worth noting that this method will only work if you’ve a tiny bit of space left and you get the warning. But, if your /boot partition is full, APT may not even work.

In the next method, I’ll highlight two different ways by which you can remove old kernels to free up space using a GUI and also the terminal.

Method 2: Remove Unused Kernel Manually (if apt autoremove didn’t work)

Before you try to remove any older kernels to free up space, you need to identify the current active kernel and make sure that you don’t delete that.

To check your kernel version, type in the following command in the terminal:

uname -r

The uname command is generally used to get Linux system information. Here, this command displays the current Linux kernel being used. It should look like this:

Now, that you know what your current Linux Kernel is, you just have to remove the ones that do not match this version. You should note it down somewhere so that you ensure you do not remove it accidentally.

Next, to remove it, you can either utilize the terminal or the GUI.


Be extra careful while deleting kernels. Identify and delete old kernels only, not the current one you are using otherwise you’ll have a broken system.

Using a GUI tool to remove old Linux kernels

You can use the Synaptic Package Manager or a tool like Stacer to get started. Personally, when I encountered a full /boot partition with apt broken, I used Stacer to get rid of older kernels. So, let me show you how that looks.

First, you need to launch “Stacer” and then navigate your way to the package uninstaller as shown in the screenshot below.

Here, search for “image” and you will find the images for the Linux Kernels you have. You just have to delete the old kernel versions and not your current kernel image.

I’ve pointed out my current kernel and old kernels in my case in the screenshot above, so you have to be careful with your kernel version on your system.

You don’t have to delete anything else, just the ones that are the older kernel versions.

Similarly, just search for “headers” in the list of packages and delete the old ones as shown below.

Just to warn you, you don’t want to remove “linux-headers-generic”. Only focus on the ones that have version numbers with them.

And, that’s it, you’ll be done and apt will be working again and you have successfully freed up some space from your /boot partition. Similarly, you can do this using any other package manager you’re comfortable with.

Using the command-line to remove old kernels

It’s the same thing but just using the terminal. So, if you don’t have the option to use a GUI (if it’s a remote machine/server) or if you’re just comfortable with the terminal, you can follow the steps below.

First, list all your kernels installed using the command below:

ls -l /boot

It should look something like this:

The ones that are mentioned as “old” or the ones that do not match your current kernel version are the unused kernels that you can delete.

Now, you can use the rm command to remove the specific kernels from the boot partition using the command below (a single command for each):

sudo rm /boot/vmlinuz-5.4.0-7634-generic

Make sure to check the version for your system — it may be different for your system.

If you have a lot of unused kernels, this will take time. So, you can also get rid of multiple kernels using the following command:

sudo rm /boot/*-5.4.0-{7634}-*

To clarify, you need to write the last part/code of the Kernel versions separated by commas to delete them all at once.

Suppose, I have two old kernels 5.4.0-7634-generic and 5.4.0-7624, the command will be:

sudo rm /boot/*-5.4.0-{7634,7624}-*

If you don’t want to see the old kernel version in the grub boot menu, you can simply update grub using the following command:

sudo update-grub

That’s it. You’re done. You’ve freed up space and also potentially fixed the broken APT if it was an issue after your /boot partition filled up.

In some cases, you may need to enter these commands to fix the broken apt (as I’ve noticed in the forums):

sudo dpkg --configure -a sudo apt install -f

Do note that you don’t need to enter the above commands unless you find APT broken. Personally, I didn’t need these commands but I found them handy for some on the forums.

Bagisto: An Open Source eCommerce Platform

Wednesday 30th of September 2020 05:46:16 AM

Brief: Bagisto is a relatively new open-source eCommerce platform built on Laravel. Let’s see what it has got to offer.

Bagisto: Free & Open Source eCommerce Platform Built On Laravel

I have discussed some of the best open-source eCommerce platforms to build shopping websites in the past. Recently, I came to know about a new platform called Bagisto. It’s built on Laravel, which is a free and open-source PHP framework.

On the first look, it’s impressive to find an open-source eCommerce solution that lets you craft beautiful shopping experiences. Hence, I decided to give a quick look on what it offers and if it’s something that you can try.

Features of Bagisto Bagisto Live Demo

Of course, just like any other eCommerce solutions, you should expect the essential options available to build a basic online shopping website. In this case, I think it ticks all the boxes for the basic requirements while also providing some useful/advanced options.

  • Ability to create a marketplace to allow other vendors to sell their products
  • Multi-store inventory to easily manage the stock you have in a physical retail store and a warehouse depending on your business
  • Search Engine Optimization options for your products
  • Access control level to prevent unnecessary access to agents, shopping partners, or an admin.
  • Detailed insights report for effective marketing campaigns and improvements
  • Add/manage shipping methods
  • RTL supported system
  • Customer group options
  • Easy cart management
  • Multiple Payment methods supported
  • Convert your web experience into a Progressive Web App for mobile phones
  • Store pick up options (for businesses with physical stores)
  • Multi-currency support
  • Multi-language support
  • Tax calculation support
  • Several extensions to support mobile number login, Stripe payment gateway, dropshipping, Point of Sale and other options to extend the functionality
Getting Started with Bagisto

To get started using Bagisto, you need to first go through the documentation looking at the server requirements.

You can choose to deploy it locally for a test run or install it on your server after ensuring that it meets the minimum requirements. In either case, you can also take a look at their live demo to explore it.

If you’re going to self-host it, you should note that Instead of creating a standalone Bagisto image, they are using a hybrid method of running composer on an Apache PHP image.

So, yes, you can deploy it via Docker as well. You will also find their GitHub page for docker implementation useful with the necessary instructions.

If you’re curious to learn more, you can check out their recent video on the latest release (at the time of writing this):

Bagisto eCommerce Platform Wrapping Up

Depending on what you require, you may go ahead and try some of the options that we mentioned in our list of open-source eCommerce platforms. Bagisto seems to be a good enough solution for most of the eCommerce businesses with essential and advanced options available.

What do you prefer to use to create your own online shopping website? Feel free to let me know your thoughts in the comments.

Present Slides in Linux Terminal With This Nifty Python Tool

Tuesday 29th of September 2020 05:36:11 AM

Presentations are often boring. This is why some people add animation or comics/meme to add some humor and style to break the monotony.

If you have to add some unique style to your college or company presentation, how about using the Linux terminal? Imagine how cool it would be!

Present: Do Your Presentation in Linux Terminal

There are so many amusing and fun stuff you can do in the terminal. Making and presenting slides is just one of them.

Python based application named Present lets you create markdown and YML based slides that you can present in your college or company and amuse people in the true geek style.

I have made a video showing what it would look like to present something in the Linux terminal with Present.

Subscribe to our YouTube channel for more Linux videos Features of Present

You can do the following things with Present:

  • Use markdown syntax for adding text to the slides
  • Control the slides with arrow or PgUp/Down keys
  • Change the foreground and background colors
  • Add images to the slides
  • Add code blocks
  • Play a simulation of code and output with codio YML files
Installing Present on Linux

Present is a Python based tool and you can use PIP to install it. You should make sure to install Pip on Ubuntu with this command:

sudo apt install python3-pip

If you are using some other distributions, please check your package manager to install PIP3.

Once you have PIP installed, you can install Present system wide in this manner:

sudo pip3 install present

You may also install it for only the current user but then you’ll also have to add ~/.local/bin to your PATH.

Using Present to create and present slides in Linux terminal

Since Present utilizes markdown syntax, you should be aware of it to create your own slides. Using a markdown editor will be helpful here.

Present needs a markdown file to read and play the slides. You may download this sample slide but you need to download the embed image separately and put it inside image folder.

  • Separate slides using — in your markdown file.
  • Use markdown syntax for adding text to the slides.
  • Add images with this syntax: ![RC] (images/name.png).
  • Change slide colors by adding syntax like <!– fg=white bg=red –>.
  • Add a slide with effects using syntax like <!– effect=fireworks –>.
  • Use codio syntax to add a code running simulation.
  • Quit the presentation using q and control the slides with left/right arrow or PgUp/Down keys.

Keep in mind that resizing the terminal window while running the presentation will mess things up and so does pressing enter key.


If you are familiar with Markdown and the terminal, using Present won’t be difficult for you.

You cannot compare it to regular presentation slides made with Impress, MS Office etc but it is a cool tool to occasionally use it. If you are a computer science/networking student or work as a developer or sysadmin, your colleagues will surely find this amusing.

Drawing is an Open Source MS-Paint Type of App for Linux Desktop

Monday 28th of September 2020 07:48:57 AM

Brief: Drawing is a basic image editor like Microsoft Paint. With this open source application, you can draw arrows, lines, geometrical shapes, add colors and other stuff you expect to do in a regular drawing application.

Drawing: A simple drawing application for Linux

For people introduced to computers with Windows XP (or earlier version), MS Paint was an amusing application from sketching random stuff. In a world dominated with Photoshop and GIMP, the paint applications still hold some relevance.

There are several painting applications available for Linux, and I am going to add one more to this list.

The app is unsurprisingly called Drawing and you can use it on both Linux desktop and Linux smartphones.

Features of Drawing app

Drawing has all the features you expect from a drawing application. You can

  • Create new drawings from scratch
  • Edit an existing image in PNG, JPEG or BMP file
  • Add geometrical shapes, lines, arrows etc
  • Dashed
  • Use pencil tool for free-hand drawing
  • Use curve and shape tool
  • Crop image canvas (not the image itself)
  • Scale images to different pixel size
  • Add text
  • Select part of image (rectangle, freehand and color selection)
  • Rotate images
  • Add images copied to clipboard
  • Eraser, Highlighter, Paint, Color Selection, Color Picker tools are available in preferences
  • Unlimited undo
  • Filters to add blur, pixelisation, transparency etc
My experience with Drawing

The application is new and has a decent user interface. It comes with the basic features you expect to find in a standard paint app.

It has some additional tools like color selection and color picker but it might be confusing to use them. There is no documentation available to describe the use of these tools to you are on your own here.

The crop tool is misleading because it just resizes the image to a smaller scale. There is also a separate scale tool to increase the canvas size and this is why crop makes no sense here.

The experience is smooth and I feel that this tool has good potential to replace Shutter as image editing tool (yes, I use Shutter for editing screenshots) if it could improve a few things.

The thing that I find most bothersome is that it is not possible to edit/modify an element after adding it. You have the undo and redo options but if you want to modify a text you added 12 steps back, you’ll have to redo all the steps. This is something the developer may look into it in the future releases.

Installing Drawing on Linux

This is a Linux exclusive app. It is also available for Linux-based smartphones like PinePhone.

There are various ways you can install Drawing app. It is available in the repositories of many major Linux distributions.

Ubuntu-based distributions

Drawing is included in the universe repository in Ubuntu. Which means you can install it from the Ubuntu Software Center.

However, if you want the latest version, there is a PPA available for easily installing Drawing on Ubuntu. Linux Mint and other Ubuntu-based distributions.

Use the following command:

sudo add-apt-repository ppa:cartes/drawing sudo apt update sudo apt install drawing

If you want to remove it, you can use the following commands:

sudo apt remove drawing sudo add-apt-repository -r ppa:cartes/drawing Other Linux distributions

Check your distribution’s package manager for Drawing and install it from there. If you want the latest version, you may use the Flatpak version of the app.

Drawing Flatpak


Do you still use a paint application? Which one do you use? If you have tried Drawing app already, how is your experience with it?