Language Selection

English French German Italian Portuguese Spanish


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

Syncthing: Open Source P2P File Syncing Tool

9 hours 44 min ago

Brief: Syncthing is an open-source peer-to-peer file synchronization tool that you can use for syncing files between multiple devices (including an Android phone).

Usually, we have a cloud sync solution like MEGA or Dropbox to have a backup of our files on the cloud while making it easier to share it.

But, what do you do if you want to sync your files across multiple devices without storing them on the cloud?

That is where Syncthing comes to the rescue.

Syncthing: An open source tool to synchronize files across devices

Syncthing lets you sync your files across multiple devices (including the support for Android smartphones). It primarily works through a web UI on Linux but also offers a GUI (to separately install).

However, Syncthing does not utilize the cloud at all – it is a peer-to-peer file synchronization tool. Your data doesn’t go to a central server. Instead, the data is synced with all the devices between them. So, it does not really replace the typical cloud storage services on Linux.

To add remote devices, you just need the device ID (or simply scan the QR code), no IP addresses involved.

If you want a remote backup of your files – you should probably rely on the cloud.

Syncthing GUI

All things considered, Syncthing can come in handy for a lot of things. Technically, you can have your important files accessible on multiple systems securely and privately without worrying about anyone spying on your data.

For instance, you may not want to store some of the sensitive files on the cloud – so you can add other trusted devices to sync and keep a copy of those files.

Even though I described it briefly, there’s more to it and than meets the eye. I’d also recommend reading the official FAQ to clear some confusion on how it works – if you’re interested.

Features of Syncthing

You probably do not want a lot of options in a synchronization tool – it should be dead simple to work reliably to sync your files.

Syncthing is indeed quite simple and easy to understand – even though it is recommended that you should go through the documentation if you want to use every bit of its functionality.

Here, I’ll highlight a few useful features of Syncthing:

Cross-Platform Support Syncthing on Android

Being an open-source solution, it does support Windows, Linux, and macOS.

In addition to that, it also supports Android smartphones. You’ll be disappointed if you have an iOS device – so far, no plans for iOS support.

File Versioning Syncthing File Versioning

Syncthing utilizes a variety of File Versioning methods to archive the old files if they are replaced or deleted.

By default, you won’t find it enabled. But, when you create a folder to sync, that’s when you will find the option to toggle the file versioning to your preferred method.

Easy To Use

While being a peer-to-peer file synchronization tool, it just works out of the box with no advanced tweaks.

However, it does let you configure advanced settings when needed.

Security & Privacy

Even though you do not share your data with any cloud service providers, there are still some connections made that might gain the attention of an eavesdropper. So, Syncthing makes sure the communication is secured using TLS.

In addition to that, there are solid authentication methods to ensure that only the devices/connections you allow explicitly will be granted access to sync/read data.

For Android smartphones, you can also force the traffic through Tor if you’re using the Orbot app. You’ll find several other options for Android as well.

Other Functionalities

When exploring the tool yourself, you will notice that there are no limits to how many folders you can sync and the number of devices that you can sync.

So, being a free and open-source solution with lots of useful features makes it an impressive choice for Linux users looking to have a peer-to-peer sync client.

Installing Syncthing on Linux

You may not observe a .deb file or an .AppImage file for it on its official download webpage. But, you do get a snap package on the Snap store – if you’re curious you can read about using snap apps on Linux to get started.

You may not find it in the software center (if you do – it may not be the latest version).

Note: There’s also a Syncthing-GTK available if you want a GUI to manage that – instead of a browser.


You can also utilize the terminal to get it installed if you have a Debian-based distro – the instructions are on the official download page.

My experience with Syncthing

Personally, I got it installed on Pop!_OS 19.10 and used it for a while before writing this up.

I tried syncing folders, removing them, adding duplicate files to see how the file versioning works, and so on. It worked just fine.

However, when I tried syncing it to a phone (Android) – the sync started a bit late, it wasn’t very quick. So, if we could have an option to explicitly force sync, that could help. Or, did I miss the option? Let me know in the comments if I did.

Technically, it uses the resources of your system to work – so if you have a number of devices connected to sync, it should potentially improve the sync speed (upload/download).

Overall, it works quite well – but I must say that you shouldn’t rely on it as the only backup solution to your data.

Wrapping Up

Have you tried Syncthing yet? If yes, how was your experience with it? Feel free to share it in the comments below.

Also, if you know about some awesome alternatives to this – let me know about it as well.

Evernote’s Official Linux Client is Coming Soon

10 hours 33 min ago

Brief: One of the most popular notes organizing tools Evernote has a good news for Linux users. They will be releasing an Evernote desktop application for Linux this year.

If you are an Evernote fan, you probably have been missing it on Linux desktop. There is the web version available but you cannot use it offline if you are not a premium user.

Linux (almost) always has a way around. So, there are some third party applications that let you use Evernote on Linux. There are also some alternative applications to Evernote available on Linux.

A native Linux client for Evernote has been requested for a long time and the good news is that it should finally be coming to Linux in the year 2020.

Official Evernote client for Linux

In a recent blog post, CEO Ian Small revealed the planned updates for Evernote for the year 2020.

Ian mentions that a new client for Windows, Mac and Linux is onto the launching pad.

The re-engineered web client (in limited release), the new mobile clients (in first preview), and the (as yet unreleased) new clients for Windows, Mac, and (yes!) Linux, along with the ongoing re-architecture and data migration we’ve been doing in the cloud, will set up Evernote to be able to innovate and ship with quality at a pace we haven’t seen in a long time.

Ian Small
CEO, Evernote

It’s not clear at this point if the official Linux client will be an Electron version of the re-designed web client or a native application.

In simpler terms, an Electron app uses Chromium and Node.js to create a desktop application. Sometimes developers just wrap the web version in the form of an Electron application. Which is somewhat like running the service in a web browser. For example, Slack on Linux is an electron application.

I would prefer that Evernote develops a native application for Linux rather than an Electron app.

There is no set deadline for the Evernote Linux client release though. Since it is mentioned in the roadmap of 2020, it should be coming this year. Fingers crossed!

Evernote is not an open source application. If you want an open source application with similar features as Evernote, I recommend using Joplin.

What do you think of this announcement? Will a Linux client for Evernote entice you enough to get their premium subscription? What do you think?

How to Set or Change Timezone in Ubuntu Linux [Beginner’s Tip]

Saturday 18th of January 2020 01:59:19 PM

When you install Ubuntu, it asks you to set timezone. If you chose a wrong timezone or if you have moved to some other part of the world, you can easily change it later.

How to change Timezone in Ubuntu and other Linux distributions

There are two ways to change the timezone in Ubuntu. You can use the graphical settings or use the timedatectl command in the terminal. You may also change the /etc/timezone file directly but I won’t advise that.

I’ll show you both graphical and terminal way in this beginner’s tutorial:

Method 1: Change Ubuntu timezone via terminal

Ubuntu or any other distributions using systemd can use the timedatectl command to set timezone in Linux terminal.

You can check the current date and timezone setting using timedatectl command without any option:

abhishek@nuc:~$ timedatectl Local time: Sat 2020-01-18 17:39:52 IST Universal time: Sat 2020-01-18 12:09:52 UTC RTC time: Sat 2020-01-18 12:09:52 Time zone: Asia/Kolkata (IST, +0530) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no

As you can see in the output above, my system uses Asia/Kolkata. It also tells me that it is 5:30 hours ahead of GMT.

To set a timezone in Linux, you need to know the exact timezone. You must use the correct format of the timezone (which is Continent/City).

To get the timezone list, use the list-timezones option of timedatectl command:

timedatectl list-timezones

It will show you a huge list of the available time zones.

Timezones List

You can use the up and down arrow or PgUp and PgDown key to move between the pages.

You may also grep the output and search for your timezone. For example, if you are looking for time zones in Europe, you may use:

timedatectl list-timezones | grep -i europe

Let’s say you want to set the timezone to Paris. The timezone value to be used here is Europe/Paris:

timedatectl set-timezone Europe/Paris

It won’t show any success message but the timezone is changed instantly. You don’t need to restart or log out.

Keep in mind that though you don’t need to become root user and use sudo with the command but your account still need to have admin rights in order to change the timezone.

You can verify the changed time and timezone by using the date command:

abhishek@nuc:~$ date Sat Jan 18 13:56:26 CET 2020 Method 2: Change Ubuntu timezone via GUI

Press the super key (Windows key) and search for Settings:

Applications Menu Settings

Scroll down a little and look for Details in the left sidebar:

Go to Settings -> Details

In Details, you’ll fine Date & Time in the left sidebar. Here, you should turn off Automatic Time Zone option (if it is enabled) and then click on the Time Zone:

In Details -> Date & Time, turn off the Automatic Time Zone

When you click the Time Zone, it will open an interactive map and you can click on the geographical location of your choice and close the window.

Select a timezone

You don’t have to do anything other than closing this map after selecting the new timezone. No need to logout or shutdown Ubuntu.

I hope this quick tutorial helped you to change timezone in Ubuntu and other Linux distributions. If you have questions or suggestions, please let me know.

Zorin Grid Lets You Remotely Manage Multiple Zorin OS Computers

Thursday 16th of January 2020 05:00:00 PM

One of the major hurdles institutes face is in managing and updating multiple Linux systems from a central point.

Well, Zorin OS has come up with a new cloud-based tool that will help you manage multiple computers running Zorin OS from one single interface. You can update the systems, install apps and configuration all systems remotely using this tool called Zorin Grid.

Zorin Grid: Manage a fleet of Zorin OS computers remotely

Zorin Grid is a tool that makes it simple to set up, manage, and secure a fleet of Zorin OS-powered computers in businesses, schools, and organizations.

When it comes to managing Linux distributions (here, Zorin OS) on a multitude of systems for an organization – it is quite time-consuming.

If it will be easier to manage Linux systems, more organizations will be interested to switch using Linux just like the Italian city Vicenza replaced Windows by Zorin OS.

For the very same reason, the Zorin team decided to create ‘Zorin Grid‘ with the help of which every school, enterprises, organizations, and businesses will be able to easily manage their Zorin OS-powered machines.

Zorin Grid features Zorin Grid Features

You might have guessed what it is capable of – but let me highlight the key features of Zorin Grid as per its official webpage:

  • Install and Remove Apps
  • Set software update and security patch policies
  • Monitor computer status
  • Enforce security policies
  • Keep track of software and hardware inventory
  • Set desktop settings
  • Organize computers into groups (for teams and departments)
  • Role-based access control and audit logging

In addition to these, you will be able to do a couple more things using the Zorin Grid service. But, it looks like most of the essential tasks will be covered by Zorin Grid.

How does Zorin Grid work?

Zorin Grid is a cloud based software as a service. Zorin will be charging a monthly subscription fee for each computer managed by Zorin Grid in an organization.

You’ll have to install the Zorin Grid client on all the systems that you want to manage. Since it is cloud-based, you can manage all the Zorin systems on your grid from a web browser by logging into you Zorin Grid account.

You choose how to configure the computers once and the Zorin Grid applies the same configuration to all or specific computers in your organization.

The price has not been finalized. Artyom Zorin, CEO of Zorin Group, told It’s FOSS that schools and non-profit organizations will get Zorin Grid for a reduced pricing.

While client-side software for Zorin Grid will be open source, the Zorin Grid server won’t be open source initially. Releasing it under an open source license is tentatively on their roadmap.

Artyom also told that they plan to support other Linux distributions starting with Ubuntu and Ubuntu-based distros after launching Zorin Grid for Zorin OS systems this summer.

In case you decide to migrate from Windows to Zorin OS for your organization or business, you will find a useful migration guide by the Zorin OS team to help you switch to Linux.

Zorin Grid

Wrapping Up

Let me summarize all the important points about Zorin Grid:

  • Zorin Grid is an upcoming cloud based service that lets you manage multiple Zorin OS systems.
  • It’s a premium service that charges for each computer used. The pricing is not determined yet.
  • Educational institutes and non-profit organizations can get Zorin Grid for a reduced pricing.
  • Initially it can only handle Zorin OS. Other Ubuntu-based distributions are on the road-map but there is no definite timeline for that.
  • The service should be available in the summer 2020.
  • Zorin Grid server won’t be open source initially.

Zorin Grid looks to be an impressive premium tool for organizations or businesses that want to use Linux while also being able to maintain their systems easily.

Personally, I wouldn’t mind paying for the service if it makes deploying and using Linux easier, in general.

Of course, it does not support every Linux distro as of yet – but it is indeed a promising service to keep an eye out for.

What do you think about it? Do you know of a better alternative to Zorin Grid? Do share your views in the comments.

Insights into Why Hyperbola GNU/Linux is Turning into Hyperbola BSD

Thursday 16th of January 2020 12:44:52 PM

In late December 2019, Hyperbola announced that they would be making major changes to their project. They have decided to drop the Linux kernel in favor of forking the OpenBSD kernel. This announcement only came months after Project Trident announced that they were going in the opposite direction (from BSD to Linux).

Hyperbola also plans to replace all software that is not GPL v3 compliant with new versions that are.

To get more insight into the future of their new project, I interviewed Andre, co-founder of Hyperbola.

Why Hyperbola GNU/Linux Turned into Hyperbola BSD

It’s FOSS: In your announcement, you state that the Linux kernel is “rapidly proceeding down an unstable path”. Could you explain what you mean by that?

Andre: First of all, it’s including the adaption of DRM features such as HDCP (High-bandwidth Digital Content Protection). Currently there is an option to disable it at build time, however there isn’t a policy that guarantees us that it will be optional forever.

Historically, some features began as optional ones until they reached total functionality. Then they became forced and difficult to patch out. Even if this does not happen in the case of HDCP, we remain cautious about such implementations.

Another of the reasons is that the Linux kernel is no longer getting proper hardening. Grsecurity stopped offering public patches several years ago, and we depended on that for our system’s security. Although we could use their patches still for a very expensive subscription, the subscription would be terminated if we chose to make those patches public.

Such restrictions goes against the FSDG principles that require us to provide full source code, deblobbed, and unrestricted, to our users.

KSPP is a project that was intended to upstream Grsec into the kernel, but thus far it has not come close to reaching Grsec / PaX level of kernel hardening. There also has not been many recent developments, which leads us to believe it is now an inactive project for the most part.

Lastly, the interest in allowing Rust modules into the kernel are a problem for us, due to Rust trademark restrictions which prevent us from applying patches in our distribution without express permission. We patch to remove non-free software, unlicensed files, and enhancements to user-privacy anywhere it is applicable. We also expect our users to be able to re-use our code without any additional restrictions or permission required.

This is also in part why we use UXP, a fully free browser engine and application toolkit without Rust, for our mail and browser applications.

Due to these restrictions, and the concern that it may at some point become a forced build-time dependency for the kernel we needed another option.

It’s FOSS: You also said in the announcement that you would be forking the OpenBSD kernel. Why did you pick the OpenBSD kennel over the FreeBSD, the DragonflyBSD kernel or the MidnightBSD kernel?

Andre: OpenBSD was chosen as our base for hard-forking because it’s a system that has always had quality code and security in mind.

Some of their ideas which greatly interested us were new system calls, including pledge and unveil which adds additional hardening to userspace and the removal of the systrace system policy-enforcement tool.

They also are known for Xenocara and LibreSSL, both of which we had already been using after porting them to GNU/Linux-libre. We found them to be well written and generally more stable than Xorg/OpenSSL respectively.

None of the other BSD implementations we are aware of have that level of security. We also were aware LibertyBSD has been working on liberating the OpenBSD kernel, which allowed us to use their patches to begin the initial development.

It’s FOSS: Why fork the kernel in the first place? How will you keep the new kernel up-to-date with newer hardware support?

Andre: The kernel is one of the most important parts of any operating system, and we felt it is critical to start on a firm foundation moving forward.

For the first version we plan to keep in synchronization with OpenBSD where it is possible. In future versions we may adapt code from other BSDs and even the Linux kernel where needed to keep up with hardware support and features.

We are working in coordination with Libreware Group (our representative for business activities) and have plans to open our foundation soon.

This will help to sustain development, hire future developers and encourage new enthusiasts for newer hardware support and code. We know that deblobbing isn’t enough because it’s a mitigation, not a solution for us. So, for that reason, we need to improve our structure and go to the next stage of development for our projects.

It’s FOSS: You state that you plan to replace the parts of the OpenBSD kernel and userspace that are not GPL compatible or non-free with those that are. What percentage of the code falls into the non-GPL zone?

Andre: It’s around 20% in the OpenBSD kernel and userspace.

Mostly, the non-GPL compatible licensed parts are under the Original BSD license, sometimes called the “4-clause BSD license” that contains a serious flaw: the “obnoxious BSD advertising clause”. It isn’t fatal, but it does cause practical problems for us because it generates incompatibility with our code and future development under GPLv3 and LGPLv3.

The non-free files in OpenBSD include files without an appropriate license header, or without a license in the folder containing a particular component.

If those files don’t contain a license to give users the four essential freedoms or if it has not been explicitly added in the public domain, it isn’t free software. Some developers think that code without a license is automatically in the public domain. That isn’t true under today’s copyright law; rather, all copyrightable works are copyrighted by default.

The non-free firmware blobs in OpenBSD include various hardware firmwares. These firmware blobs occur in Linux kernel also and have been manually removed by the Linux-libre project for years following each new kernel release.

They are typically in the form of a hex encoded binary and are provided to kernel developers without source in order to provide support for proprietary-designed hardware. These blobs may contain vulnerabilities or backdoors in addition to violating your freedom, but no one would know since the source code is not available for them. They must be removed to respect user freedom.

It’s FOSS: I was talking with someone about HyperbolaBSD and they mentioned HardenedBSD. Have you considered HardenedBSD?

Andre: We had looked into HardenedBSD, but it was forked from FreeBSD. FreeBSD has a much larger codebase. While HardenedBSD is likely a good project, it would require much more effort for us to deblob and verify licenses of all files.

We decided to use OpenBSD as a base to fork from instead of FreeBSD due to their past commitment to code quality, security, and minimalism.

It’s FOSS: You mentioned UXP (or Unified XUL Platform). It appears that you are using Moonchild’s fork of the pre-Servo Mozilla codebase to create a suite of applications for the web. Is that about the size of it?

Andre: Yes. Our decision to use UXP was for several reasons. We were already rebranding Firefox as Iceweasel for several years to remove DRM, disable telemetry, and apply preset privacy options. However, it became harder and harder for us to maintain when Mozilla kept adding anti-features, removing user customization, and rapidly breaking our rebranding and privacy patches.

After FF52, all XUL extensions were removed in favor of WebExt and Rust became enforced at compile time. We maintain several XUL addons to enhance user-privacy/security which would no longer work in the new engine. We also were concerned that the feature limited WebExt addons were introducing additional privacy issues. E.g. each installed WebExt addon contains a UUID which can be used to uniquely and precisely identify users (see Bugzilla 1372288).

After some research, we discovered UXP and that it was regularly keeping up with security fixes without rushing to implement new features. They had already disabled telemetry in the toolkit and remain committed to deleting all of it from the codebase.

We knew this was well-aligned with our goals, but still needed to apply a few patches to tweak privacy settings and remove DRM. Hence, we started creating our own applications on top of the toolkit.

This has allowed us to go far beyond basic rebranding/deblobbing as we were doing before and create our own fully customized XUL applications. We currently maintain Iceweasel-UXP, Icedove-UXP and Iceape-UXP in addition to sharing toolkit improvements back to UXP.

It’s FOSS: In a forum post, I noticed mentions of HyperRC, HyperBLibC, and hyperman. Are these forks or rewrites of current BSD tools to be GPL compliant?

Andre: They are forks of existing projects.

Hyperman is a fork of our current package manager, pacman. As pacman does not currently work on BSD, and the minimal support it had in the past was removed in recent versions, a fork was required. Hyperman already has a working implementation using LibreSSL and BSD support.

HyperRC will be a patched version of OpenRC init. HyperBLibC will be a fork from BSD LibC.

It’s FOSS: Since the beginning of time, Linux has championed the GPL license and BSD has championed the BSD license. Now, you are working to create a BSD that is GPL licensed. How would you respond to those in the BSD community who don’t agree with this move?

Andre: We are aware that there are disagreements between the GPL and BSD world. There are even disagreements over calling our previous distribution “GNU/Linux” rather than simply “Linux”, since the latter definition ignores that the GNU userspace was created in 1984, several years prior to the Linux kernel being created by Linus Torvalds. It was the two different software combined that make a complete system.

Some of the primary differences from BSD, is that the GPL requires that our source code must be made public, including future versions, and that it can only be used in tandem with compatibly licensed files. BSD systems do not have to share their source code publicly, and may bundle themselves with various licenses and non-free software without restriction.

Since we are strong supporters of the Free Software Movement and wish that our future code remain in the public space always, we chose the GPL.

It’s FOSS: I know at this point you are just starting the process, but do you have any idea who you might have a usable version of HyperbolaBSD available?

Andre: We expect to have an alpha release ready by 2021 (Q3) for initial testing.

It’s FOSS: How long will you continue to support the current Linux version of Hyperbola? Will it be easy for current users to switch over to?

Andre: As per our announcement, we will continue to support Hyperbola GNU/Linux-libre until 2022 (Q4). We expect there to be some difficulty in migration due to ABI changes, but will prepare an announcement and information on our wiki once it is ready.

It’s FOSS: If someone is interested in helping you work on HyperbolaBSD, how can they go about doing that? What kind of expertise would you be looking for?

Andre: Anyone who is interested and able to learn is welcome. We need C programmers and users who are interested in improving security and privacy in software. Developers need to follow the FSDG principles of free software development, as well as the YAGNI principle which means we will implement new features only as we need them.

Users can fork our git repository and submit patches to us for inclusion.

It’s FOSS: Do you have any plans to support ZFS? What filesystems will you support?

Andre: ZFS support is not currently planned, because it uses the Common Development and Distribution License, version 1.0 (CDDL). This license is incompatible with all versions of the GNU General Public License (GPL).

It would be possible to write new code under GPLv3 and release it under a new name (eg. HyperZFS), however there is no official decision to include ZFS compatibility code in HyperbolaBSD at this time.

We have plans on porting BTRFS, JFS2, NetBSD’s CHFS, DragonFlyBSD’s HAMMER/HAMMER2 and the Linux kernel’s JFFS2, all of which have licenses compatible with GPLv3. Long term, we may also support Ext4, F2FS, ReiserFS and Reiser4, but they will need to be rewritten due to being licensed exclusively under GPLv2, which does not allow use with GPLv3. All of these file systems will require development and stability testing, so they will be in later HyperbolaBSD releases and not for our initial stable version(s).

I would like to thank Andre for taking the time to answer my questions and for revealing more about the future of HyperbolaBSD.

What are your thoughts on Hyperbola switching to a BSD kernel? What do you think about a BSD being released under the GPL? Please let us know in the comments below.

If you found this article interesting, please take a minute to share it on social media, Hacker News or Reddit.

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-44ac8e8 .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.

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 :)

More in Tux Machines