Language Selection

English French German Italian Portuguese Spanish


Syndicate content It's FOSS
A Linux and Open Source Web Portal
Updated: 1 hour 12 min ago

Get Trained and Certified on Kubernetes and Other Cloud Technologies With Linux Foundation [70% Off]

Tuesday 14th of January 2020 02:15:15 PM

If learning cloud related technologies is one of your new year resolution then I have a good news for you.

Linux Foundation, the official organization behind Linux, is running a limited time sale on its cloud training and certification bundles.

There are three bundles in this offer for people with varying experience and interest.

Cloud Engineer Starter Pack

This bundle is for beginners to sysadmin, containers and Kubernetes. You will learn the fundamentals of Linux system administration, containers (Docker), Kubernetes, DevOps and Linux security.

This bundle includes the Certified Kubernetes Adminstrator exam. Obtaining the CKA certification assures employers you have the skills, knowledge, and competency to be a Kubernetes Administrator.

.ugb-1579c38 li{--icon-size:20px;margin-bottom:16px !important}.ugb-1579c38 li::before{height:20px !important;width:20px !important;background-image:url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTk0IDE5NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOTYuOSAyYy01Mi40IDAtOTUgNDIuNi05NSA5NXM0Mi42IDk1IDk1IDk1IDk1LTQyLjYgOTUtOTUtNDIuNi05NS05NS05NXpNNzYuNiAxNDQuN2wtMzYuNS0zNi41IDEwLjYtMTAuNiAyNS45IDI1LjkgNjguOC02OC44TDE1NiA2NS4zbC03OS40IDc5LjR6Ij48L3BhdGg+PC9zdmc+')}.ugb-1579c38 li ul{margin-bottom:16px !important}.ugb-1579c38.ugb-icon-list ul{columns:1}

The total price of these courses and the exam is $1695 but you get them all in this bundle for $329 if you use the code CESTARTER at checkout.

Cloud Engineer Starter Pack Turbo Charge Pack

This one is for the senior system administrators. It uses the CKA exam as the jumping-off point into the complementary sysadmin tools. You will learn specialized cloud and container skills to take your career to the next level.

.ugb-b8d70ad li{--icon-size:20px;margin-bottom:16px !important}.ugb-b8d70ad li::before{height:20px !important;width:20px !important;background-image:url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTk0IDE5NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOTYuOSAyYy01Mi40IDAtOTUgNDIuNi05NSA5NXM0Mi42IDk1IDk1IDk1IDk1LTQyLjYgOTUtOTUtNDIuNi05NS05NS05NXpNNzYuNiAxNDQuN2wtMzYuNS0zNi41IDEwLjYtMTAuNiAyNS45IDI1LjkgNjguOC02OC44TDE1NiA2NS4zbC03OS40IDc5LjR6Ij48L3BhdGg+PC9zdmc+')}.ugb-b8d70ad li ul{margin-bottom:16px !important}.ugb-b8d70ad.ugb-icon-list ul{columns:1} Turbo Charge Pack

You pay only $329 instead of $1795 for this bundle by using CETURBO coupon code.

Cloud Developer Starter Pack

This pack is targeted for junior and mid-level developers. You’ll learn the basic knowledge on open source software development along with cloud and container technologies. The Certified Kubernetes Application Developer is perfect for boosting your resume.

.ugb-681147e li{--icon-size:20px;margin-bottom:16px !important}.ugb-681147e li::before{height:20px !important;width:20px !important;background-image:url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTk0IDE5NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOTYuOSAyYy01Mi40IDAtOTUgNDIuNi05NSA5NXM0Mi42IDk1IDk1IDk1IDk1LTQyLjYgOTUtOTUtNDIuNi05NS05NS05NXpNNzYuNiAxNDQuN2wtMzYuNS0zNi41IDEwLjYtMTAuNiAyNS45IDI1LjkgNjguOC02OC44TDE1NiA2NS4zbC03OS40IDc5LjR6Ij48L3BhdGg+PC9zdmc+')}.ugb-681147e li ul{margin-bottom:16px !important}.ugb-681147e.ugb-icon-list ul{columns:1} Cloud Developer Starter Pack

The regular price for the bundle is $1396 but you can get it for $329 using coupon code CDSTARTER at the checkout page.

The courses contain videos and supporting study material. You can access it for one year from the date of purchase. You can make two attempts at the certification exams within a year.

The sale ends January 21, 2020, 23:59 UTC. It’s FOSS is an affiliate partner of Linux Foundation. Please read our affiliate policy.

Root User in Ubuntu: Important Things You Should Know

Tuesday 14th of January 2020 04:02:18 AM

When you have just started using Linux, you’ll find many things that are different from Windows. One of those ‘different things’ is the concept of the root user.

In this beginner series, I’ll explain a few important things about the root user in Ubuntu.

Please keep in mind that while I am writing this from Ubuntu user’s perspective, it should be valid for most Linux distributions.

You’ll learn the following in this article:

What is root user? Why is it locked in Ubuntu?

In Linux, there is always a super user called root. This is the super admin account that can do anything and everything with the system. It can access any file and run any command on your Linux system.

With great power comes great responsibility. Root user gives you complete power over the system and hence it should be used with great cautious. Root user can access system files and run commands to make changes to the system configuration. And hence, an incorrect command may destroy the system.

This is why Ubuntu and other Ubuntu-based distributions lock the root user by default to save you from accidental disasters.

You don’t need to have root privilege for your daily tasks like moving file in your home directory, downloading files from internet, creating documents etc.

Take this analogy for understanding it better. If you have to cut a fruit, you use a kitchen knife. If you have to cut down a tree, you have to use a saw. Now, you may use the saw to cut fruits but that’s not wise, is it?

Does this mean that you cannot be root in Ubuntu or use the system with root privileges? No, you can still have root access with the help of ‘sudo’ (explained in the next section).

Bottom line:
Root user is too powerful to be used for regular tasks. This is why it is not recommended to use root all the time. You can still run specific commands with root.

How to run commands as root user in Ubuntu? Image Credit: xkcd

You’ll need root privileges for some system specific tasks. For example, if you want to update Ubuntu via command line, you cannot run the command as a regular user. It will give you permission denied error.

apt update Reading package lists... Done E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied) E: Unable to lock directory /var/lib/apt/lists/ W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied) W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)

So, how do you run commands as root? The simple answer is to add sudo before the commands that require to be run as root.

sudo apt update

Ubuntu and many other Linux distributions use a special mechanism called sudo. Sudo is a program that controls access to running commands as root (or other users).

Sudo is actually quite a versatile tool. It can be configured to allow a user to run all commands as root. You may configure it run only a selected few commands as root. You can also configure to run sudo without password. It’s an extensive topic and maybe I’ll discuss it in details in another article.

For the moment, you should know that when you install Ubuntu, you are forced to create a user account. This user account works as the admin on your system and as per the default sudo policy in Ubuntu, it can run any command on your system with root privileges.

The thing with sudo is that running sudo doesn’t require root password but the user’s own password.

And this is why when you run a command with sudo, it asks for the password of the user who is running the sudo command:

abhishek@nuc:~$ sudo apt update [sudo] password for abhishek:

As you can see in the example above, user abhishek was trying to run the ‘apt update’ command with sudo and the system asked the password for abhishek.

If you are absolutely new to Linux, you might be surprised that when you start typing your password in the terminal, nothing happens on the screen. This is perfectly normal because as the default security feature, nothing is displayed on the screen. Not even the asterisks (*). You type your password and press enter.

Bottom line:
To run commands as root in Ubuntu, add sudo before the command.
When asked for password, enter your account’s password.
When you type the password on the screen, nothing is visible. Just keep on typing the password and press enter.

How to become root user in Ubuntu?

You can use sudo to run the commands as root. However in situations, where you have to run several commands as root and you keep forogetting to add sudo before the commands, you may switch to root user temporarily.

The sudo command allows you to simulate a root login shell with this command:

sudo -i abhishek@nuc:~$ sudo -i [sudo] password for abhishek: root@nuc:~# whoami root root@nuc:~#

You’ll notice that when you switch to root, the shell command prompt changes from $ (dollar key sign) to # (pound key sign). This makes me crack a (lame) joke that pound is stronger than dollar.

Though I have showed you how to become the root user, I must warn you that you should avoid using the system as root. It’s discouraged for a reason after all.

Another way to temporarily switch to root user is by using the su command:

sudo su

If you try to use the su command without sudo, you’ll encounter ‘su authentication failure’ error.

You can go back to being the normal user by using the exit command.

exit How to enable root user in Ubuntu?

By now you know that the root user is locked by default in Ubuntu based distributions.

Linux gives you the freedom to do whatever you want with your system. Unlocking the root user is one of those freedoms.

If, for some reasons, you decided to enable the root user, you can do so by setting up a password for it:

sudo passwd root

Again, this is not recommended and I won’t encourage you to do that on your desktop. If you forgot it, you won’t be able to change the root password in Ubuntu again.

You can lock the root user again by removing the password:

sudo passwd -dl root

In the end…

I hope you have a slightly better understanding of the root concept now. If you still have some confusion and questions about it, please let me know in the comments. I’ll try to answer your questions and might update the article as well.

LMMS: A Free & Open Source Digital Audio Workstation (DAW)

Monday 13th of January 2020 09:22:15 AM

In this week’s Linux application highlight, we take a look at a free and open-source DAW that helps make music with most of the essential features offered.

LMMS: A Free & Open Source Software To Help Make Music

LMMS is a cross-platform open source DAW hosted on GitHub. It is completely free to use and you do not need to purchase any kind of license to use it.

If you’re curious, there’s no specific full-form for “LMMS” acronym but you can consider it along the lines of “Let’s Make Music” or formerly known as “Linux MultiMedia Studio” as stated in one of their official forum post years back.

So, with the help of LMMS, you should be able to work on making music on Linux.

Of course, you should not expect a free DAW to replace a full-fledged professional DAW bundled with proprietary plugins – but for starters, it isn’t a bad one.

If you’re used to other DAWs, it might take a while to get comfortable with the user interface. For instance, I’ve used Studio One and Mixcraft as a beginner – so the UI of LMMS looked different.

But, the good news is – you get a detailed official documentation of LMMS. So, if you have trouble learning how it works, simply refer to the official documentation available on their website.

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

Recommended Read:

.ugb-2571f1d .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-2571f1d .ugb-blog-posts__title a{color:#000000 !important}.ugb-2571f1d .ugb-blog-posts__title a:hover{color:#00b6ba !important}Best Audio Editors For Linux

These awesome free and open source audio editors let you create awesome music in Linux. Check out the list of top Linux audio editors.

Features of LMMS

Just like any other DAW, you will find plugins, samples to use, instruments, and MIDI support. However, it is indeed a long list of features. So, instead of taking a whole day explaining it, let me highlight all the necessary features that LMMS provides.

  • Ability to add notes within the project without needing a separate note-taking app
  • Bundled free plugins to use
  • Note playback via MIDI or typing keyboard
  • MIDI Editor
  • Separate editor for instruments
  • Track Automation support
  • 64-bit VST instrument support (for wine-based VSTs)
  • Built-in synthesizers that include some popular emulators for Yamaha and Roland
  • Feature-rich audio plugins built-in
  • Demo projects to easily get started
  • Several samples included
  • Native multisample support for SoundFont (SF2), Giga (GIG) and Gravis UltraSound (GUS) formats for high-quality instrument patches and banks (only if it’s relevant for your work)
  • LADSPA plugin support
  • You will also find the essential delay/reverb/compressor/limiter and distortion tools built-in
  • Spectrum analyzer

You can find some extensive documentation on using LMMS. If you face any difficulties, LMMS also has its own forum where you can ask for help.

Installing LMMS on Linux

You can also find LMMS listed in the software center of your distribution- however, it might not feature the latest version.

To get the latest LMMS version, you can download the .AppImage file from the official download page. If you want to take a look at the latest or previous releases on GitHub, you can find those in their releases section.

If you want to use the AppImage file, you can refer to our guide on using AppImage file.

You may also try installing the Flatpak package available on Flathub.

Download LMMS My Thoughts On LMMS

Even though this is a feature-rich free and open-source DAW – personally, I found the UX a little dull.

Of course, technically, it offers quite a lot of features and this could be useful for anyone who does not want to break their wallet to produce music. And, after all, it is an open-source solution.

If you want a full-fledged professional DAW using the VST plugins, you might just hold on to Windows/Mac (if you’re used to it) because you still need to utilize Wine on Linux in order to make sure that the 64-bit VSTs work.

Wrapping Up

That being said, I’m not a professional music producer – so feel free to explore LMMS on Linux and make the most out of it without spending a penny.

If you’ve used LMMS (or any similar DAW), let me know your thoughts in the comments below.

How to Install Ubuntu Linux in the Simplest Possible Way

Friday 10th of January 2020 10:30:48 AM

When it comes to the choosing a Linux for beginners, Ubuntu always comes on the top. I am not going to tell you why you should use Ubuntu. I am going to show you how to install Ubuntu.

There are various ways to install Ubuntu (or other Linux):

  1. You can install Ubuntu inside a virtualbox in Windows
  2. You can use Bash on Windows feature to install it inside Windows
  3. You can dual boot Ubuntu with Windows (so that you can choose which OS to use at the time your system boots)
  4. You can replace Windows with Ubuntu by wiping it altogether from your system

The method I am going to show in this tutorial is the fourth one. You wipe out the entire system and let Ubuntu be your only operating system. In my experience, this is the easiest way to install Ubuntu.

.ugb-32406c5 .ugb-accordion__heading{border-radius:0px !important}How is this the simplest way of installing Ubuntu?

You don’t have to worry about creating partitions on your own. It automatically creates an ESP partition for UEFI.

It uses the rest of the disk space in creating a single root partition. The root partition (normally) has a 2 GB of swapfile. You don’t need to create a separate swap partition and if the need be, you can increase the size of the swapfile.

The root partition also has the boot directory for grub related files. It also contains the home directory that is used for storing user related files like documents, pictures, music, videos, downloads etc.

It’s a no-brainer. You let Ubuntu do the work for you instead of wondering about creating ESP, root, Swap and Home partitions.

Ubuntu automatically creates ESP partition

Best suited for you if you just want to use a single Linux distribution and no other operating system. You don’t want to switch distributions very often or if you do, you don’t have a lot of important data on it.

The procedure shown here works for Ubuntu and all other distributions based on it such as Kubuntu, Xubuntu, Lubuntu, Ubuntu Budgie, Linux Mint, Linux Lite etc. The screenshot might look a little bit different but the steps are basically the same.

Install Ubuntu by replacing Windows and other operating systems

What do you need in order to install Ubuntu:

  • A USB of at least 4 GB in size. You can also use a DVD.
  • Internet connection (for downloading Ubuntu and live-USB making tool, not required for installing Ubuntu)
  • Optionally, you may need an external USB disk for making a backup of your important data (if any) present on the current system

If you are going to install the default Ubuntu GNOME, the system requirements are:

  • A system with 2 GHz dual core processor or better
  • 4 GB of RAM or more
  • At least 25 GB of hard disk space


This method removes all the other operating systems along with the data present on the disk.

You may save your personal files, documents, pictures etc on an external USB disk or cloud storage if you want to use it later.

Subscribe to our YouTube channel for more Linux videos Step 1: Download Ubuntu

Before you do anything, you have to download Ubuntu. It is available as a single ISO file of around 2 GB in size. An ISO file is basically an image of disc and you need to extract this ISO on a USB disk or DVD.

You can download Ubuntu ISO from its website.

Download Ubuntu

If you have slow or inconsistent internet, you can find the torrent downloads at the alternate download page (scroll down a bit).

Step 2: Create a live USB

Once you have downloaded Ubuntu’s ISO file, the next step is to create a live USB of Ubuntu.

A live USB basically allows you to boot into Ubuntu from a USB drive. You can test Ubuntu without even installing it on your system. The same live USB also allows you to install Ubuntu.

There are various free tools available for making a live USB of Ubuntu such as Etcher, Rufus, Unetbootin, Universal USB installer.

You can follow this tutorial to learn to make live USB of Ubuntu with Universal USB Installer in Windows.

You may also watch this video to learn how to make a bootable USB of Ubuntu on Windows.

If you are already using some Linux distribution, you can use Etcher.

Step 3: Boot from the live USB

Plug in your live Ubuntu USB disk to the system.

Now, you need to make sure that your system boots from the USB disk instead of the hard disk. You can do that by moving the USB up in the boot order.

Restart your system. When you see a logo of your computer manufacturer (Dell, Acer, Lenovo etc), press F2 or F10 or F12 to access the BIOS settings.

Now, the BIOS screen could look different for your computer.

Change the boot order to boot from USB

The entire idea is that you put USB (or removable media) on the top of the boot order. Save the changes and exit.

Step 4: Install Ubuntu

Now you should boot into the live Ubuntu environment. You’ll the grub screen that gives you the option to either try Ubuntu without installing or install it right away.

You may choose the first option i.e. ‘Try Ubuntu without installing’:

Boot into live Ubuntu

In around 10-20 seconds, you should be able to log in to the live Ubuntu environment. It may take some more time if you are using the slower USB 2.

Click on the Install Ubuntu icon on the desktop.

It will ask you to choose some basic configurations like language and keyboard layout. Choose the most appropriate ones for your system.

You should go for the normal installation here because it will install some software like music player, video players and a few games.

If you are connected to internet, you’ll get the option to download updates while installing Ubuntu. You may uncheck it because it may increase the installation time if you have a slow internet. You can update Ubuntu later as well without any issues.

Install Ubuntu 4

The most important screen comes at this time. If there are other operating systems installed, you may get the option to install Ubuntu along with them in dual boot.

But since your goal is to only have Ubuntu Linux on your entire system, you should go for Erase disk and install Ubuntu option.

Erase disk and install Ubuntu

When you hit the “Install Now” button, you’ll see a warning that you are about to delete the data. You already know it, don’t you?

Usual warning about formatting the disk

Things are straightforward from here. You’ll be asked to choose a timezone

Select timezone

And then you’ll be asked to create a username, computer’s name (also known as hostname) and set a password.

Set username and password

Once you do that, you just have to wait and watch for like 5-10 minutes. You’ll see a slideshow of Ubuntu features in this time.

Slideshow provides basic information about using Ubuntu during installation

Once the process finishes, you’ll be asked to restart the system.

Restart your system

When you restart the system, you might encounter a shutdown screen that asks you to remove the installation media and press enter.

Remove USB and press enter

Remove the USB disk and press enter. Your system will reboot and this time, you’ll boot into Ubuntu.

That’s it. See, how easy it is to install Ubuntu. You can use this method to replace Windows with Ubuntu.

What next?

Now that you have successfully installed it, I strongly suggest reading this guide on things to do after installing Ubuntu to make your Ubuntu experience smoother.

I also recommend going through this list of Ubuntu tutorials and learn to do various common things with Ubuntu.

I hope you find this tutorial helpful in installing Ubuntu. If you have questions or suggestions, please feel free to ask it in the comment section.

Don’t Use ZFS on Linux: Linus Torvalds

Friday 10th of January 2020 05:54:05 AM

“Don’t use ZFS. It’s that simple. It was always more of a buzzword than anything else, I feel, and the licensing issues just make it a non-starter for me.”

This is what Linus Torvalds said in a mailing list to once again express his disliking for ZFS filesystem specially over its licensing.

To avoid unnecessary confusion, this is more intended for Linux distributions, kernel developers and maintainers rather than individual Linux users.

What’s the licensing issue with ZFS and the Linux kernel?

ZFS was open sourced around 2003. This would have meant that Linux distributions start supporting ZFS. But that didn’t really happen because of the complexity of open source licenses.

ZFS is open source under Common Development and Distribution License (CDDL) 1.0 whereas Linux kernel is licensed under the GNU General Public License (GPL) 2.0.

These two open source licenses are not fully compatible with each other. As noted by PCWorld, if ZFS with this license is included in the Linux kernel, this would mean that kernel+ZFS is a derivative work of the (original ZFS-less) Linux kernel.

Torvalds doesn’t trust Oracle

While the whole derivative thing is a matter of debate for legal and licensing experts, Torvalds is skeptical of Oracle. Oracle has a history of suing enterprises for using its code. Remember Oracle vs Android lawsuit over the use of Java?

Other people think it can be ok to merge ZFS code into the kernel and that the module interface makes it ok, and that’s their decision. But considering Oracle’s litigious nature, and the questions over licensing, there’s no way I can feel safe in ever doing so.

And I’m not at all interested in some “ZFS shim layer” thing either that some people seem to think would isolate the two projects. That adds no value to our side, and given Oracle’s interface copyright suits (see Java), I don’t think it’s any real licensing win either.

Torvalds doesn’t want Linux kernel to get into legal troubles with Oracle in future and hence he refuses to include ZFS in the mainline kernel until Oracle provides a signed letter that a kernel with ZFS will be under GPL license.

And honestly, there is no way I can merge any of the ZFS efforts until I get an official letter from Oracle that is signed by their main legal counsel or preferably by Larry Ellison himself that says that yes, it’s ok to do so and treat the end result as GPL’d.

He is not stopping other (distributions) from using ZFS. But they are on their own.

If somebody adds a kernel module like ZFS, they are on their own. I can’t maintain it, and I can not be bound by other peoples kernel changes.

Canonical, Ubuntu’s parent company, has been too keen on ZFS. Their legal department thinks that including ZFS in the kernel doesn’t make it a derivative work. So they took their chances and now they provide an option to use ZFS on root from Ubuntu 19.10.

Torvalds is also not impressed with ZFS in general

While some people drool over ZFS, Linus Torvalds is not that impressed with ZFS. He doesn’t think it’s using ZFS is a good idea specially when it is not actively maintained by Oracle (after they open sourced it)

The benchmarks I’ve seen do not make ZFS look all that great. And as far as I can tell, it has no real maintenance behind it either any more, so from a long-term stability standpoint, why would you ever want to use it in the first place?

I am no legal expert but if there is even a slightest doubt, I would prefer staying away from ZFS. What do you think of the whole ZFS debate?

Huawei’s Linux Distribution openEuler is Available Now!

Wednesday 8th of January 2020 07:59:08 AM

Huawei offers a CentOS based enterprise Linux distribution called EulerOS. Recently, Huawei has released a community edition of EulerOS called openEuler.

The source code of openEuler is released as well. You won’t find it on Microsoft owned GitHub – the source code is available at Gitee, a Chinese alternative of GitHub.

There are two separate repositories, one for the source code and the other as a package source to store software packages that help to build the OS.

The openEuler infrastructure team shared their experience to make the source code available:

We are very excited at this moment. It was hard to imagine that we will manage thousands of repositories. And to ensure that they can be compiled successfully, we would like to thank all those who participated in contributing

openEuler is a Linux distribution based on CentOS

Like EulerOS, openEuler OS is also based on CentOS but is further developed by Huawei Technologies for enterprise applications.

It is tailored for ARM64 architecture servers and Huawei claims to have made changes to boost its performance. You can read more about it at Huawei’s dev blog.

At the moment, as per the official openEuler announcement, there are more than 50 contributors with nearly 600 commits for openEuler.

The contributors made it possible to make the source code available to the community.

It is also worth noting that the repositories also include two new projects (or sub-projects) associated with it, iSulad and A-Tune.

A-Tune is an AI-based OS tuning software and iSulad is a lightweight container runtime daemon that is designed for IoT and Cloud infrastructure, as mentioned on Gitee.

Also, the official announcement post mentioned that these systems are built on the Huawei Cloud through script automation. So, that is definitely something interesting.

Downloading openEuler

As of now, you won’t find the documentation for it in English – so you will have to wait for it or choose to help them with the documentation.

You can download the ISO directly from its official website to test it out:

Download openEuler What do you think of Huawei openEuler?

As per cnTechPost, Huawei had announced that EulerOS would become open source under the new name openEuler.

At this point, it’s not clear if openEuler is replacing EulerOS or both will exist together like CentOS (community edition) and Red Hat (commercial edition).

I haven’t tested it yet so I cannot say if openEuler is suitable for English speaking users or not.

My teammate Abhishek tried to use openEuler but the ISO provided on their website is not suitable for making a bootable USB. This is the error it shows:

The openEuler ISO doesn’t work properly

An incomplete website, broken ISO. It seems Huawei was in too much of a hurry and didn’t prepare things very well.

Are you willing to give this a try? In case you managed to try it out, feel free to let me know your experience with it in the comments below.

Kali Linux Will No Longer Have The Default Root User

Monday 6th of January 2020 12:16:24 PM

Kali Linux is a specialized Linux distribution for cyber security testing and hacking related tasks.

If you’ve used Kali Linux, you probably know that it followed a default root user policy. In other words, you are always root in Kali Linux. Whatever you do – you will be accessing tools/applications as root by default.

It looks like everything back then was kind of “root for all” for everything. So, the default root user policy existed.

They also explained the history for this in their announcement post:

A lot of those tools back then either required root access to run or ran better when ran as root. With this operating system that would be ran from a CD, never be updated, and had a lot of tools that needed root access to run it was a simple decision to have a “everything as root” security model. It made complete sense for the time.

Kali Linux will now have a default non-root user (like most other distributions)

A default non-root model was necessary because a lot of users now use Kali Linux as their daily driver.

Of course, they do not recommend using Kali Linux as a replacement for stable distributions like Ubuntu/Fedora/Manjaro – however, with its active development, some users do consider using it on a day-to-day basis instead of just using it for its tools.

So, with a wide mainstream usage of the distro, the Kali Linux team thought of switching to a default non-root model because nowadays a lot of applications/tools do not require root access.

While we don’t encourage people to run Kali as their day to day operating system, over the last few years more and more users have started to do so (even if they are not using it to do penetration testing full time), including some members of the Kali development team. When people do so, they obviously don’t run as default root user. With this usage over time, there is the obvious conclusion that default root user is no longer necessary and Kali will be better off moving to a more traditional security model.

So I am reiterating that you should not consider Kali Linux to be fit for your daily tasks if you do not utilize security-related Kali Linux tools. Feel free to experiment – but I wouldn’t be so sure to rely on it.

So from the next release, when you install Kali Linux, you’ll be asked to create non-root user that will have admin privileges. Tools and commands that require root access will be run with sudo.

.ugb-6df8ac7 .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-6df8ac7 .ugb-inner-block{text-align:left}Pretend to be Using Windows with Kali Linux Undercover Mode

The new undercover mode in Kali Linux switches the desktop layout to make it look like Windows 10. Find out how to activate the undercover mode.

New default user and password for Kali Linux live mode Kali Linux has new user-password in the live system

Technically, you won’t find a groundbreaking difference. Just note that the default user ID and password in live mode is “kali“.

You can find the new non-root model implemented in the new daily/weekly builds if you want to test it early.

In either case, you can wait for the 2020.1 release scheduled for late January to take a look at the new default non-root user model.

Getting back the old root model in Kali Linux

If you are a long time Kali Linux user, you may not find it convenient to add sudo before commands and then manually enter the password.

The good news here is that you can still get the old password-less root rights with this command:

sudo dpkg-reconfigure kali-grant-root

What do you think about the default non-root user model? Is it a good decision? Let me know your thoughts in the comments.

App Highlight: Catfish Desktop File Searching Tool

Monday 6th of January 2020 05:30:21 AM

Brief: Catfish is a nifty file searching GUI tool for Linux desktop. The interface is lightweight and simple and the tool allows to refine your search with criteria like time, file type etc.

The Linux purists use commands like locate, find and grep to search for files in the terminal.

But as a desktop Linux user, you don’t need to leave the comfort of the graphical user interface (GUI) and deep dive into the command line interface (CLI) just for searching files on your desktop.

Most Linux distributions provide a basic desktop search feature either via the file manager or through the desktop environment itself.

On GNOME desktop, you can search for files in the Activities area (use the Windows key to bring it up). Files (previously known as Nautilus) also has a built-in search button.

Nautilus file manager already has advanced search feature

You can extend this search and add options like time and type of the file. One thing it doesn’t do is to search inside the files. For example, you cannot use it to get all the files that contains “university”.

This is where a desktop file search tool like Catfish could help you.

Catfish: A nifty GUI tool for searching files on Linux

Catfish is a GUI tool that enables you to search your desktop for any kind of files. It uses locate and find commands underneath. The autocompletion feature uses Zeitgeist daemon and locate command. It’s a lightweight tool and uses GTK+.

Catfish is developed by Christian Dywan, the same person who develops the lightweight Midori web browser.

Catfish interface on MX Linux

Some of the main features of Catfish are:

  • Search for files anywhere on your system, including the mounted partitions
  • Search inside the files for its contents (can be enabled from preferences)
  • Search hidden files as well
  • Refine your search based on modification time
  • Refine your search based on file type (images, videos, documents etc)
  • Refine your search based on location (Documents, Downloads, Pictures or other folders)
  • Exclude certain directories and paths from your search
  • Lightweight and simple interface
  • Support for Wayland display server (from version 1.4.12)

Catfish is now a Xfce project and it is providing the search feature to Xfce’s Thunar file manager.

Installing Catfish on Ubuntu and other Linux distributions

Let’s see how to install Catfish on your Linux distributions.

Ubuntu-based distributions

Catfish is available in the universe repository for Ubuntu based distributions such as Xubuntu, Linux Mint, Linux Lite etc.

You can install it from the software center by searching for Catfish

Catfish in Ubuntu Software Center

or, use the terminal to install it:

sudo apt install catfish

The version provided by Ubuntu may not be the latest. The official PPA has been abandoned so this means that to get the latest Catfish version, you’ll have to install it from the source code.

On other distributions

Catfish is also available in most major Linux distributions. It is certainly available on Fedora and if you check your distribution’s package manager or software center, you should find it there and install it like any other program.


In this week’s Linux application highlight, you learned about this handy little utility. However, Catfish is not the only tool of its kind. You may check some other search tools like ANGRYSearch or SearchMonkey.

Have you ever used a GUI tool for searching files or do you rely on the good old command line? And what do you think of Catfish? Do you look forward to use it?

Shocking! EA is Permanently Banning Linux Gamers on Battlefield V

Friday 3rd of January 2020 07:59:14 AM

Only when I thought that EA as a game company might be getting better after its decision to make its games available on Steam – but it looks like that isn’t the case.

In a Reddit thread, a lot of Linux players seem to complain about getting banned by FairFight (which is the server-side anti-cheat engine used for BF V) just because they chose to play Battlefield V (BF V) on Linux using Wine.

Is this a widespread issue?

Unfortunately, it seems to be the case with a number of Linux players using Wine to play Battlefield V on Linux.

You can also find users on Lutris Gaming forums and Battlefield forums talking about it.

Of course, the userbase on Linux playing Battlefield V isn’t huge – but it still matters, right?

What’s exactly the issue here?

It looks like EA’s anti-cheat tech considers DXVK (Vulkan-based implementation of DirectX which tries to solve compatibility issues) as cheating.

So, basically, the compatibility layer that is being utilized to make it possible to run Battlefield V is being detected as a modified file through which you’re “potentially” cheating.

Battlefield V on Lutris

Even though this could be an innocent problem for the anti-cheat engine but EA does not seem to acknowledge that at all.

Here’s what they respond with when one of the players wrote an email to EA in order to lift the ban:

After thoroughly investigating your account and concern, we found that your account was actioned correctly and will not remove this sanction from your account.

Also, with all this going on, Lutris Gaming seems to be quite furious on EA’s behavior with the permanent bans:

It has come to our attention that several Battlefield 5 players have recently been banned for playing on Linux, and that EA has chosen not to revert these wrongful punishments. Due to this, we advise to refrain from playing any multiplayer games published by @EA in the future.

— Lutris Gaming (@LutrisGaming) January 2, 2020 Not just Battlefield V, it’s the same with Destiny 2

As pointed by a Redditor in the same thread, Bungie also happens to consider Wine as an emulator (which is against their policy) and has banned players on Linux a while back.

EA needs to address the issue

We have reached out to EA for a comment on the issue. And, we’re still waiting for a response.

I shall update the article if we have an official response from EA. However, considering Blizzard as an example, they should actually work on fixing the issue and reverse the bans on players using Linux.

I know that BF V does not offer native Linux support – but supporting the compatibility layer and not considering it as cheating would allow Linux users to experience the game which they rightfully own (or considering to purchase).

What are your thoughts on this? Let me know your thoughts in the comments below.

GNOME has a ‘Secret’ Screen Recorder. Here’s How to Use it!

Thursday 2nd of January 2020 05:00:37 AM

GNOME is one of the most popular desktop environments and for good reasons. It has a modern UI and it comes with a number of GNOME-specific applications that blend well with the overall desktop appearance.

You can tweak GNOME to your liking as much as you want but I am not here to discuss that. GNOME desktop has some hidden features that you probably are not aware of.

One of such not-so-obvious feature is a built in screen recorder.

Yes, you read that right. If you are using GNOME desktop, you don’t necessarily need to install other screen recorders in Linux. You just need to know the correct keyboard shortcut.

Instantly record your screen with GNOME Screen Recorder

To quickly access the GNOME screen recorder, you have to press this keyboard shortcut in Ubuntu or other distributions using GNOME desktop:

Ctrl + Alt + Shift + R

This will immediately start recording your desktop. You can tell that the screen recording is in progress by looking at the red dot in the system tray area of the top panel:

The red dot in the system tray area indicates that screen recording is in progress Increase the screencast duration

The default maximum record time is just 30 seconds. It can be increased though.

Open a terminal and use the following command:

gsettings set max-screencast-length 300

In the above command, I have increased the maximum length of the recording to 300 seconds (i.e. 5 minutes). You can change it to any other value but it should be in seconds.

If you don’t want any limit on the maximum recording time, set it to 0 and then the recording won’t stop until you manually stop it or your disk runs out of space.

Stop the screen recording

As I mentioned, your desktop recording will stop automatically after it reaches the maximum time limit.

To stop the recording before that, you can press the same key combination:

Ctrl + Alt + Shift + R

Your recordings are saved in webm format in the Videos folder of your Home directory.


While it might be handy to record your desktop quickly with this handy little tool, it has its several limitations when compared to a full-fledged screen recording tool like Simple Screen Recorder.

  • There is no time delay option before the recording starts
  • There is no pause and play option
  • It records the entire screen. No option to record only an application window or a ceratin area or a certain monitor (if you have a multi-monitor setup).
  • Videos are saved in webm format in the user’s Videos directory. You cannot change it. You’ll have to use a tool like HandBrake to convert the videos to other format.

As you can see, the secret GNOME screen recorder is no where near to the features provided by the likes of Kazam or other such tools.

But it doesn’t try to be a full-fledged screen recorder. It just provides you a quick way of recording a small screencast. That’s it.

GNOME is a versatile modern desktop environments. You can tweak GNOME extensively. The GNOME Extensions provide another dimension to the desktop customization.

This screen recorder is one of the hidden features of GNOME like the suspend option that you won’t easily find on your own.

How do you like it? Do you know some other hidden GNOME features that you would like to share with us? The comment section is all yours.

Signal: A Secure, Open Source Messaging App

Tuesday 31st of December 2019 07:46:01 AM

Brief: Signal is a secure open-source messaging app for smartphones. It also offers a standalone desktop app for Linux, Windows, and macOS. Here, we take a look at its features and usability.

Signal is an Excellent Alternative to WhatsApp (and Telegram) for Privacy Concerned People Signal App On Linux

Signal is an open source application with a keen focus on privacy. It is recommended by privacy advocates like Edward Snowden.

It may not have as many features as Telegram or WhatsApp – but if you want to enhance your privacy while having a conversation, this is a solid open-source solution.

You can install it on your smartphone (iOS/Android) and it is also available for Linux, Windows, and macOS.

Features of Signal Messenger

Note: Some of the features are specific/exclusive to smartphones. You may not observe all the features mentioned in the desktop app.

Also note that, for now, Signal requires a phone number to register. If you do not want to expose your private phone number, you can use Google Voice or similar services.

As I already mentioned, this is tailored to enhance your privacy. So, the user experience may not be the “best” you’ve ever seen. But, privacy/security-wise, I think it is a good option to have.

Signal Features Disappearing Messages

You can set a timer for messages in a conversation – so that it will be automatically deleted as per the timer.

Essentially, anyone in the conversation can activate this feature. So, you control if the messages should stay in a conversation or disappear.

Use it As Default SMS App

If you want to utilize an open-source app for all your SMSs, you can simply go to Signal’s app settings and set it as the default for SMS and MMS.

Screen Security

There’s a neat feature to block screenshots in-app, “Screen Security”.

If you enable it, you won’t be able to take a screenshot of any conversation in the app. You can find the option to enable or disable it from the app settings.

It may not be useful to everyone – but you can try it out.

Safety Number

If you want to verify the security of your encryption with a friend, you can simply tap on the profile and scroll down to find “View Safety Number”.

You can either scan it to verify or simply take a look at it to mark it verified.

Locked Messages

If you protect the app with a lock (pin/fingerprint), even if your device has been unlocked, you won’t be able to see the messages on your notifications.

So, when you get a notification while Signal is locked, you will notice the content of the notification as “Locked Message” – which is a plus for privacy-oriented users.

Other Features

As you would expect in a messaging app – you get a couple of stickers to utilize and you can also create a group if you want.

However, you won’t have the ability to moderate your group – you can just add members and change the profile picture.

In addition to this, Signal also supports biometric security for its app.

Installing Signal on Ubuntu/Linux

Unfortunately, you don’t get a .deb or .AppImage to install it on your Linux distro. So, you will need to utilize the terminal as per the official installation instructions.

Here’s what you have to type in the terminal:

curl -s | sudo apt-key add - echo "deb [arch=amd64] xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list sudo apt update && sudo apt install signal-desktop

Simply copy-paste the commands one by one in the terminal and you should be good to go.

Download Signal for Other Devices My Thoughts On Signal

I’ve been using Signal for a few years now and it has improved with what it offers. However, I still feel that the user experience can be improved.

Privacy-wise, it is definitely a good alternative to what we already have (in my opinion). You can give it a try and see how well it works for your usage.

You can also take a look at their GitHub page for the latest developments and beta releases if you want to try them out.

Signal app may not be a popular messaging app when compared to WhatsApp or even Telegram on Linux. But, you can try it for yourself and encourage your friends to use an open-source messaging app.

Have you tried it yet? Let me know what you think about the ‘Signal’ app in the comments below.

Fixing “VLC is Unable to Open the MRL” Error [Quick Tip]

Sunday 29th of December 2019 10:03:51 AM

One of the VLC tips is to play YouTube and other online videos with VLC. This could help you watch online videos with subtitles.

But things may not always be simple because at times you’ll encounter this error when trying to open YouTube video with VLC:

Your input can’t be opened:
VLC is unable to open the MRL ‘’. Check the log for details.

VLC error while playing YouTube videos

The thing here is that Google doesn’t want you to use any third party application for watching YouTube because then they cannot collect data properly.

So, they keep changing stuff from their side to make it harder for third party devs to work with YouTube.

Take youtube-dl for example. You’ll notice that you cannot download YouTube videos with it all of a sudden and the simplest solution is to have the latest version of youtube-dl installed.

Same goes for VLC. If you install the latest VLC in Ubuntu or whichever operating system you are using, you probably won’t see this error.

Fixing “VLC is unable to open the MRL” error

Let me show you the steps to fix this problem for YouTube at least.

Go to this page and use Ctrl+S to save the file from the official GitHub repository of VLC media player:

Download youtube.lua file

Now, what you need to do is to replace the youtube.luac (mind the ‘c’ in luac) in lib/vlc/lua/playlist directory with this downloaded file.

Steps for Linux

If you are using Linux, open the terminal and use the locate command to find the exact location of youtube.luac file:

locate youtube.luac

When you get the path of the file, you just replace that file with your downloaded file. I trust you to handle this simple task.

For me, it showed the path of the file here:

abhishek@itsfoss:~$ locate youtube.lua /usr/lib/x86_64-linux-gnu/vlc/lua/playlist/youtube.luac

So all I did was to move the downloaded file to this location and replace the content of the file:

sudo cp ~/Downloads/youtube.lua /usr/lib/x86_64-linux-gnu/vlc/lua/playlist/youtube.luac

You should be able to play the YouTube videos in VLC now.

Steps for Windows

If you are using Windows, you should follow these steps:

  • Rename the downloaded youtube.lua file to youtube.luac
  • Now copy this file and paste it to C:\Program Files (x86)\VideoLAN\VLC\lua\playlist\

That’s it.

If you have trouble with Dailymotion or other video streaming websites, you can download their respective lua files from the VLC repository here and replace the existing one in your VLC install.

I hope this quick tip fixed the problem with VLC unable to play YouTube videos for you.

How Nitrux is Changing the Traditional Linux Scenario [Interview]

Friday 27th of December 2019 11:31:30 AM

You might have heard of Nitrux Linux. It was featured on It’s FOSS a couple of years ago.

Many people took it as just another distribution that is based on Ubuntu with a little theme change. That is so wrong!

In this interview with Nitrux founder Uri Herrera, you’ll learn why Nitrux is not just another Linux distribution and how it is adding new dimension to Linux scene with innovative tools like ZNX operating system manager, MAUI for quickly developing desktop and mobile apps and more.

Subscribe to our YouTube channel for more Linux videos

IF: Few people know about the origin of Nitrux project. Could you please provide details about how you changed from a design company to a hardware company to a Linux distribution?

Uri Herrera: Nitrux was founded in 2012 by me (Uri Herrera) as Nitrux S.A. in Mexico. At the time, I was in college studying Graphic Design, so most of the early work was related to that. I created the Nitrux icon theme, the Compass icon theme, the Flattr icon theme, the ZERO icon theme, the Dots icon theme, a theme package for KDE 4 called Nitrux KDE Suite, a couple of GTK themes inspired by MIUI 4 along with many mockups for GUI applications, and other bundles that expanded on the icon themes, all of them are available at DeviantArt.

In 2013 I met Haashir Mohammed, who joined me, and he created many web-based applications for Nitrux like Typer.IM, nDisk, and Muire. Typer.IM was an instant messaging service with p2p file sharing and used WebRTC for calls, both audio and video. nDisk was a cloud storage service, and you could access it with WebDav from your desktop. Muire was a website builder like Weebly, and you could create, save, and export the websites that you created in it.

Throughout 2013 and 2014, we decided to enter the hardware business. We prototyped a small form-factor computer that would run a Linux distribution, so Nitrux OS (which we refer to as Nitrux) originated from this decision. We originally called this small computer the QtBox because we intended to use Plasma 4 in our distribution. Still, we later changed it to NXQ to avoid any problems with the name and also because it tied tightly to our brand (NX). In 2014 I was invited to join the newly formed KDE VDG too, this was my first contribution to a larger project outside of Nitrux, so after accepting, I created the Breeze icon theme and the new Plasma logo. In 2015 after attending a KDE meeting in Randa, Switzerland, I also updated the Breeze Plasma theme, which has been in use ever since.

We decided then to release Nitrux for x64 in 2015; however, due to changes in Ubuntu (which Nitrux was based on) we stopped the development of that version because of a severe problem we had with systemd and NetworkManager. A few months later we decided to discontinue the NXQ and halt any plans for a new upcoming model that was in the works due to the sudden rise in popularity of similar Android mini-pcs.

It wasn’t until 2017, two years after the development of Nitrux OS was stopped, that Nitrux OS was resurrected. Nitrux S.A. was also restructured under a different name, Nitrux Latinoamericana S.C.

A new developer, Alexis Zubieta, joined me, and together, we set new goals, a new vision, and an original intention for the distribution, we designed and developed Nomad Desktop, which we refer to as a customization layer for Plasma 5. Later that year, we started to work on a software store for Nitrux OS called the NX Software Center, initially using Snaps (there was no graphical frontend for Snaps at the time on the desktop, ours was the first) then adding support for AppImages and finally transitioning entirely to only use AppImages.

Nomad Desktop

In early 2018 Haashir had left Nitrux to continue with his studies, so Alexis and I looked for more developers, the first to join was Luis Lavaire and then Camilo Higuita. In mid-2018, we were joined by another developer, Anupam Basak. Throughout 2018 we began developing MauiKit and ZNX (capitalized as znx). At the end of 2018, we started distributing both with Nitrux OS utilizing ZNX for the first time in version 1.1.0 and the inclusion of MauiKit applications or Maui Apps in Plasma Mobile after Akademy 2018.

In 2019 we presented VMetal a couple of weeks before we attended Akademy 2019.

IF: Tell us something about Nitrux Linux distribution? What is it based on?

Nitrux Linux in 2017

Uri: The short answer is that Nitrux is built using Ubuntu sources as we do utilize some of their tools in our ISO images like Casper or initramfs-tools. Still, it’s not based on Ubuntu in any meaningful way as it was the case in prior years.

The long answer is that it’s not based on it as we have made many modifications and intent to a lot more, for instance, in Nitrux, the package manager is not an integral part of the distribution and the intended user experience. As a matter of fact, in the Development build of Nitrux (which eventually becomes the new Stable version), neither APT and dpkg are present since the idea is to use AppImages to manage software and ZNX to manipulate the operating system. We do include Homebrew as a mean to fill in the gap where a program might not be available as an AppImage, but Homebrew only manages the software it installs and nothing else.

Another instance of why Nitrux is not Ubuntu is that, for example, you could potentially have an AppImage to use Pacman on Nitrux, and that, of course, wouldn’t mean that Nitrux is based on Arch. Furthermore, we intend to remove Systemd and (later on) change the FHS in Nitrux. We even have a fully functioning ISO of Nitrux that does not use Systemd or has APT or dpkg, and there’s only one issue that it’s stopping us from releasing it.

In other words, you can’t add a PPA or repository to Ubuntu and turn it into Nitrux. You can add our artwork (which we made from scratch too), but that’s not Nitrux, it’s a part of it (a superficial part), but that’s not it. To put it in another way, we could have used LFS or Gentoo, and we’d have still made the same changes, we would yet have developed the same tools, our same software, etc. The way we see it, for example, is that we don’t think that we should focus on things like having to compile everything to make our distribution “worthy” of calling itself “independent” when we can focus that time and effort on other more user-focused things. Although we do have our infrastructure, tooling, and use a CI to generate the things that we need, like AppImages and our ISOs.

So as we say, “if you expect Nitrux to be “just” an Ubuntu + themes, that’s not at all what you will get. That’s not what we are doing or intend to do.”

IF: What made you create ‘another Linux distribution’? What’s unique about Nitrux Linux?

Uri: Nitrux is a unique distribution in the context of how traditional desktop Linux systems work. Nitrux was not built around the idea of using a package manager, whether that was APT, Pacman, DNF, Zypper, etc. but instead of using a portable application format. The reason for that is that we want Nitrux to be a convergent system, not limited to only a desktop or a phone but that it also is used for other embedded devices; IoT, TVs, Infotainment, Appliances, etc. The use of ZNX is precisely to have a method of efficiently managing the operating system and not deal with any packages, same with AppImages.

In reality, the way that Nitrux works it’s more closely related to a mobile OS like Android, e.g., with Android, you install apps using an APK, the APK file has the program, and its dependencies in it there’s no need to install another APK much less to use a package manager. You get the APK file, install it, and run the program, and that is the same idea with an AppImage; you get the AppImage, give it executable permissions and run it.

When it comes to managing the OS, when an Android device receives an update it’s usually with the built-in OTA mechanism, the manufacturer releases an update, the phone checks for this update downloads it and installs it by rebooting and entering recovery mode and updating the system image. With Nitrux, the distribution is packed in an ISO (similar to the Android system.img file). ZNX then performs a transactional update to the ISO; there’s no package manager involved whatsoever in this process (and no rebooting to recovery either). You could also, in a literal way, copy and paste different Nitrux ISO files, and you would have a new or old version of the distribution.

Like Android ROMs, where the OS is contained in a single file (system.img), Nitrux is also self-contained as a single file (ISO).

Another feature of Nitrux is VMetal. VMetal is, as its name suggests, a virtualization feature built into Nitrux. VMetal works by utilizing the following technologies: QEMU, KVM, VFIO, CPU virtualization extensions like Intel VT-d, VT-x or AMD-V, and Vi and an IOMMU.

With Nitrux, we prefer to keep it simple. The OS is a single file (ISO); new programs are added in a single file (AppImage), the OSes that VMetal uses are individual files (raw IMG files).

Then we have MauiKit in which applications are convergent by design, one code base that works in Linux, Android, Plasma Mobile, Windows. Currently, we have 7 applications built with MauiKit: Index, VVave, Nota, Station, Buho, Pix, and Dialer. All of them see active development and the framework and the applications are hosted at since some of them are included in Plasma Mobile by default. Many improvements did come from the feedback that we receive from users that test the applications. We have a public group where users can join to give feedback here.

So it’s all about portability.

IF: Tell us more about ZNX? Despite an interesting concept why has it not become more popular?

Uri: ZNX is an operating system manager. It manages the lifetime of OSes that are deployed with it. ZNX is not an installer, a container, a program to flash USBs (it’s not a replacement for ‘dd’ or anything similar), or virtualization software. What ZNX does is frugal installations. “A frugal installation only occupies one folder in a partition, and the rest of the partition can be used for anything else. Other Linux distributions, for example.” Meanwhile, traditional Linux distributions do a full installation, “A full installation is where Linux occupies an entire partition, and in that partition you will see the folders /bin, /sbin, /opt, /etc/, /sys, /proc, /tmp, /dev, /usr, /run, /lib, and more.”

For example, package managers that work by using pre-compiled binaries install software by extracting an archive (deb, rpm, tar, etc.) and placing the contents of that archive to the corresponding paths in the filesystem and keeping an index of where those files are located, source-based package managers also do this with the exception of extracting an archive. An installer such as Ubiquity, Calamares (KPM Core), Anaconda, and every other installer works the same, they extract the contents of the SquashFS file inside the ISO and place the contents on a partition of the storage device.

So in this regard, ZNX is akin to AppImage. To install an AppImage, you don’t use a package manager; the AppImage isn’t extracted, you would just run it. Same with ZNX, that is why we don’t refer to ZNX “installing” an OS; instead, we use the word deploy. Because ZNX isn’t extracting the SquashFS file from the ISO, it’s booting the ISO directly, and data is preserved on the storage device using OverlayFS. ZNX then only copies the ISO to a directory in the storage device (STORE).

Once again, in comparison to Android, when the user resets a device to the factory, the user data is cleared. Still, the OS is not reinstalled at any point, ZNX also does this, it can remove the user data from the overlay, thus resetting the OS without any need whatsoever of reinstalling the OS. However, unlike Android, where there’s no simple way of downgrading, ZNX does allow the user to revert to a previous version of the OS. When it comes to updates, ZNX does them transactionally, performing delta updates on the ISO files, so time and bandwidth are saved.

ZNX can also restore the ESP partition, and it also leverages any bootloader management. If an ISO is in the directory STORE, it will automatically appear in the ZNX boot menu; if it’s not, it won’t. ZNX is init-independent, too, and uses GRUB to boot ISOs.

ZNX is, in reality, pretty straightforward.

I believe one reason as to why ZNX hasn’t become more popular is that because everyone is so used to the concept of package managers and installers that ZNX is alien to them. ZNX is to OS installers what AppImage is to package managers. There have been cases where people would even call ZNX a “proprietary boot system” when that’s simply wrong. It may be that ZNX is so much of a radical departure of how traditional Linux distributions work, especially in the desktop that the idea behind it it’s not understood even though we’re using an already existing (and functional) model.

Many people also seem to think that because of how Nitrux specializes in AppImages that ZNX would not allow them to use a package manager if another distribution but us would use it. That’s also incorrect, as we have ISOs of elementary OS and KDE Neon that can be deployed with ZNX where the package manager is perfectly functional, and other than not having an installer, there’s no difference compared to installing them using their installers.

Another reason I believe as to why ZNX is not popular is that ZNX does its operations in such an automated way, for example, partitioning is not handled by the user but by ZNX, there’s no user creation, language selection, keyboard selection, time zone selection as an installer traditionally handles these. Mostly because again, like in Android, all of that setup is done from within the booted OS and never during installation because there’s no installation. So once again, a rather significant departure on how traditional desktop Linux distributions work.

Derived from these significant changes that ZNX brings to the table is that everyone expects to install OSes in a traditional multi-boot configuration, e.g., One partition for Ubuntu, another for Fedora, another for openSUSE, another for Arch, and so on. Which is not the case with ZNX, since the idea is that you only have one partition where each ISO file (meaning each OS) is located and then select which one to boot in the ZNX boot menu. So one partition, with each OS in a separate directory inside STORE, with their data inside their corresponding directory structure, in this regard ZNX is somewhat similar to the Nix package manager in how Nix stores the data of each program in its directory structure.

The only hard requirement that ZNX has currently is that ISO files must support EFI, and the only limitation is the lack of support for Secure Boot. Still, even then, we’re entirely open to anyone contributing code that would enable Legacy BIOS support and Secure Boot support.

ZNX is not challenging to use at all. Still, it would benefit from having a better GUI, so it may be too that people new to it find it difficult because of that, although ZNX GUI exists, that’s why we’re working on integrating it into our software center instead.

Some people also seemed to think that ZNX was a Docker alternative; on that one, I’m not sure why? I suppose from us using the term “deploy.”

Certainly, ZNX has had problems, mainly that the AppImage wasn’t functioning as expected, as that is how we distribute it. However, we have fixed pretty much all of those problems already, and it works everywhere where we have tested.

Recently we also disclosed that the reason why we always said our ISO couldn’t be flashed to a USB was not a problem that was related at all to ZNX but instead to a component of our tooling, mkiso. We use mkiso to generate our ISO files; unfortunately, mkiso made ISO files that would not boot in computers that were not UEFI class 3 (Intel 6th gen.+ or AMD Ryzen+). ZNX, however, would allow the ISO to boot in older computers as long as they supported EFI (Intel 2nd. gen+ or AMD PII/800 series chipsets). We have since fixed mkiso, and our ISO files can now boot in older EFI computers when flashed to a USB. Perhaps this was the reason some people also thought that ZNX was like a ‘dd’ replacement or something like Etcher. Surely, you can deploy an OS to a USB with ZNX, and it would be a bootable USB in this regard it’s similar to programs like MultiBootUSB or YUMI with the exception that user data is stored directly on the device using OverlayFS instead of using a file as they do meaning that you’re not limited to the storage allocated to the persistent file but to the overall free space of the storage device.

All in all is a mix of confusion and misunderstandings that I believe is the reason why ZNX is not popular.

What kind of user base are you targeting with Nitrux?

We intend to target users that have been considerably exposed to the way that mobile OSes behave and work.

You have a strong focus on AppImage. Why so?

AppImage provides a simple way of obtaining software. Download it and run it. As before, that’s precisely how you get apps on mobile OSes. That ease of use is what we’re looking forward to. There’s no doubt that Flatpak and Snapcraft are more popular; they have the backing of two large companies and communities, so its invariably an uphill battle.

AppImage is also init-independent, which is very important to us as we do not have intentions to keep using Systemd, which means that neither Flatpak or Snaps will be available in Nitrux, not that they are in our current ISOs. It does not need or use daemons to work, AppImages don’t depend on other AppImages to work, no runtimes are required either, and it’s not tied to the init system as mentioned.

Many people seem to think too that AppImages lack a sandbox feature, integration with the desktop, or even the ability to update them. That’s incorrect, AppImages can be sandboxed with Firejail (SUID program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces). The integration with the desktop can be done with multiple programs like AppImage Daemon, AppImage Launcher, or AppImage Desktop Integration (developed by us). Lastly, AppImages can be updated using AppImageUpdate, which will update the files using transactional, delta updates (like ZNX does), all of which we include, by default.

I think that the only “downside” is the size of the files in some cases, but it’s also a case of where is the AppImage intended to be run?. For example, a router would not have hundreds of GBs of storage or even dozens, but at the same time, there’s no real reason to have a desktop AppImage in it like LibreOffice.

Still, then that’s not a problem on any reasonably modern desktop computer or laptop, which is very likely to have hundreds if not thousands of GBs or even on most phones where internal storage is reaching the hundreds and the ones that support SD cards also have access to hundreds of GBs.

On that note, an AppImage is indeed meant to include what the program needs to be able to run, and that is not expected to be in the target OS. For example, the AppImage of Index (Maui file manager) is as little as 50 MBs because it’s meant to be run on a full desktop (desktop as in the type of system not as in the form factor) OS whereas if the AppImage was meant to be run in a server it would have to be a lot larger since the server OS would not have any graphical software on it, to begin with.

At the same time, the fact that the AppImage includes all it needs is what makes it work not just in a particular Linux distribution but on many more.

Surely enough, getting a random file from the internet may not sound like a good idea, but there are efforts being made to provide a centralized store for AppImages such as

IF: I see a paywall while downloading Nitrux. Why is that? What (other) business model do you have?

The reason is relatively simple, Nitrux is a business, not a non-profit organization, and companies need to generate revenue to grow and to continue development. As with any commercial endeavor, there are expenses, even though we develop free and open-source software. From paying for our servers to our salaries and travel expenses to attend FOSS-related events. Therefore we’re upfront about it.

We don’t put Ads on our website or our OS, and we don’t send marketing emails, we don’t collect user data, we don’t include 3rd-party software, we don’t nag users with license keys, we don’t charge users for support of Nitrux. Also, 99% of our work is available in source code form or distributed as an AppImage at no cost on our GitHub organization, or it’s hosted in KDE infrastructure as it is the case with MauiKit and the Maui Apps. We also contribute upstream, as we do with KDE with Kirigami and AppImage (our former developer, Alexis Zubieta developed libappimage during his time with Nitrux and is currently part of the team that develops AppImage and all of its related software).

I would say that some people, however, seem to think that because we’re making a Linux distribution or that because we develop free and open-source software that we should not have to charge money for our work because nobody else does, or worse, that we can’t. Neither the FSF or the OSI prohibits commercialization of FOSS, so it’s an invalid argument, precisely because the F in FOSS does not stand for Free (zero-cost); in reality, it stands for Freedom and our software conforms to that. It’s not a majority, but it does happen.

In all certainty, we understand that not everyone can afford to pay, which is why we do offer the Development and Minimal builds at no cost, in addition to the source.

By paying to download the ISO, users are contributing towards paying our salaries and our ability to hire more people and create more software and continue to polish the one we have.

Other than paying for access to the download of the Stable ISO, we also accept donations through PayPal or with crypto, and we also have a Patreon and Liberapay pages.

IF: Are you looking for volunteers, developers or financial support of any kind? Any message for the readers?

Uri: We always are. If anyone wants to help, help is more than welcome. Currently, we don’t have any open positions as we just hired a new developer, but hopefully, we can afford another in the future.

Nitrux currently is composed of 4 members soon to be 5:

  • Uri Herrera (me)
  • Luis Lavaire
  • Camilo Higuita
  • Anupam Basak
  • Ademir Tejada (new)

We do all work full-time as developing all of our software is our job, but we work remotely since we’re all in different countries.

We are looking for financial support, liked I mentioned we directly put that money back into developing everything that we do.

All I can request fromIt’s FOSS readers is to try Nitrux and report issues; that’s how we can improve it.

If you want to be up-to-date on what we do, follow us on social media like Twitter, Instagram and Telegram. You should also read our blog for more detailed updates. Of course, you are welcome to contribute on our GitHub repository.

Explained! Why Your Distribution Still Using an ‘Outdated’ Linux Kernel?

Thursday 26th of December 2019 08:18:57 AM

Check your Linux kernel version. Chances are that you’ll find that the kernel version your system is using has already reached end of life (EOL) as listed on Linux Kernel website.

End of life means a software won’t get bug fixes and support anymore.

That poses some valid questions. Why is my Linux distribution using a kernel that has reached end of life? Is this not a security risk? Is my system safe?

Let me explain all these questions in this article.


The upstream kernel support and the your distribution’s kernel support are two different things.

For example, Linux kernel 4.15 might have reached end of life (as per the official Linux kernel website) but Ubuntu 18.04 LTS release will use it and maintain it till April 2023 by backporting security patches and bug fixes.

Checking Linux kernel version and finding its end of life status

Let’s first check the Linux kernel version on your system:

uname -r

I am using Ubuntu 18.04 here and it shows the Linux kernel version like this:

abhishek@itsfoss:~$ uname -r 5.0.0-37-generic

Now, you may go to the official Linux kernel website and see what Linux kernels are still being supported. It’s displayed on the homepage itself.

Linux Kernel Official Website

You should see a status like this:

Linux Kernel Status

If you don’t see a kernel version listed on the homepage of kernel website, it means that specific version has reached end of life.

As you can see, kernel 5.0 is not listed here. It indicates that this kernel version is not being supported anymore. Actually, it reached end of life in June 2019.

The life cycle of a Linux kernel doesn’t follow a set pattern, unfortunately. It’s NOT like a regular kernel stable release will be supported for X months and a long term support(LTS) kernel will be supported for Y years.

Based on the demand and requirements, there could be several LTS kernel versions with different EOL. You can find them along with their projected EOL on this page.

Now comes the big question. Why is Ubuntu providing kernel 5.0 if the Linux kernel website shows that it has reached its end of life?

Your distribution uses an EOL Linux kernel but that’s Okay!

Have you ever wondered why Ubuntu/Debian/Fedora etc are called Linux distributions? It’s because they ‘distribute’ the Linux kernel.

They have their own modification of the Linux kernel, they add the GUI elements (desktop environment, display server etc) and software and they make it available to their users.

In the typical workflow, a Linux distribution will choose a kernel to provide to its users. And then it will hold on to this kernel for months or years even after the kernel has reached end of life.

How is it safe then? It’s because the distribution maintains the kernel by backporting all the important fixes to its kernel.

In other words, your Linux distribution makes sure that your Linux kernel is patched well and has all the bug fixes and important new features backported to it. There will be thousands of changes on top of the ‘old outdated Linux kernel’.

When the Linux kernel website says that a certain kernel version has reached EOL, it means that the core Linux kernel maintainers are not going to update/patch that kernel version anymore.

But at the same time, the developers at Debian/Ubuntu or other distributions work to keep the same old version alive by bringing the relevant changes from the newer kernel versions (being maintained by the core kernel team) to your distribution’s old kernel.

Bottom line is that even if it seems like your distribution is using an outdated Linux kernel, it is actually being well maintained and not really outdated.

Should you use the latest stable kernel version?

A new stable Linux kernel version is released every 2-3 months. And this makes many users wonder who they can get their hands on that new shiny thing.

To be frank, you should not do that unless you have a pretty good reason for it. Your distribution doesn’t provide it to you. You cannot just use ‘sudo apt give-me-the-latest-stable-kernel‘.

Now, manually installing the mainline Linux kernel version could be a challenge in itself. Even if you manage to install it, it is now up to you to make sure that this kernel is updated every time there is a bug fix. And when this new kernel reaches end of life, it becomes your responsibility to upgrade to the newer kernel version. It won’t be handled with apt upgrade like regular Ubuntu updates.

You should also keep in mind that your distribution also has drivers and patches which you may not be able to use if you switch to the mainline kernel.

As Greg Kroah-Hartman puts it, “the best kernel you can use is one that someone else supports“. And who can be better at this job then your Linux distribution!

I hope you have a better understanding on this topic and you won’t panic the next time you find out that the kernel version your system is using has reached end of life.

I welcome your questions and suggestions. Please feel free to use the comment section.

Darktable 3 Released With GUI Rework and New Features

Wednesday 25th of December 2019 03:04:56 AM

Here’s the Christmas gift for the photography enthusiasts. Darktable 3.0 has just released.

Darktable is one of the best applications for editing RAW images on Linux. You can consider it as a free and open source alternative to Adobe Lightroom.

Darktable 3 is a major new release with tons of feature improvements and a complete rework of the user interface. The GUI is now completely controlled by GTK+ CSS rules, which makes the whole GUI themable. There are eight themes available by default.

With the help of over 3000 commits and 553 pull requests, the new release has fixed 66 bugs and added many new features.

Let’s see what features this new release brings.

New features in Darktable 3.0 Darktable 3.0 Screenshot

Here are the highlighted new features:

  • Reworked UI
  • A new module for handling 3D RGB Lut transformations
  • Many improvements to the ‘denoise (profiled)’ module
  • A new ‘culling’ mode and timeline view added
  • Many improvements to the ‘denoise (profiled)’ module
  • New tone equalizer’ basic and filmic RGB modules
  • Better 4K/5K display support
  • Undo/redo support for more operations
  • Many code optimizations for CPU and SSE paths
  • Support for exporting to Google Photos
  • More camera support, white balance presets, and noise profiles
  • Plenty of bug fixes and feature improvements

You can read about all the changes in the release notes on GitHub.

Installing Darktable 3.0 on Linux

Let’s see how to get the latest Darktable release.

Installing Darktable 3.0 on Ubuntu-based distributions

Darktable is available in Ubuntu but you won’t get the latest release immediately. For the LTS version, it may take months before you have this version update.

Worry not! Darktable provides its own PPA to install the latest release on Ubuntu-based distributions.

Unfortuntaley, That Darktable PPA has not been updated with the new release.

Worry not (again)! Thanks to our friend Ji M of Ubuntu Handbook, we have an unofficial PPA for easily installing Darktable 3.0 on Ubuntu and other Ubuntu based distributions.

Open a terminal and use these commands one by one:

sudo add-apt-repository ppa:ubuntuhandbook1/darktable sudo apt update sudo apt install darktable Uninstall Darktable 3

To remove Darktable installed via this PPA, you can first uninstall the application:

sudo apt remove darktable

And then remove the PPA as well:

sudo add-apt-repository -r ppa:ubuntuhandbook1/darktable Installing Darktable on other Linux distributions

You may wait for your distribution to provide this new release through the software manager.

You may also download the tarball or the entire source code from the GitHub release page (it’s at the bottom of the page).

Download Darktable 3.0

With Darktable 3, you can edit your holiday pictures better :)

Khadas VIM3L: An Open Source HTPC Device

Tuesday 24th of December 2019 11:02:12 AM

If you’ve read our list of Raspberry Pi alternatives, you might have come across VIM by Khadas.

China-based Khadas is becoming increasingly popular for its single board computers (SCB). Apart from the generic do-it-yourself (DIY) VIM series, Khadas also has Tone boards that can be utilized for DJing and Edge boards for AI and other related projects.

As discussed in Raspberry Pi projects, one of the most popular use of a single board computer is to use it as a media center. You can turn your TV in more than just a smart TV (without being monitored) and play local music, videos, pictures and even games on your TV. You can also watch streaming services through these media center.

You can always configure VIm (or any other SCB) as a media center. It’s a good DIY exercise but not everyone would like it.

This is why Khadas has introduced VIM3L which is a ready to use media center device based on VIM 3. In this article, we’ll have a look at this device and see how to set it up.

VIM 3L specifications

One of the strong point of Khadas is its emphasis on open source. All their source code, including U-Boot, mainline Linux and Android is available on their GitHub repository.

VIM3L comes with CoreELEC operating system. CoreELEC is a custom Linux distribution that comes with software like Kodi and its add-ons to give you a complete HTPC (home theatre PC) experience.

You are not restricted to CoreELEC though. You can get the barebon version of VIM 3L and use Android or install your a Linux distribution of your choice.

  • Amlogic S905D3 SoC with quad-core Cortex-A55 CPU clocked at 1.9GHz
  • 16GB eMMC
  • 2GB RAM
  • 2x WiFi antennas
  • PCIe 2.0 and M.2 NVMe SSD support
  • HDMI port
  • Dolby Audio

The HTPC version costs slightly more than the bare board but it consists of some additional hardware along with CoreELEC operating system:

  • Transparent DIY case
  • Metal DIY case
  • Heatsink
  • IR Remote

VIM3L is capable of running 4K video at 75 fps. It also includes TrustZone based security for DRM video streaming. Both Android and CoreELEC are capable of OTA updates.

VIM3L HTPC version costs $89.99 and the bare board (with Android) costs $69.99. It’s FOSS readers can get $6 off with itsfossfuns coupon code that can be used at the checkout page of Khadas shop.

Khadas VIM3 Series

You may opt for the free shipping option but it will take 2-3 weeks for the device to reach you from China. You can pay $20 extra for an express DHL shipping. The shipping options are available at checkout. I think you might have to pay custom tax depending on your country’s rules so ordering one from Amazon would be better in such a case but you won’t get the It’s FOSS special discount on Amazon.

Now that you are aware of the specifications, let me show you how to set it up and how was my experience with it.

The amazon links in this article are affiliate links. Please read our affiliate policy.

Setting up VIM3L and using it as home theatre PC

Initially, when you start VIM3L, a window appears on the screen which consists of a series of questions and options. Everything you choose determines the initial state of its operation. In each case, however, you can modify your options from the settings menu. Better not to rush through the settings, since the multitude of options you have at startup seem to turn the VIM3L into a superpower device.

Setting up proxy network

The addition of the proxy connectivity in the internet settings is a welcome option. As a enthusiast of user privacy, I enabled it to connect through the Tor network. The choice is of course yours.

Peripheral devices

You can modify how many and which peripheral devices you have on that device. For example, in addition to the handheld control, you can mount a keyboard or even a console controller. Correct! A console controller that will allow you to play games.

Option to save logs

An important addition is the log storage option. With this, the users can consult the logs in case of an event of an error or malfunction. This could help in troubleshooting the issue.

Plenty of add-ons

On the left, a user can see options such as music, videos, radio, photos, games and many other options that we would like to take some time to cover.

Add-ons further extends the capabilities of your HTPC. Here, you can find music libraries, documentaries, games, open-source software and more. The software includes various graphics, audio, and video editors, simulators etc.

You have the freedom to choose whether you want to download them through 3rd party repositories, or from the environment of the accessory. Also, if you try to install software, you will most likely notice that along with the program, appropriate libraries and software are also installed. As you can see, this is not an accessory from scratch, but an accessory that is ready to cope with its users’ choices.

VIM3L has different configuration profile consisting of a standard, intermediate, expert profile. As you climb into difficulty, your choices are multiplied, giving you total freedom.

Thoughts on VIM3L

I liked VIM3L for what it offers. This is not to say that it is a perfect device.

I found that some point, the controller is not fully accurate in signal transmission. As a result, after pressing a button twice, the signal is sent later and there is a quick change of screen. Maybe the controller I received was faulty.

In conclusion, I would like to say that it’s not an expensive device and the feature it offers are good enough to provide you with entertainment, fun, productivity, and creativity. Most importantly, the software it offers are free and open source.

If you like what you see here, you can either order it from its own shop that ships from China or get it from Amazon.

Preview Product Price Khadas Amlogic S905D3 VIM3L HTPC Kit $89.99 Buy on Amazon

Have you used VIM3L or any other pre-built media center device? Or do you prefer making your own HTPC? Do share your views.

App Highlight: Falkon Open Source Web Browser from KDE

Monday 23rd of December 2019 11:55:32 AM

Formerly known as Qupzilla, Falkon is a web browser based on QtWebEngine. In this week’s App Highlight, we take a look at this open source software.

Falkon: Open Source Web Browser for Linux (and Windows)

First thing first, Falkon is not a new web browser. It has been in development since 2010 but it was known as Qupzilla.

In 2017, QupZilla moved under KDE umbrella and changed its name to Falkon. Being under KDE umbrella means that project is actively maintained following KDE standards.

It uses the QtWebEngine rendering engine – which is a striped down version of Chromium core.

In this article, I shall take a closer look at what it offers and how it’s different than other dominant web browsers on Linux out there.

Features of Falkon Browser

Thought it may not be a popular browser, I did find it capable enough to browse modern web services.

Let me highlight the key features of Falkon and if you find it interesting enough, give it a try.

Simple User Interface

I know it’s not exactly a “feature” but the user experience (UX) matters a lot. Despite being a lightweight browser, you have a decent looking interface here. You won’t feel like you are using a browser from the early 2000’s.

AdBlock Extension

It comes packed in with the AdBlock extension that works pretty well if you want to get rid of the advertisements while browsing a website. You can also customize the behavior of the AdBlock extension.

DuckDuckGo Default Search Engine

It’s a good thing to have one of the privacy-oriented search engines as the default search engine if you do not like using Google.

Session Manager

Falkon includes a useful session manager from the available options in the browser menu. You can restore a specific recent session using this – which should come in handy.

Extension Support

It does support adding extensions but you cannot add extensions from Chrome/Firefox add-on marketplace. You have a limited set of extensions to choose from.

Theme Support

Falkon also lets you customize the appearance to some extent. You can try them out if you want to change the appearance of the browser.

Other Essential Settings

I also explored other settings/functionalities like adding a bookmark or being able to manage the passwords.

Or, maybe manage the notification access of a webpage.

Oh, I also tried using YouTube – with no problems whatsoever.

Of course, this isn’t an extensive review – but yes, Falkon does have all the essential options that you will need in a browser (unless you have a specific requirements).

Installing Falkon Browser

You can easily find Falkon browser available in your Software Center.

In case you don’t, you can find Flatpak/Snap packages available from its official download page. You’ll also find Windows installer files on the download page.

Download Falkon Browser

Wrapping Up

As a KDE product, Falkon is tailored for KDE desktop environment. Some KDE distributions like OpenMandriva use Falkon as the default web browser.

Falkon browser is for the ones looking for a lightweight and feature-rich web browser. An alternative worth taking a look is Midori.

In my opinion, it is a good alternative browser – unless you need tons of extensions, cross-platform synchronization and require to access some browser-specific websites.

What do you think about the Falkon browser? Let me know your thoughts in the comments below.

How to Update Grub on Ubuntu and Other Linux Distributions

Saturday 21st of December 2019 08:39:33 AM

In this tutorial, you’ll learn to update grub on Ubuntu or any other Linux distribution. You’ll also learn a thing or two about how this grub update process works.

How to update grub

Ubuntu and many other Linux distributions provide a handy command line utility called update-grub.

To update grub, all you have to do is to run this command in the terminal with sudo.

sudo update-grub

You should see an output like this:

abhishek@nuc:~$ sudo update-grub [sudo] password for abhishek: Sourcing file `/etc/default/grub' Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.0.0-37-generic Found initrd image: /boot/initrd.img-5.0.0-37-generic Found linux image: /boot/vmlinuz-5.0.0-36-generic Found initrd image: /boot/initrd.img-5.0.0-36-generic Found linux image: /boot/vmlinuz-5.0.0-31-generic Found initrd image: /boot/initrd.img-5.0.0-31-generic Found Ubuntu 19.10 (19.10) on /dev/sda4 Found MX 19 patito feo (19) on /dev/sdb1 Adding boot menu entry for EFI firmware configuration done

You may see a similar command called update-grub2. No need to be alarmed or confused between update-grub and update-grub2. Both of these commands do the same action.

Around ten years ago, when grub2 was just introduced, update-grub2 command was also introduced. Today, update-grub2 is just a symbolic link to update-grub and both update grub2 configuration (because grub2 is the default).

Can’t find update-grub command? Here’s what to do in that case

It’s possible that your Linux distribution might not have update-grub command available.

What do you do in that case? How do you update grub on such a Linux distribution?

There is no need to panic. The update-grub command is simply a stub for running ‘grub-mkconfig -o /boot/grub/grub.cfg’ to generate grub2 config file.

Which means that you can update grub with the following command on any Linux distribution:

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

Of course, remembering update-grub command is a lot easier than the above command and this is the reason why it was created in the first place.

How does update-grub work?

When you install a Linux distribution, it (usually) asks you to install the grub boot loader.

Part of grub is installed on the MBR/ESP partition. Rest of the grub lies in /boot/grub directory of the Linux distributions.

As per its man page, update-grub works by looking into the /boot directory. All the files starting with vmlinuz- will be treated as kernels and they will get a grub menu entry. It will also add initrd lines for ramdisk images found with the same version as kernels found.

It also looks into all disk partitions for other operating systems with os-prober. If it finds other operating systems, it adds them to the grub menu.

Representational image of Grub Menu Why would you need to update grub?

There could be a number of scenarios when you need to update grub.

Suppose you changed the grub config file (/etc/default/grub) to change the default boot order or reduce the default boot time. Your changes won’t take into effect unless you update the grub.

Another scenario is when you have multiple Linux distributions installed on the same system.

For example, on my Intel NUC, I have two disks. The first disk had Ubuntu 19.10 and then I installed Ubuntu 18.04 on it. The second OS (Ubuntu 18.04) also installed its own grub and now the grub screen is controlled by Ubuntu 18.04 grub.

On the second disk, I installed MX Linux but I didn’t install grub this time. I want the existing grub (controlled by Ubuntu 18.04) to handle all the OS entries.

Now, in this scenario, the grub on Ubuntu 18.04 needs to be updated so that it can see MX Linux.

As you can see in the image above, when I update the grub, it finds various Linux kernels installed on 18.04 along with Ubuntu 19.10 and MX Linux on different partition.

If I want MX Linux to control the grub, I can install grub on MX Linux with grub-install command and then the grub on MX Linux will start controlling the grub screen. You get the gist, right?

Using a GUI tool like Grub Customizer is a simpler way to make changes in grub.

In the end…

Initially, I had intended to keep it a short article as a quick tip. But then I thought of explaining a few things associated with it so that (relatively) new Linux users could learn more than just a simple command.

Did you like it? Do you have some questions or suggestions? Please feel free to leave a comment.

Pop!_OS vs Ubuntu: Which One is Better?

Friday 20th of December 2019 12:53:25 PM

Well, you might find it easy to pick one from the list of best Linux distributions. However, it is often confusing to compare two similar Linux distros, just like Pop!_OS vs Ubuntu.

Interestingly, Pop!_OS is based on Ubuntu. So, what is the difference between Pop!_OS and Ubuntu? Why should you choose one over other?

In this article, I’m going to compare Pop!_OS and Ubuntu (both of which happen to be my favorites).

Note: You might find some of the points opinionated, this article is just a reference for the comparison. With constant developments and updates to Linux distros, a lot can change over time.

Comparing Ubuntu and Pop!_OS Pop!_OS Vs Ubuntu

Spotting the similarity helps you distinguish other differences. So, let me start noting down some of the obvious similarities.

Like I mentioned, Pop!_OS is a Linux distribution on top of Ubuntu. So, you get all the benefits of using Ubuntu (technically the same thing at its core) when you use Pop!_OS.

They both ship with the GNOME desktop environment by default and hence they feature a similar user interface (UI).

Without going into all the under-the-hood differences, I will be highlighting some important ones here.

User Experience & Theming Pop!_OS

A lot of users think that Pop!_OS is just Ubuntu with a different skin.

From my experience, I’ll mention that it is not entirely true.

Yes, they both rock GNOME desktop environment – however, Pop!_OS just feels more polished.

In addition to the look and feel, Ubuntu customizes the GNOME experience by adding a dock and a few more tricks. You might find it better if you like a customized GNOME experience.

But, if you prefer a pure GNOME experience, Pop!_OS gives you that by default.

I cannot convince you enough until you try it out for yourself. But, the overall color scheme, icons, and the theme that goes on in Pop!_OS is arguably more pleasing as a superior user experience.

It can be a subjective thing – but it is what I observed. You can also check out the video tour for Ubuntu 19.10 to check it out for yourself:

Ease of Installing Third-Party Apps Pop Os PPA

Ubuntu puts a lot of emphasis on Snap packages. This greatly increases the number of application it offers.

But there are some issues with Snap packages. They take too much of disk space and they take a lot of time to start.

This is why I prefer using the APT version of any application.

Why am I telling you this?

Because Pop!_OS has its own official PPA which is enabled by default. You’ll find some useful applications like Android Studio, TensorFlow in here. You can use apt-get install and get these tools. Do note that they might not be packages well. Android Studio PPA downloads the entire tarball and then extracts it on the system.

Of course, you can use the same PPA on a regular Ubuntu as well and take advantage of it.

Pre-installed Applications Ubuntu installation slideshow

It may not be the biggest deal-breaker for some but having a lot of pre-installed apps could affect the experience and performance. Even if it does not affect the performance – some users just prefer fewer pre-installed apps.

Pop!_OS comes bundled with fewer default apps (potentially less bloatware, if I may call it that) when compared to Ubuntu.

Yet again, this is something subjective because if you want no bloatware, Ubuntu has the Ubuntu Minimal options that comes with only the bare essentials so that you can choose which application to install.

Snap Package Support

For users comfortable with the snap packages, Ubuntu’s software center is a slightly better solution to Pop!_OS shop because you can have snap packages listed right in your software center.

You cannot filter the snap packages in the software center but it will be easier to install a snap package when you notice one (look at the details for the source of the app as ‘Snap store‘ / ‘Snapcraft‘) in the Software Center.

Pop!_OS does support snap packages as well – if you’re confused. But, you won’t find them through the Pop!_OS shop, that’s the only difference here.

If you are not sure what a snap package is and what it does, you can check out our article on installing snap apps on Linux.


Technically, it isn’t a part of the comparison internally but it is a factor that some users care for.

So, it is worth highlighting that Pop!_OS provides separate ISOs. One for the systems with NVIDIA graphics card and another for systems with/without AMD graphics.

With Ubuntu 19.10, you get NVIDIA drivers on the Ubuntu ISO but there is no such thing for AMD graphics.

Reliability & Issues

Unquestionably, both the distributions are beginner-friendly and quite reliable. You might want to hold on to a Long Term Support (LTS) release if you want better reliability and fewer issues.

When a new version of Ubuntu comes up, Pop!_OS works on it and potentially fixes the issues that users encounter on Ubuntu’s original release before making the new upgrade available.

This gives them a slight edge but that’s nothing substantial because those fixes eventually reach Ubuntu.


The performance will highly depend on what you have installed and the hardware configuration you install it on.

Unless you have a super old system, both distributions seem to perform very well.

I’m rocking an i5-7400 processor coupled with 16 Gigs of RAM (with a GTX 1050ti Graphics Card) and I find the experience good enough on both the distros.

Of course, you could manually do a few optimization tweaks to fit your requirements – if either of them does not work out for your hardware configuration.

But, if you want to get your hands on a System76 laptop, Pop!_OS will prove to be the Apple of Linux space because Pop!_OS has been tailored for their hardware, unlike Ubuntu.

Hardware Compatibility

This is definitely something to consider when comparing other Linux distributions. However, in this case, there’s really no significant difference.

Pop!_OS has custom tweaks to suit their own range of Linux laptops and desktops. If you have got a System76 machine, Pop!_OS should definitely be your choice.

Wrapping Up

Ubuntu is an evergreen distribution that is not hardware centric. Pop!_OS on the other hand is a distribution tailored for System76 hardware.

I know it’s not easy to choose one among the two popular Linux distro without trying them out. If it’s a possibility, I’ll recommend you to give them both a try while keeping this comparison for reference.

What’s your choice between these two? Did I miss something in the comparison? Let me know in the comments below.

How to Start, Stop & Restart Services in Ubuntu and Other Linux Distributions

Thursday 19th of December 2019 02:02:43 PM

Services are essential background processes that are usually run while booting up and shut down with the OS.

If you are a sysadmin, you’ll deal with the service regularly.

If you are a normal desktop user, you may come across the need to restart a service like setting up Barrier for sharing mouse and keyboard between computers. or when you are using ufw to setup firewall.

Today I will show you two different ways you can manage services. You’ll learn to start, stop and restart services in Ubuntu or any other Linux distribution.

systemd vs init

Ubuntu and many other distributions these days use systemd instead of the good old init.

In systemd, you manage sevices with systemctl command.

In init, you manage service with service command.

You’ll notice that even though your Linux system uses systemd, it is still able to use the service command (intended to be used with init system). This is because service command is actually redirect to systemctl. It’s sort of backward compatibility introduced by systemd because sysadmins were habitual of using the service command.

I’ll show both systemctl and service command in this tutorial.

I am Ubuntu 18.04 here, but the process (no pun intended) is the same for other versions.

Method 1: Managing services in Linux with systemd

I am starting with systemd because of the obvious reason of its widespread adoption.

1. List all services

In order to manage the services, you first need to know what services are available on your system.

You can use the systemd command to list all the services on your Linux system:

systemctl list-unit-files --type service -all systemctl list-unit-files

This command will output the state of all services. The value of a service’s state can be enabled, disabled, masked (inactive until mask is unset), static and generated.

Combine it with the grep command and you can display just the running services:

sudo systemctl | grep running Display running services systemctl

Now that you know how to reference all different services, you can start actively managing them.

Note: <service-name> in the commands should be replaced by the name of the service you wish to manage (e.g. network-manager, ufw etc.).

2. Start a service

To start a service in Linux, you just need to use its name like this:

systemctl start <service-name> 3. Stop a service

To stop a systemd service, you can use the stop option of systemctl command:

systemctl stop <service-name> 4. Restart a service

To restart a service in Linux with systemd, you can use:

systemctl restart <service-name> 5. Check the status of a service

You can confirm that you have successfully executed a certain action by printing the service status:

systemctl status <service-name>

This will output information in the following manner:

systemctl status

That was systemd. Let’s switch to init now.

Method 2: Managing services in Linux with init

The commands in init are also as simple as system.

1. List all services

To list all the Linux services, use

service --status-all service –status-all

The services preceded by [ – ] are disabled and those with [ + ] are enabled.

2. Start a service

To start a service in Ubuntu and other distributions, use this command:

service <service-name> start 3. Stop a service

Stopping a service is equally easy.

service <service-name> stop 4. Restart a service

If you want to restart a service, the command is:

service <service-name> restart 5. Check the status of a service

Furthermore, to check if your intended result was achieved, you can output the service status:

service <service-name> status

This will output information in the following manner:

service status

This will, most importantly, tell you if a certain service is active (running) or not.

Wrapping Up

Today I detailed two very simple methods of managing services on Ubuntu or any other Linux system. I hope this article was helpful to you.

Which method do you prefer? Let us know in the comment section below!

More in Tux Machines

How to Install Latest Java 14 in Ubuntu 18.04, 20.04, Linux Mint

Oracle Java 14 is released. And here's how you can download and install in Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, 19.10 and Linux Mint 18.x, 19.x. Read more

IBM/Red Hat Leveraging COVID-19 for Marketing

  • Automation against the COVID-19 crisis: 4 suggestions to get started

    Without public cloud computing, we wouldn't be able to face the pandemic in the way we are. On-premise data centers have never scaled this fast, and not even the most rigorous capacity planning in the world would have forecasted the resource consumption we face today. News outlets covering the outbreaks would have not been able to cope with an entire planet constantly refreshing the home page in the hope of reading good news (that’s what I do). Hospitals and research facilities publishing dashboards full of virus spread statistics would not have been able to acquire the massive datasets they have as fast as they did. Videoconferencing and streaming platforms wouldn’t be able to serve, exceptionally so far, the enormous amount of the human workforce suddenly forced to work from home. And what is public cloud computing in the end? An astonishing, unprecedented, disciplined, methodical, pervasive amount of automation (and a few other, equally critical things). Automation doesn’t just allow us to cope with the urgency and scale of the demand in the public cloud and inside our data centers. Automation is helping organizations around the world to transition to a work-from-home productivity model. Without automation, the security teams would be hard pressed to install VPN clients across millions of laptops, tablets and smartphones all around the world.

  • UNESCO CodeTheCurve global virtual hackathon: Build your skills and help make a difference

    At least 1.5 billion young people are currently at home due to school closures relating to the global COVID-19 pandemic. One hundred eighty-three countries have been disrupted. Students, parents, and communities continue to cope with social isolation, while exploring how to maintain a sense of normalcy with the sea of online learning content, collaboration tools, and social media platforms available for the world to consume. Conversations that once took place face-to-face have now moved virtual. For students, parents, teachers, educators, and others, home confinement has brought the additional attention and need for an innovative learning paradigm, one centered on practical and real-world digital skills. This is a time that’s especially challenging for the 49% of the global population who lack access to broadband internet. For those who are online, the spread of misinformation and disinformation relating to COVID-19 complicates the situation even further by diminishing confidence in public health guidance by authorities, and has given rise to panic and uncertainty.

i.MX8M Mini Pico-ITX board has a DSP for voice control plus optional AI

Estone’s “EMB-2237-AI” Pico-ITX SBC integrates a “SOM-2237” module that runs Linux on an i.MX8M Mini and adds a DSP for audio. The carrier adds LAN with PoE, MIPI-DSI and -CSI, mics and speakers, and an M.2 slot with Edge TPU AI support. Estone Technology’s EMB-2237-AI is the first SBC we’ve seen to combine the 100 x 72mm Pico-ITX form-factor with an NXP i.MX8M Mini SoC. Other Mini-based SBCs include Seco’s SBC-C61, Boardcon’s sandwich-style EM-IMX8M-MINI, and Garz & Fricke’s recent Tanaro, among others. Read more

Python Programming

  • Python 2.7.18rc1

    Python 2.7.18 release candidate 1 is a testing release for Python 2.7.18, the last release of Python 2.

  • Python 2.7.18 release candidate 1 available

    A first release candidate for Python 2.7.18 is now available for download. Python 2.7.18 will be the last release of the Python 2.7 series, and thus Python 2.

  • Python Software Foundation: Python Software Foundation Fellow Members for Q1 2020

    Congratulations! Thank you for your continued contributions. We have added you to our Fellow roster online. The above members have contributed to the Python ecosystem by teaching Python, creating education material, contributing to circuitpython, contributing to and maintaining packaging, organizing Python events and conferences, starting Python communities in their home countries, and overall being great mentors in our community. Each of them continues to help make Python more accessible around the world. To learn more about the new Fellow members, check out their links above. Let's continue to recognize Pythonistas all over the world for their impact on our community. The criteria for Fellow members is available online: If you would like to nominate someone to be a PSF Fellow, please send a description of their Python accomplishments and their email address to psf-fellow at We are accepting nominations for quarter 2 through May 20, 2020.

  • How to Make an Instagram Bot With Python and InstaPy

    What do SocialCaptain, Kicksta, Instavast, and many other companies have in common? They all help you reach a greater audience, gain more followers, and get more likes on Instagram while you hardly lift a finger. They do it all through automation, and people pay them a good deal of money for it. But you can do the same thing—for free—using InstaPy! In this tutorial, you’ll learn how to build a bot with Python and InstaPy, which automates your Instagram activities so that you gain more followers and likes with minimal manual input. Along the way, you’ll learn about browser automation with Selenium and the Page Object Pattern, which together serve as the basis for InstaPy.

  • Sending Encrypted Messages from JavaScript to Python via Blockchain

    Last year, I worked with the Capacity team on the Crypto stamp project, the first physical postage stamp with a unique digital twin, issued by the Austrian Postal Service (Österreichische Post AG). Those stamps are mainly intended as collectibles, but their physical "half" can be used as valid postage on packages or letters, and a QR code on that physical stamp links to a website presenting the digital collectible. Our job (at Capacity Blockchain Solutions) was to build that digital collectible, the website at, and the back-end service delivering both public meta data and the back end for the website. I specifically did most of the work on the Ethereum Smart Contract for the digital collectible, a "non-fungible token" (NFT) using the ERC-721 standard (publicly visible), as well as the back-end REST service, which I implemented in Python (based on Flask and The coding for the website was done by colleagues, of course using JavaScript for the dynamic elements.

  • Unpacking in Python: Beyond Parallel Assignment

    Unpacking in Python refers to an operation that consists of assigning an iterable of values to a tuple (or list) of variables in a single assignment statement. As a complement, the term packing can be used when we collect several values in a single variable using the iterable unpacking operator, *. Historically, Python developers have generically referred to this kind of operation as tuple unpacking. However, since this Python feature has turned out to be quite useful and popular, it's been generalized to all kinds of iterables. Nowadays, a more modern and accurate term would be iterable unpacking. In this tutorial, we'll learn what iterable unpacking is and how we can take advantage of this Python feature to make our code more readable, maintainable, and pythonic. Additionally, we'll also cover some practical examples of how to use the iterable unpacking feature in the context of assignments operations, for loops, function definitions, and function calls.

  • Spin the table: Solution!