Language Selection

English French German Italian Portuguese Spanish


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

Deepin 20 Review: The Gorgeous Linux Distro Becomes Even More Beautiful (and Featureful)

Friday 18th of September 2020 03:55:01 AM

Deepin is one of the most beautiful Linux distributions based on the stable branch of Debian and with the latest release of version 20, it’s better than ever before.

There are a bunch of changes and visual improvements that makes it a wonderful Linux distribution.

In this article, I’m going to take a look at Deepin 20 and let you know what it offers to help you decide if you would want to try it out!

What’s New In Deepin 20?

Visually, Deepin 20 comes with a major overhaul and it looks way cleaner and intuitive. It looks a lot like macOS or should I say that macOS Big Sur looks like Deepin version 20.

In addition to the visual improvements (for which it is known for), the base repository has been upgraded to Debian 10.5. Here are some other highlights include:

  • Dual-kernel support (Linux Kernel 5.4 LTS and Linux Kernel 5.7)
  • Personalized notification management
  • Improved system installer
  • Improved app management
  • Enhanced fingerprint recognition
  • A brand-new device manager

Of course, the list doesn’t end here. I’ll go through each of the key changes in the article as you read on.

Deepin 20 Review of New Features

Let me dwell over the most significant changes in the new release:

Visual Improvements

Overall, the look and feel of Deepin 20 is much cleaner and beautiful when compared to its previous release. The choice of the default icon theme, positioning of the menu bar, notification icon, and several other things look perfectly fine.

Of course, the rounded Windows, colorful icons, animation effects, and some subtle transparency makes the user experience rich.

The dark mode is now available across all the system apps and it’s now easier to switch light/dark theme per application instead of making it a system-wide change.

In addition to all the improvements, you also get the ability to tweak the experience and control a lot of things including the transparency.

Personalized Notification Management

With Deepin 20, you can also tweak/control the notifications and the alerts for each application to avoid unnecessary distractions.

Dual-Kernel Support

The dual-kernel support is a big deal and it should be exciting for users looking for the best hardware compatibility and stability with more devices. While installing Deepin 20, you will get the option to choose Linux Kernel 5.4 LTS or Linux Kernel 5.7 (Stable).

Improved System Installer

To encourage more people to try Deepin 20 and have a good experience, the system installer has seen some improvements which makes it cleaner and easier to use.

It’s also worth noting that if you have an NVIDIA graphics card, it will detect it and offer you installing the required proprietary drivers to get things working.

App Store Improvements

Deepin 20 includes some improvements to the app store to help you manage and install new apps easily.

However, I found it a bit too slow to load up. Yes, it could be the fact that the mirrors/resources are based in Mainland China. Maybe, they could have got around this issue by caching the icons/app information for the app store instead of loading it up every time.

Overall, even though the UI improvements are fantastic, using the app store wasn’t a smooth experience. It definitely needs some work on it.

New App Additions & Upgrades

There are some new useful app additions like Device Manager, Draw, Font Manager, Log Viewer, Voice Notes, Screen Capture (combining Deepin Screenshot and Deepin Screen Recorder), and Cheese (to take a photo or video on your PC).

Among them, the device manager should come in pretty handy and depending on what you need, other additions should seem pretty exciting.

Tools like Document viewer, archive manager, and a couple other apps have been upgraded.

Other Fixes & Improvements

The release also includes several bug fixes and improvements for the slideshow, dock, icons in the tray area, and so on.

New icon pack additions, improvements to the fingerprint recognition UI, and some other under-the-hood improvements make up for a great experience on Deepin 20.

To get all the details, you might want to check out their official announcement post. And, to sum up, I’ll just share my thoughts on using it.

My Experience With Deepin 20

Considering all the eye candy improvements, it’s definitely an attractive offering as a Linux distribution for both enthusiasts and for users looking to switch from Windows or macOS.

It is a bit heavy on system resources, but isn’t anything crazy for a modern computer with a decent graphics card. I’m not sure how it would perform with integrated graphics, but it shouldn’t be an issue, I think — unless you have a really old chipset.

The dual-kernel makes it an interesting choice to have good stability and compatibility with a wide range of hardware.

Overall, Deepin 20 is a wonderful experience and if you’re not aiming for a lightweight distribution but an eye candy experience, you should definitely give this a try.

Have you tried Deepin 20 already? Feel free to share your thoughts in the comments below!

How to Fix “Repository is not valid yet” Error in Ubuntu Linux

Thursday 17th of September 2020 02:12:22 PM

I recently installed Ubuntu server on my Raspberry Pi. I connected it to the Wi-Fi from Ubuntu terminal and went about doing what I do after installing any Linux system which is to update the system.

When I used the ‘sudo apt update’ command, it gave me an error which was kind of unique to me. It complained that release file for the repository was invalid for a certain time period.

E: Release file for is not valid yet (invalid for another 159d 15h 20min 52s). Updates for this repository will not be applied.

Here’s the complete output:

ubuntu@ubuntu:~$ sudo apt update Hit:1 focal InRelease Get:2 focal-updates InRelease [111 kB] Get:3 focal-backports InRelease [98.3 kB] Get:4 focal-security InRelease [107 kB] Reading package lists... Done E: Release file for is not valid yet (invalid for another 21d 23h 17min 25s). Updates for this repository will not be applied. E: Release file for is not valid yet (invalid for another 159d 15h 21min 2s). Updates for this repository will not be applied. E: Release file for is not valid yet (invalid for another 159d 15h 21min 32s). Updates for this repository will not be applied. E: Release file for is not valid yet (invalid for another 159d 15h 20min 52s). Updates for this repository will not be applied. Fixing “release file is not valid yet” error in Ubuntu and other Linux distributions

The reason for the error is the difference in the time on the system and the time in real world.

You see, every repository file is signed on some date and you can see this information by viewing the release file:

sudo head /var/lib/apt/lists/ports.ubuntu.com_ubuntu_dists_focal_InRelease -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Origin: Ubuntu Label: Ubuntu Suite: focal Version: 20.04 Codename: focal Date: Thu, 23 Apr 2020 17:33:17 UTC Architectures: amd64 arm64 armhf i386 ppc64el riscv64 s390x

Now, for some reasons, the time on my Ubuntu server was in the past and this is why Ubuntu complained that the release file is not valid yet for X many days.

If you are connected to the internet, you may wait a few minutes for your system to synchronize the time.

If it doesn’t work, you may force the system to use local time as real time clock (hardware clock):

sudo timedatectl set-local-rtc 1

The timedatectl command enables you to configure time, date and change timezone on Linux.

You shouldn’t need to restart. It works immediately and you can verify it by updating your Ubuntu system again.

If the problem is solved, you may set the real time clock to use UTC (as recommended by Ubuntu).

sudo timedatectl set-local-rtc 0

Did it fix the issue for you?

I hope this quick tip helped you to fix this error. If you are still facing the issue, let me know in the comment section and I’ll try to help you out.

GNOME 3.38 is Here With Customizable App Grid, Performance Improvements and Tons of Other Changes

Wednesday 16th of September 2020 03:48:52 PM

GNOME 3.36 brought some much-needed improvements along with a major performance boost. Now, after 6 months, we’re finally here with GNOME 3.38 with a big set of changes.

GNOME 3.38 Key Features

Here are the main highlight of GNOME 3.38 codenamed Orbis:

Subscribe to our YouTube channel for more Linux videos Customizable App Menu

The app grid or the app menu will now be customizable as part of a big change in GNOME 3.38.

Now, you can create folders by dragging application icons over each other and move them to/from folders and set it right back in the app grid. You can also just reposition the icons as you want in the app grid.

Also, these changes are some basic building blocks for upcoming design changes planned for future updates — so it’ll be exciting to see what we can expect.

Calendar Menu Updates

The notification area is a lot cleaner with the recent GNOME updates but now with GNOME 3.38, you can finally access calendar events right below the calendar area to make things convenient and easy to access.

It’s not a major visual overhaul, but there’s a few improvements to it.

Parental Controls Improvement

You will observe a parental control service as a part of GNOME 3.38. It supports integration with various components of the desktop, the shell, the settings, and others to help you limit what a user can access.

The Restart Button

Some subtle improvements lead to massive changes and this is exactly one of those changes. It’s always annoying to click on the “Power Off” / “Shut down” button first and then hit the “Restart” button to reboot the system.

So, with GNOME 3.38, you will finally notice a “Restart” entry as a separate button which will save you click and give you a peace of mind.

Screen Recording Improvements

GNOME shell’s built-in screen record is now a separate system service which should potentially make recording the screen a smooth experience.

Also, window screencasting had several improvements to it along with some bug fixes:

GNOME apps Updates

The GNOME calculator has received a lot of bug fixes. In addition to that, you will also find some major changes to the epiphany GNOME browser.

GNOME Boxes now lets you pick the OS from a list of operating systems and GNOME Maps was updated with some UI changes as well.

Not just limited to these, you will also find subtle updates and fixes to GNOME control center, Contacts, Photos, Nautilus, and some other packages.

Performance & multi-monitor support improvements

There’s a bunch of under-the-hood improvements to improve GNOME 3.38 across the board. For instance, there were some serious fixes to Mutter which now lets two monitors run at different refresh rates.

Previously, if you had one monitor with a 60 Hz refresh rate and another with 144 Hz, the one with the slower rate will limit the second monitor. But, with the improvements in GNOME 3.38, it will handle multi-monitors without limiting any of them.

Also, some changes reported by Phoronix pointed out around 10% lower render time in some cases. So, that’s definitely a great performance optimization.

Miscellaneous other changes
  • Battery percentage indicator
  • Restart option in the power menu
  • New welcome tour
  • Fingerprint login
  • QR code scanning for sharing Wi-Fi hotspot
  • Privacy and other improvements to GNOME Browser
  • GNOME Maps is now responsive and changes its size based on the screen
  • Revised icons

You can find a details list of changes in their official changelog.

Wrapping Up

GNOME 3.38 is indeed an impressive update to improve the GNOME experience. Even though the performance was greatly improved with GNOME 3.36, more optimizations is a very good thing for GNOME 3.38.

GNOME 3.38 will be available in Ubuntu 20.10 and Fedora 33. Arch and Manjaro users should be getting it soon.

I think there are plenty of changes in right direction. What do you think?

Open Usage Commons: Google’s Initiative to Manage Trademark for Open Source Projects Runs into Controversy

Wednesday 16th of September 2020 07:18:01 AM

Back in July, Google announced a new organization named Open Usage Commons. The aim of the organization is to help “projects protect their project identity through programs such as trademark management and usage guidelines”.

Google believes that “creating a neutral, independent ownership for these trademarks gives contributors and consumers peace of mind regarding their use of project names in a fair and transparent way”.

Open Usage Commons and the controversy with IBM

Everything seems good in theory, right? But soon after the Google’s announcement of the Open Usage Commons, IBM made an objection.

The problem is that Google included Istio project under Open Usage Commons. IBM is one of the founding members of the Istio project and it wants the project to be under open governance with CNCF.

On behalf of It’s FOSS, I had a quick interaction with Heikki Nousiainen, CTO at Aiven to clear some air on the entire Open Usage Commons episode.

What is the Open Usage Commons trying to do?

Heikki Nousiainen: The stated purpose of Google’s Open Usage Commons (OUC) is to provide a neutral and independent organization for open source projects to host and manage their trademarks. By applying open source software principles to trademarks, this will provide transparency and consistency. The idea is that this will lead to a more vibrant ecosystem for end users because vendors and developers can confidently build something that relies on projects’ brands. 

Although other foundations, such as the Cloud Native Computing Foundation (CNCF) and Apache Foundation, provide some direction on trademarks, OUC provides more precision and consistency in what constitutes fair use for vendors. This avoids what has generally been left to the individual projects to decide, which has resulted in a confusing patchwork of guidelines.

Additionally, it is likely an attempt by Google to avoid situations similar to what Amazon Web Services (AWS) has faced with Elasticsearch, e.g. where trademarks have appeared to be increasingly used to prevent exactly what Google is attempting to accomplish with this foundation, relatively open use of project brand identifiers by competing vendors.

What are the problems surrounding the Commons?

Heikki Nousiainen: The main controversy surrounds the question as to why Istio was not placed under CNCF governance as IBM was clearly expecting it to be placed under an Open Governance model once it matured.

However, Open Usage Commons does not touch the governance model at all. Google, of course, has incentive to be able to trust they can utilize the recognized brands and trademarks to help customers recognize the services built on top of these familiar technologies.

How will it impact the open source world, both positive and negative impacts?

Heikki Nousiainen: It will remain to be seen what the long-term impact will be due to the fact that the only member projects are currently driven by Google. Although controversial, it doesn’t seem like the fears that Google would be able to enact effective control over member projects will materialize.

A more telling question is, “Who will be likely to participate?” One thing is for sure, this will spark a long overdue discussion on how Open Source trademarks should be used when moving from software bundles to services offered in the cloud.

Does it sound like some big players will have control over the definition of ‘open source trademarks’? 

Heikki Nousiainen: Despite all the controversy over licensing, big players in this space have been and will remain key in securing the resources and support needed for the open source community to thrive.

Although there is some self-interest here, the creation of vehicles such as this do not necessarily constitute an attempt at imposing unjustified control over projects. As a community-driven software, all must work alongside one another to achieve success.

Personally, I think Google’s long term game plan is to protect its Google Cloud Platform from possible lawsuits over the use of popular source projects’ trademarks and branding.

What do you think of the entire Open Usage Commons episode?

How to Run Multiple Linux Commands at Once in Linux Terminal [Essential Beginners Tip]

Tuesday 15th of September 2020 06:58:11 AM

Running two or more commands in one line can save you a good deal of time and help you become more efficient and productive in Linux.

There are three ways you can run multiple commands in one line in Linux:

;Command 1 ; Command 2Run command 1 first and then command 2&&Command 1 && Command 2Run command 2 only if command 1 ends sucessfully||Command 1 || Command 2Run command 2 only if command 1 fails

Let me show you in detail how you can chain commands in Linux.

Using ; to run multiple Linux commands in one line

The simplest of them all is the semicolon (;). You just combine several commands that you want to run using ; in the following fashion:

cmd1; cmd2; cmd3

Here, cmd1 will run first. Irrespective of whether cmd1 runs successfully or with error, cmd2 will run after it. And when cmd2 command finishes, cmd3 will run.

Let’s take an example you can practice easily (if you want to).

mkdir new_dir; cd new_dir; pwd

In the above command, you first create a new directory named new_dir with mkdir command. Then you switch to this newly created directory using cd command. Lastly you print your current location with pwd command.

Running Multiple Commands Linux with ;

The space after semicolon (;) is optional but it makes the chain of commands easily readable.

Using && to run multiple Linux commands

Some times you want to ensure that the in the chain of Linux commands, the next command only runs when the previous command ends successfully. This is where the logical AND operator && comes into picture:

cmd1 && cmd2 && cmd3

If you use Ubuntu or Debian based distributions, you must have come across this command that utilizes && concept:

sudo apt update && sudo apt upgrade

Here the first command (sudo apt update) first refreshes the package database cache. If there is no error, it will then upgrade all the packages that have newer versions available.

Let’s take earlier example. If the new_dir already exists, mkdir command will return error. The difference in the behavior of ; and && can be see in the screenshot below:

Did you see how commands separated by && stopped when the first command resulted into error?

Using || to run several Linux commands at once

You can use the logical OR operator (||) to run a chain of commands but the next command only runs when the previous command ends in error. This is opposite to what you saw with &&.

cmd1 || cmd2 || cmd3

If cmd1 fails, cmd2 runs. If cmd2 runs successfully, cmd3 won’t run.

In the screenshot above, mkdir new_dir command fails because new_dir already exists. Since this command fails, the next command cd new_dir is executed successfully. And now that this command has run successfully, the next command pwd won’t run.

Bonus Tip: Combine && and || operators

You may combine the operators to run two or more Linux commands.

If you combine three commands with && and ||, it will behave as the ternary operator in C/C++ ( condition ? expression_true ; expression_false).

cmd1 && cmd2 || cmd3

For example, you can check if file exists in bash, and print messages accordingly.

[ -f file.txt ] && echo "File exists" || echo "File doesn't exist"

Run the above command before and after creating the file.txt file to see the difference:

Like copy-paste in Linux terminal, running multiple commands at once is also one of the many Linux command line tips for saving time. Though elementary, it is an essential concept any Linux terminal user should know.

You can also use ;, && and || to run multiple commands in bash scripts as well.

I hope you liked this terminal trick. Stay tuned for more Linux command tips and tools published every Tuesday under the #TerminalTuesday series.

KeePassXC is An Amazing Community Driven Open Source Password Manager [Not Cloud Based]

Monday 14th of September 2020 03:57:59 PM

Brief: KeePassXC is a useful open-source cross-platform password manager that doesn’t compromise on features even if it’s not a cloud-based tool. Here, we take a quick look at it.

KeePassXC: A Cross-Platform Open Source Password Manager

KeePassXC is a community fork of KeePassX which aims to be a cross-platform port for KeePass Password Safe (available for Windows). It is completely free to use and cross-platform as well (Windows, Linux, and macOS)

In fact, it is one of the best password managers for Linux out there. It features options for both newbies and power users who want advanced controls to secure their password database on their system.

Yes, unlike my favorite Bitwarden password manager, KeePassXC is not cloud-based and the passwords never leave the system. Some users do prefer to not save their passwords and secrets in cloud servers.

You should find all the essential features you will ever need on a password manager when you start using it. But, here, to give you a head start, I’ll highlight some features offered.

Features of KeePassXC

It is worth noting that the features might prove to be a little overwhelming for a newbie. But, considering that you want to make the most out of it, I think you should actually know what it offers:

  • Password Generator
  • Ability to import passwords from 1Password, KeePass 1, and any CSV files
  • Easily share databases by exporting and synchronizing with SSL certificate support
  • Database Encryption supported (256 bit AES)
  • Browser Integration Available (optional)
  • Ability to search for your credentials
  • Auto-type passwords into applications
  • Database reports to check password health and other stats
  • Supports exporting to CSV and HTML
  • 2-factor authentication token support
  • Attach files to passwords
  • YubiKey support
  • Command line option available
  • SSH Agent integration available
  • Change encryption algorithms if required
  • Ability to use DuckDuckGO to download the website icons
  • Database auto-lock timeout
  • Ability to clear the clipboard and the search query
  • Auto-file save
  • Folder/Nested Folder support
  • Set expiration of a credential
  • Dark theme available
  • Cross-platform support

As you can observe, it is a feature-rich password manager indeed. So, I’d advise you to properly explore it if you want to utilize every option present.

Installing KeePassXC on Linux

You should find it listed in your software center of the distribution you’ve installed.

You can also get the AppImage file from the official website. I’d suggest you to check out our guide on using AppImage files in Linux if you didn’t know already.

In either case, you will also find a snap available for it. In addition to that, you also get an Ubuntu PPA, Debian package, Fedora package, and Arch package.

If you’re curious, you can just explore the official download page for the available packages and check out their GitHub page for the source code as well.

Get KeePassXC Wrapping Up

If you’re not a fan of cloud-based open-source password managers like Bitwarden, KeePassXC should be an excellent choice for you.

The number of options that you get here lets you keep your password secure and easy to maintain across multiple platforms. Even though you don’t have an “official” mobile app from the developer team, you may try some of their recommended apps which are compatible with the database and offer the same functionalities.

Have you tried KeePassXC yet? What do you prefer using as your password manager? Let me know your thoughts in the comments below.

Linux Jargon Buster: What is a Long Term Support (LTS) Release? What is Ubuntu LTS?

Sunday 13th of September 2020 06:52:54 AM

In Linux world, specially when it comes to Ubuntu, you’ll come across the term LTS (long term support).

If you’re an experienced Linux user, you probably know the various aspects of a Linux distribution like an LTS release. But, new users or less tech-savvy users may not know about it.

In this chapter of Linux Jargon Buster, you’ll learn about what is an LTS release for Linux distributions.

What is a Long Term Support (LTS) Release?

Long-Term Support (LTS) release is normally associated with an application or an operating system for which you will get security, maintenance and (sometimes) feature updates for a longer duration of time.

The LTS versions are considered to be the most stable releases which undergoes extensive testing and mostly includes years of improvements along the way.

It is important to note that an LTS version of software does not necessarily involve feature updates unless there’s a newer LTS release. But, you will get the necessary bug fixes and security fixes in the updates of a Long Term Support version.

An LTS release is recommended for production-ready consumers, businesses, and enterprises because you get years of software support and no system-breaking changes with software updates.

If you notice a non-LTS release for any software, it is usually the bleeding-edge version of it with new features and a short span of support (say 6-9 months) when compared to 3-5 years of support on an LTS release.

To give you more clarity on LTS and non-LTS releases, let’s take a look at some pros and cons of choosing an LTS release.

Pros of LTS releases
  • Software updates with security and maintenance fixes for a long time (5 year support for Ubuntu).
  • Extensive testing
  • No system-breaking changes with software updates
  • You get plenty of time to prep your system for the next LTS release
Cons of LTS releases
  • Does not offer the latest and greatest features
  • You may miss out on the latest hardware support
  • You may also miss out on the latest application upgrades

Now, that you know what is an LTS release and its pros and cons it’s time to know about Ubuntu’s LTS release. Ubuntu is one of the most popular Linux distribution and one of the few distributions that has both LTS and non-LTS releases.

This is why I decided to dedicate an entire section to it.

What is Ubuntu LTS?

Ubuntu has a non-LTS release every six months and a LTS release every 2 years since 2006 and that’s not going to change.

The latest LTS release is — Ubuntu 20.04 and it will be supported until April 2025. In other words, Ubuntu 20.04 will receive software updates till then. The non-LTS releases are supported for nine months only.

You will always find an Ubuntu LTS release to be labelled as “LTS“. At least, when it comes to the official Ubuntu website to explore the latest Ubuntu releases.

To give you some clarity, if you notice Ubuntu 16.04 LTS, that means — it was released back in April 2016 and is supported until 2021 (considering 5 years of software updates).

Similarly, you can guess the update support for each Ubuntu LTS release by considering the next 5 years of its release date for software support.

Ubuntu LTS software updates: What does it include?

Ubuntu LTS versions receive security and maintenance updates for the lifecycle of their release. Unless the release reaches the End of Life, you will get all the necessary security and bug fixes.

You will not notice any functional upgrades in an LTS release. So, if you want to try the latest experimental technologies, you may want to upgrade your Ubuntu release to a non-LTS release.

I’d suggest you to refer our latest Ubuntu upgrade guide to know more about upgrading Ubuntu.

I would also recommend you to read our article on which Ubuntu version to install to clear your confusion on different Ubuntu flavours available like Xubuntu or Kubuntu and how are they different.

I hope you have a better understanding of the term LTS now specially when it comes to Ubuntu LTS. Stay tuned for more Linux jargon explainers in the future.

Shutdown Taking Too Long? Here’s How to Investigate and Fix Long Shutdown Time in Linux

Friday 11th of September 2020 07:40:17 AM

Your Linux system is taking too long to shut down? Here are the steps you can take to find out what is causing the delayed shutdown and fix the issue.

I hope you are a tad bit familiar with the sigterm and sigkill concept.

When you shut down your Linux system, it sends the sigterm and politely asks the running processes to stop. Some processes misbehave and they ignore the sigterm and keep on running.

This could cause a delay to the shutdown process as your system will wait for the running processes to stop for a predefined time period. After this time period, it sends the kill signal to force stop all the remaining running processes and shuts down the system. I recommend reading about sigterm vs sigkill to understand the difference.

In fact, in some cases, you would see a message like ‘a stop job is running’ on the black screen.

If your system is taking too long in shutting down, you can do the following:

  • Check which process/service is taking too long and if you can remove or reconfigure it to behave properly.
  • Change the default waiting period before your system force stops the running processes. [Quick and dirty fix]

I am using Ubuntu here which uses systemd. The commands and steps here are valid for any Linux distribution that uses systemd (most of them do).

Check which processes are causing long shutdown in Linux

If you want to figure out what’s wrong, you should check what happened at the last shutdown. Use this command to get the power of ‘I know what you did last session’ (pun intended):

journalctl -rb -1

The journalctl command allows you to read system logs. With options ‘-b -1’ you filter the logs for the last boot session. With option ‘-r’, the logs are shown in reverse chronological order.

In other words, the ‘journalctl -rb -1’ command will show the system logs just before your Linux system was shutdown the last time. This is what you need to analyze the long shutdown problem in Linux.

No journal logs? Here’s what you should do

If there are no journal logs, please make sure that your distribution uses systemd.

Even on some Linux distributions with systemd, the journal logs are not activated by default.

Make sure that /var/log/journal exists. If it doesn’t, create it:

sudo mkdir /var/log/journal

You should also check the content of /etc/systemd/journald.conf file and make sure that the value of Storage is set to either auto or persistent.

Do you find something suspicious in the logs? Is there a process/service refusing to stop? If yes, investigate if you could remove it without side effects or if you could reconfigure it. Don’t go blindly removing stuff here, please. You should have knowledge of the process.

Speed up shutdown in Linux by reducing default stop timeout [Quick fix]

The default wait period for the shut down is usually set at 90 seconds. Your system tries to force stop the services after this time period.

If you want your Linux system to shut down quickly, you can change this waiting period.

You’ll find all the systemd settings in the config file located at /etc/systemd/system.conf. This file should be filled with lots of line starting with #. They represent the default values of the entries in the file.

Before you do anything, it will be a good idea to make a copy of the original file.

sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.orig

Look for DefaultTimeoutStopSec here. It should probably be set to 90 sec.


You have to change this value to something more convenient like 5 or 10 seconds.


If you don’t know how to edit the config file in terminal, use this command to open the file for editing in your system’s default text editor (like Gedit):

sudo xdg-open /etc/systemd/system.conf Change Shutdown Time Settings Ubuntu

Don’t forget to remove the # before DefaultTimeoutStopSec. Save the file and reboot your system.

This should help you reduce the shutdown delay for your Linux system.

Watchdog issue!

Linux has a module named watchdog that is used for monitoring whether certain services are running or not. It could be configured to automatically reboot systems if they are hanged due to software error.

It is unusual to use Watchdog on desktop systems because you can manually shutdown or reboot the system. It is often used on remote servers.

First check watchdog is running:

ps -af | grep watch*

If watchdog is running on your system, you can change the ShutdownWatchdogSec value from 10 minutes to something lower in the systemd config file /etc/systemd/system.conf.

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

Recommended Read:

.ugb-6ab8d55 .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-6ab8d55 .ugb-blog-posts__title a{color:#000000 !important}.ugb-6ab8d55 .ugb-blog-posts__title a:hover{color:#00b6ba !important}Find Out How Long Does it Take To Boot Your Linux System

How long does your Linux system takes to boot? Here’s how to find it out with systemd-analyze command.

Were you able to fix the lengthy shutdown?

I hope this tutorial helped you in investigating and fixing the long shutdown issue on your system. Do let me know in the comments if you managed to fix it.

The New YubiKey 5C NFC Security Key Lets You Use NFC to Easily Authenticate Your Secure Devices

Thursday 10th of September 2020 07:24:42 AM

If you are extra cautious about securing your online accounts with the best possible authentication method, you probably know about Yubico. They make hardware authentication security keys to replace two-factor authentication and get rid of the password authentication system for your online accounts.

Basically, you just plug the security key on your computer or use the NFC on your smartphone to unlock access to accounts. In this way, your authentication method stays completely offline.

Of course, you can always use a good password manager for Linux available out there. But if you own or work for a business or just extra cautious about your privacy and security and want to add an extra layer of security, these hardware security keys could be worth a try. These devices have gained some popularity lately.

Yubico’s latest product – ‘YubiKey 5C NFC‘ is probably something impressive because it can be used both as USB type C key and NFC (just touch your device with the key).

Here, let’s take a look at an overview of this security key.

Please note that It’s FOSS is an affiliate partner of Yubico. Please read our affiliate policy.

Yubico 5C NFC: Overview

YubiKey 5C NFC is the latest offering that uses both USB-C and NFC. So, you can easily plug it in on Windows, macOS, and Linux computers. In addition to the computers, you can also use it with your Android or iOS smartphones or tablets.

Not just limited to USB-C and NFC support (which is a great thing), it also happens to be the world’s first multi-protocol security key with smart card support as well.

Hardware security keys aren’t that common because of their cost for an average consumer. But, amidst the pandemic, with the rise of remote work, a safer authentication system will definitely come in handy.

Here’s what Yubico mentioned in their press release:

“The way that people work and go online is vastly different today than it was a few years ago, and especially within the last several months. Users are no longer tied to just one device or service, nor do they want to be. That’s why the YubiKey 5C NFC is one of our most sought-after security keys — it’s compatible with a majority of modern-day computers and mobile phones and works well across a range of legacy and modern applications. At the end of the day, our customers crave security that ‘just works’ no matter what.”  said Guido Appenzeller, Chief Product Officer, Yubico.

The protocols that YubiKey 5C NFC supports are FIDO2, WebAuthn, FIDO U2F, PIV (smart card), OATH-HOTP and OATH-TOTP (hash-based and time-based one-time passwords), OpenPGP, YubiOTP, and challenge-response.

Considering all those protocols, you can easily secure any online account that supports hardware authentication while also having the ability to access identity access management (IAM) solutions. So, it’s a great option for both individual users and enterprises.

Pricing & Availability

The YubiKey 5C NFC costs $55. You can order it directly from their online store or get it from any authorized resellers in your country. The cost might also vary depending on the shipping charges but $55 seems to be a sweet spot for serious users who want the best-level of security for their online accounts.

It’s also worth noting that you get volume discounts if you order more than two YubiKeys.

Order YubiKey 5C NFC Wrapping Up

No matter whether you want to secure your cloud storage account or any other online account, Yubico’s latest offering is something that’s worth taking a look at if you don’t mind spending some money to secure your data.

Have you ever used YubiKey or some other secure key like LibremKey etc? How is your experience with it? Do you think these devices are worth spending the extra money?

How to Connect to WiFi from the Terminal in Ubuntu Linux

Tuesday 8th of September 2020 03:04:31 PM

In this tutorial, you’ll learn how to connect to wireless network from the terminal in Ubuntu. This is particularly helpful if you are using Ubuntu server where you don’t have access to the regular desktop environment.

I primarily use desktop Linux on my home computers. I also have multiple Linux servers for hosting It’s FOSS and related websites and open source software like Nextcloud, Discourse, Ghost, Rocket Chat etc.

I use Linode for quickly deploying Linux servers in cloud in minutes. But recently, I installed Ubuntu server on my Raspberry Pi. This is the first time I installed a server on a physical device and I had to do extra stuff to connect Ubuntu server to WiFi via command line.

In this tutorial, I’ll show the steps to connect to WiFi using terminal in Ubuntu Linux. You should

  • not be afraid of using terminal to edit files
  • know the wifi access point name (SSID) and the password
Connect to WiFi from terminal in Ubuntu

It is easy when you are using Ubuntu desktop because you have the GUI to easily do that. It’s not the same when you are using Ubuntu server and restricted to the command line.

Ubuntu uses Netplan utility for easily configuring networking. In Netplan, you create YAML file with the description of network interface and with the help of the netplan command line tool, you generate all the required configuration.

Let’s see how to connect to wireless networking from the terminal using Netplan.

Step 1: Identify your wireless network interface name

There are several ways to identify your network interface name. You can use the ip command, the deprecated ipconfig command or check this file:

ls /sys/class/net

This should give you all the available networking interface (Ethernet, wifi and loopback). The wireless network interface name starts with ‘w’ and it is usually named similar to wlanX, wlpxyz.

abhishek@itsfoss:~$ ls /sys/class/net eth0 lo wlan0

Take a note of this interface name. You’ll use it in the next step.

Step 2: Edit the Netplan configuration file with the wifi interface details

The Netplan configuration file resides in /etc/netplan directory. If you check the contents of this directory, you should see files like 01-network-manager-all.yml or 50-cloud-init.yaml.

If it is Ubuntu server, you should have cloud-init file. For desktops, it should be network-manager file.

The Network Manager on the Linux desktop allows you to choose a wireless network. You may hard code the wifi access point in its configuration. This could help you in some cases (like suspend) where connection drops automatically.

Whichever file it is, open it for editing. I hope you are a tad bit familiar with Nano editor because Ubuntu comes pre-installed with it.

sudo nano /etc/netplan/50-cloud-init.yaml

YAML files are very sensitive about spaces, indention and alignment. Don’t use tabs, use 4 (or 2, whichever is already used in the YAML file) spaces instead where you see an indention.

Basically, you’ll have to add the following lines with the access point name (SSID) and its password (usually) in quotes:

wifis: wlan0: dhcp4: true optional: true access-points: "SSID_name": password: "WiFi_password"

Again, keep the alignment as I have shown or else YAML file won’t be parsed and it will throw an error.

Your complete configuration file may look like this:

# This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: ethernets: eth0: dhcp4: true optional: true version: 2 wifis: wlan0: dhcp4: true optional: true access-points: "SSID_name": password: "WiFi_password"

I find it strange that despite the message that changes will not persist across an instance reboot, it still works.

Anyway, generate the configuration using this command:

sudo netplan generate

And now apply this:

sudo netplan apply

If you are lucky, you should have network connected. Try to ping a website or run apt update command.

However, things may not go as smooth and you may see some errors. Try some extra steps if that’s the case.

Possible troubleshooting

It is possible that when you use the netplan apply command, you see an error in the output that reads something like this:

Failed to start netplan-wpa-wlan0.service: Unit netplan-wpa-wlan0.service not found. Traceback (most recent call last): File "/usr/sbin/netplan", line 23, in <module> netplan.main() File "/usr/share/netplan/netplan/cli/", line 50, in main self.run_command() File "/usr/share/netplan/netplan/cli/", line 179, in run_command self.func() File "/usr/share/netplan/netplan/cli/commands/", line 46, in run self.run_command() File "/usr/share/netplan/netplan/cli/", line 179, in run_command self.func() File "/usr/share/netplan/netplan/cli/commands/", line 173, in command_apply utils.systemctl_networkd('start', sync=sync, extra_services=netplan_wpa) File "/usr/share/netplan/netplan/cli/", line 86, in systemctl_networkd subprocess.check_call(command) File "/usr/lib/python3.8/", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'systemd-networkd.service', 'netplan-wpa-wlan0.service']' returned non-zero exit status 5.

It is possible that wpa_supplicant service is not running. Run this command:

sudo systemctl start wpa_supplicant

Run netplan apply once again. If it fixes the issue well and good. Otherwise, shutdown your Ubuntu system using:

shutdown now

Start your Ubuntu system again, log in and generate and apply netplan once again:

sudo netplan generate sudo netplan apply

It may show warning (instead of error) now. It is warning and not an error. I checked the running systemd services and found that netplan-wpa-wlan0.service was already running. Probably it showed the warning because it was already running and ‘netplan apply’ updated the config file (even without any changes).

Warning: The unit file, source configuration file or drop-ins of netplan-wpa-wlan0.service changed on disk. Run 'systemctl daemon-reload' to reload units.

It is not crtical and you may check that the internet is probably working already by running apt update.

I hope you were able to connect to wifi using the command line in Ubuntu with the help of this tutorial. If you are still facing trouble with it, do let me know in the comment section.

How to Install Ubuntu Server on a Raspberry Pi

Tuesday 8th of September 2020 06:12:42 AM

The Raspberry Pi is the best-known single-board computer. Initially, the scope of the Raspberry Pi project was targeted to the promotion of teaching of basic computer science in schools and in developing countries.

Its low cost, portability and very low power consumption, made the models far more popular than anticipated. From weather station to home automation, tinkerers built so many cool projects using Raspberry Pi.

The 4th generation of the Raspberry Pi, is equipped with features and processing power of a regular desktop computer. But this article is not about using RPi as desktop. Instead, I’ll show you how to install Ubuntu server on Raspberry Pi.

In this tutorial I will use a Raspberry Pi 4 and I will cover the following:

  • Installing Ubuntu Server on a microSD card
  • Setting up a wireless network connection on the Raspberry Pi
  • Accessing your Raspberry Pi via SSH

You’ll need the following things for this tutorial:

  • A micro SD card (8 GB or greater recommended)
  • A computer (running Linux, Windows or macOS) with a micro SD card reader
  • A Raspberry Pi 2, 3 or 4
  • Good internet connection
  • An HDMI cable for the Pi 2 & 3 and a micro HDMI cable for the Pi 4 (optional)
  • A USB keyboard set (optional)
Installing Ubuntu Server on a Raspberry Pi

I have used Ubuntu for creating Raspberry Pi SD card in this tutorial but you may follow it on other Linux distributions, macOS and Windows as well. This is because the steps for preparing the SD card is the same with Raspberry Pi Imager tool.

The Raspberry Pi Imager tool downloads the image of your choice of Raspberry Pi OS automatically. This means that you need a good internet connection for downloading data around 1 GB.

Step 1: Prepare the SD Card with Raspberry Pi Imager

Make sure you have inserted the microSD card into your computer, and install the Raspberry Pi Imager at your computer.

You can download the Imager tool for your operating system from these links:

Despite I use Ubuntu, I won’t use the Debian package that is listed above, but I will install the snap package using the command line. This method can be applied to wider range of Linux distributions.

sudo snap install rpi-imager

Once you have installed Raspberry Pi Imager tool, find and open it and click on the “CHOOSE OS” menu.

Scroll across the menu and click on “Ubuntu” (Core and Server Images).

From the available images, I choose the Ubuntu 20.04 LTS 64 bit. If you have a Raspberry Pi 2, you are limited to the 32bit image.

Important Note: If you use the latest Raspberry Pi 4 – 8 GB RAM model, you should choose the 64bit OS, otherwise you will be able to use 4 GB RAM only.

Select your microSD card from the “SD Card” menu, and click on “WRITE”after.

If it shows some error, try writing it again. It will now download the Ubuntu server image and write it to the micro SD card.

It will notify you when the process is completed.

Step 2: Add WiFi support to Ubuntu server

Once the micro SD card flashing is done, you are almost ready to use it. There is one thng that you may want to do before using it and that is to add Wi-Fi support. If you don’t do it right now, you’ll have to put extra effort later in connecting to wifi from terminal in Ubuntu server.

With the SD card still inserted in the card reader, open the file manager and locate the “system-boot” partition on the card.

The file that you are looking for and need to edit is named network-config.

This process can be done on Windows and MacOS too. Edit the network-config file as already mentioned to add your Wi-Fi credentials.

Firstly, uncomment (remove the hashtag “#” at the beginning) from lines that are included in the rectangular box.

After that, replace myhomewifi with your Wi-Fi network name enclosed in quotation marks, such as “itsfoss” and the “S3kr1t” with the Wi-Fi password enclosed in quotation marks, such as “12345679”.

It may look like this:

wifis: wlan0: dhcp4: true optional: true access-points: "your wifi name": password: "your_wifi_password"

Save the file and insert the micro SD card into your Raspberry Pi. During the first boot, if your Raspberry Pi fails connect to the Wi-Fi network, simply reboot your device.

Step 3: Use Ubuntu server on Raspberry Pi (if you have dedicated monitor, keyboard and mouse for Raspberry Pi)

If you have got an additional set of mouse, keyboard and a monitor for the Raspberry Pi, you can use easily use it like any other computer (but without GUI).

Simply insert the micro SD card to the Raspberry Pi, plug in the monitor, keyboard and mouse. Now turn on your Raspberry Pi. It will present TTY login screen (black terminal screen) and aks for username and password.

  • Default username: ubuntu
  • Default password: ubuntu

When prompted, use “ubuntu” for the password. Right after a successful login, Ubuntu will ask you to change the default password.

Enjoy your Ubuntu Server!

Step 3: Connect remotely to your Raspberry Pi via SSH (if you don’t have monitor, keyboard and mouse for Raspberry Pi)

It is okay if you don’t have a dedicated monitor to be used with Raspberry Pi. Who needs a monitor with a server when you can just SSH into it and use it the way you want?

On Ubuntu and Mac OS, an SSH client is usually already installed. To connect remotely to your Raspberry Pi, you need to discover its IP address. Check the devices connected to your network and see which one is the Raspberry Pi.

Since I don’t have access to a Windows machine, you can access a comprehensive guide provided by Microsoft.

Open a terminal and run the following command:

ssh ubuntu@raspberry_pi_ip_address

You will be asked to confirm the connection with the message:

Are you sure you want to continue connecting (yes/no/[fingerprint])?

Type “yes” and click the enter key.

When prompted, use “ubuntu” for the password as mentioned earlier. You’ll be asked to change the password of course.

Once done, you will be automatically logged out and you have to reconnect, using your new password.

Your Ubuntu server is up and running on a Raspberry Pi!


Installing Ubuntu Server on a Raspberry Pi is an easy process and it comes pre-configured at a great degree which the use a pleasant experience.

I have to say that among all the operating systems that I tried on my Raspberry Pi, Ubuntu Server was the easiest to install. I am not exaggerating. Check my guide on installing Arch Linux on Raspberry Pi for reference.

I hope this guide helped you in installing Ubuntu server on your Raspberry Pi as well. If you have questions or suggestions, please let me know in the comment section.

Zim: A Wiki-Like Note-taking App That Makes Things Easier

Monday 7th of September 2020 02:57:28 PM

Brief: Zim is an impressive note taking app for users who want a wiki-style collection of their notes, tasks, or ideas. Here, we take a look at what it offers.

Zim: A Desktop Wiki

Zim is undoubtedly one of the best note-taking apps for Linux but it’s not just another ordinary note app that lets you add ideas/tasks and save them.

It’s tailored to help you maintain a collection of notes in the form of wiki pages. In other words, you can have a lot of notes (tasks/ideas) and link them to each other that will make it easier to go through what you’ve added in the past.

Here, I’ll give an overview of the features you get with Zim and how to get it installed on Linux.

Features of Zim Wiki

You’ll find a lot of options as you explore, I’ll highlight the key features here:

  • Supports adding tasks
  • You can use it as a journal
  • Easy to keep archive of notes
  • Several Markup types supported
  • Auto-save
  • Easily compatible with other text editors
  • Ability to link other notes to navigate through a collection of pages
  • Ability to open embedded images using native applications
  • Supports embedded equations
  • LaTeX’s equation editor
  • Export notes as HTML to publish them as webpages
  • Easily edit the config files to tweak the color scheme of your editor
  • Keybind support to navigate just using the keyboard
  • Supports plugins to add spell checker and other useful tools
  • Basic formatting support for essential things like subscript, superscript, and so on
  • Ability to save different versions of notes (version control system)
  • Easy to utilize/create templates for quick-use
  • Cross-platform support

The feature-set is definitely impressive and somewhat overwhelming for basic note-taking usage. But, depending on your usage, you should give it a try to make the most out of it.

Installing Zim On Linux

You should find it listed on your software center or app center of your Linux distribution. Just search for it and get it installed.

There is also a Zim Wiki flatpak package iavailable. I’d recommend you to check out our article on using Flatpak on Linux if you don’t know about it.

You should also find it on other repositories like AUR. Also, you can find the source code on GitHub, if you’re curious.

Zim Wiki Wrapping Up

Zim Wiki is definitely a great note-taking app for Linux. You can also use it on your Windows or mac OS system. So, you can have your collection of notes/ideas anywhere you want.

Unlike some other note-taking applications, you won’t find a mobile client for it as far as I’m aware.

Overall, it’s an interesting choice for power users with a lot of notes and ideas to keep track of. What do you think about it? Let me know your thoughts in the comments below.

Linux Jargon Buster: What is a Linux Distribution? Why is it Called a ‘Distribution’?

Sunday 6th of September 2020 06:46:37 AM

In this chapter of the Linux Jargon Buster, let’s discuss something elementary.

Let’s discuss what is a Linux distribution, why it is called a distribution (or distro) and how is it different from the Linux kernel. You’ll also learn a thing or two about why some people insist of calling Linux as GNU/Linux.

What is a Linux distribution?

A Linux distribution is an operating system composed of the Linux kernel, GNU tools, additional software and a package manager. It may also include display server and desktop environment to be used as regular desktop operating system.

The term is Linux distribution (or distro in short form) because an entity like Debian or Ubuntu ‘distributes’ the Linux kernel along with all the necessary software and utilities (like network manager, package manager, desktop environments etc) so that it can be used as an operating system.

Your distributions also takes the responsibility of providing updates to maintain the kernel and other utilities.

So, Linux is the kernel whereas the Linux distribution is the operating system. This is the reason why they are also sometime referred as Linux-based operating systems.

Don’t worry if not all the above makes sense right away. I’ll explain it in a bit more detail.

Linux is just a kernel, not an operating system: What does it mean?

You might have come across that phrase and that’s entirely correct. The kernel is at the core of an operating system and it is close to the actual hardware. You interact with it using the applications and shell.

Linux Kernel Structure

To understand that, I’ll use the same analogy that I had used in my detailed guide on what is Linux. Think of operating systems as vehicles and kernel as engine. You cannot drive an engine directly. Similarly, you cannot use kernel directly.

Operating System Analogy

A Linux distribution can be seen as a vehicle manufacturer like Toyota or Ford that provides you ready to use cars just like Ubuntu or Fedora distributions provide you a ready to use operating systems based on Linux.

What is GNU/Linux?

Take a look at this picture once again. What Linus Torvalds created in 1991 is just the innermost circle, i.e. the Linux kernel.

Linux Kernel Structure

To use Linux even in the most primitive form (without even a GUI), you need a shell. Most commonly, it is Bash shell.

And then, you need to run some commands in the shell to do some work. Can you recall some basic Linux commands? There is cat, cp, mv, grep find, diff, gzip and more.

Technically, not all of these so called ‘Linux commands’ belong to Linux exclusively. A lot of them originate mainly from the UNIX operating system.

Even before Linux came into existence, Richard Stallman had created the GNU (recursive acronym for GNU is not Unix) project, the first of the free software project, in 1983. The GNU project implemented many of the popular Unix utilities like cat, grep, awk, shell (bash) along with developing their own compilers (GCC) and editors (Emacs).

Back in the 80s UNIX was proprietary and super expensive. This is why Linus Torvalds developed a new kernel that was like UNIX. To interact with the Linux kernel, Torvalds used GNU tools which were available for free under their open source GPL license.

With the GNU tools, it also behaved like UNIX. This is the reason why Linux is also termed as UNIX-like operating system.

You cannot imagine Linux without the shell and all those commands. Since Linux integrates deeply with the GNU tools, almost dependent on it, the purists demand that GNU should get its fair share of recognition and this is why they insist on calling it GNU Linux (written as GNU/Linux).


So, what is the correct term? Linux, GNU/Linux, Linux distribution, Linux distro, Linux based operating system or UNIX-like operating system? I say it depends on you and the context. I have provided you enough detail so that you have a better understanding of these related terms.

I hope you are liking this Linux Jargon Buster series and learning new things. Your feedback and suggestions are welcome.

PCLinuxOS Review: This Classic Independent Linux Distribution is Definitely Worth a Look

Saturday 5th of September 2020 04:22:04 AM

Most of the Linux distributions that we cover on It’s FOSS are based on either Ubuntu or Arch.

No, we don’t have any affinity for either Ubuntu or Arch though personally, I love using Manjaro. It’s just that majority of new Linux distributions are based on these two.

While discussing within the team, we thought, why fixate over new distributions. Why not go for the classic distributions? Distributions that don’t belong to DEB/Arch domain.

So, today, we are going to be looking at an independent distro that tends to go against the flow. We’ll be looking at PCLinuxOS.

What is PCLinuxOS?

Back in 2000, Bill Reynolds (also known as Texstar) created a series of packages to improve Mandrake Linux, which later became Mandriva Linux. PCLinuxOS first became a separate distro in 2003 when Texstar forked Mandrake. He said that he made the move because he wanted “to provide an outlet for my crazy desire to package source code without having to deal with egos, arrogance and politics”.

As I said earlier, PCLinuxOS does not follow the rest of the Linux world. PCLinuxOS does not use systemd. Instead, it uses SysV init and “will continue to do so for the foreseeable future“.

It also has one of the oddest package management systems, I have ever encountered. PCLinuxOS uses apt and synaptic to handle RPM packages. Unlike most distros that use either apt or rpm, PCLinuxOS is a rolling distro. It also supports Flatpak.

The PCLinuxOS team offers three different versions: KDE, MATE, and XFCE. The PCLinuxOS community has also created a number of community releases with more desktop options.

PCLinuxOS Updater System requirements for PCLinuxOS

According to the PCLinuxOS wiki, the following hardware is recommended to run PCLinuxOS:

  • Modern Intel or AMD processor.
  • 10 GB or more free space recommended.
  • Minimum 2 GB of memory. – Recommended 4 GB or more.
  • Any modern video card by Nvidia, ATI, Intel, SiS, Matrox, or VIA.
  • 3D desktop support requires a 3D instructions set compatible card.
  • Any Sound Blaster, AC97, or HDA compatible card.
  • A CD or DVD drive.
  • Flash drives can also be used to install, with PCLinuxOS-LiveUSB script just for this purpose.
  • Generally any onboard network card will suffice.
  • A high-speed internet connection is recommended for performing any updates/software installations as necessary.
Experience with PCLinuxOS

I originally encountered PCLinuxOS when I was first entering the Linux world about 7+ years ago. Back then I was trying out distros like crazy. At the time, I didn’t quite understand it and ended up going with Lubuntu.

Recently, I was reminded of the distro when Matt Hartley, community manager at OpenShot mentioned it on the Bryan Lunduke podcast. PCLinuxOS is Hartley’s daily driver and has been for a while. Based on his comments, I decided to take another look at it.

Smooth installation PCLinuxOS installer

The majority of Linux distros use one of three installers, Ubiquity, Anaconda, or Calamares. PCLinuxOS is one of the few that has its own installer, which it inherited from Mandrake. The installation went quickly and without any issue.

After the installation, I booted into the MATE desktop environment (because I had to). A dialog box asked me if I wanted to enable the update notifier. It’s always best to be up-to-date, so I did.

Handy set of utilities

Besides the usual list of utilities, office programs, and web tools, PCLinuxOS has a couple of interesting additions. Both Zoom (a videoconferencing tool) and AnyDesk (a remote desktop application) come pre-installed for your remote working needs. The menu also includes an option to install VirtualBox GuestAdditions (in case you installed PCLinuxOS on VirtualBox).

PCLinuxOS Control Center

PCLinuxOS comes with a control center to handle all of your system admin needs. It covers installing software, file sharing, handles network connections, handles hardware issues, and security.

Create your own custom PCLinuxOS live disk

It also comes with a couple of apps that allow you to download a new PCLinuxOS ISO, write that ISO to a disc or USB, or create your own LiveCD based on your current system.

It is easy to create your own custom PCLinuxOS ISO No sudo in PCLinuxOS

Interestingly, PCLinuxOS doesn’t have sudo installed. According to the FAQ, “Some distros…leaving sudo in a default state where all administrator functions are allowed without the requirement to enter the root password. We consider this an unacceptable security risk.” Whenever you perform a task that requires admin privileges, a window appears asking for your password.

Strong community

One of the cool things about PCLinuxOS is its strong community. That community creates a monthly e-magazine. Each issue contains news, tutorials, puzzles, and even recipes. The only other distro (or family of distros) that has sustained a community publication for over 15 years is Ubuntu with the Full Circle Magazine. Be sure to check it out.

No hardware issues noticed (for my system)

This is one of the last distros I will review on my Dell Latitude D630. (I’m moving up to a newer Thinkpad.) One of the major problems I’ve had in the past was getting the Nvidia GPU to work correctly. I didn’t have any issues with PCLinuxOS. It just worked out of the box.

Final Thoughts PCLinuxOS Desktop

PCLinuxOS also provides an easy way to remaster the system after installation. It allows you to create a live disk of PCLinuxOS with your customization. I

PCLinuxOS feels like part of the past and part of the present. It reflects the pre-systemd days and offers a modern desktop and apps at the same time. The only thing I would complain about is that there are fewer applications available in the repos than more popular distros, but the availability of Flatpak and AppImages should fix that.

PCLinuxOS’ tag line is: “So cool ice cubes are jealous“. It might sound corny, but I think it’s true, especially if you aren’t a fan of the direction the rest of the Linux world has taken. If you find something lacking in the big Linux distros, check out this old-little distro with a great community.

Have you ever used PCLinuxOS? What is your favorite independent distro? 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.

How to Copy Paste in Linux Terminal [For Absolute Beginners]

Friday 4th of September 2020 06:57:31 AM

I have been using Linux for a decade now and this is why sometimes I take things for granted.

Copy pasting in the Linux terminal is one of such things.

I thought everyone already knew this until one of the It’s FOSS readers asked me this question. I gave the following suggestion to the Ubuntu user:

Use Ctrl+Insert or Ctrl+Shift+C for copying and Shift+Insert or Ctrl+Shift+V for pasting text in the terminal in Ubuntu. Right click and selecting the copy/paste option from the context menu is also an option.

I thought of elaborating on this topic specially when there is no single universal way of copy and paste in the Linux terminal.

How to copy paste text and commands in the Linux terminal

There are several ways to do this.

Method 1: Using keyboard shortcuts for copy pasting in the terminal

On Ubuntu and many other Linux distributions, you can use Ctrl+Insert or Ctrl+shift+C for copying text and Shift+Insert or Ctrl+shift+V for pasting text in the terminal.

The copy pasting also works for the external sources. If you copy a command example from It’s FOSS website (using the generic Ctrl+C keys), you can paste this command into the terminal using the Ctrl+Shift+V into the terminal.

Similarly, you can use Ctrl+shift+C to copy text from the terminal and then use it to paste in a text editor or web browser using the regular Ctrl+V shortcut.

Basically, when you are interacting with the Linux terminal, you use the Ctrl+Shift+C/V for copy-pasting.

Method 2: Using right click context menu for copy pasting in the terminal

Another way of copying and pasting in the terminal is by using the right click context menu.

Select the text in the terminal, right click and select Copy. Similarly, to paste the selected text, right click and select Paste.

Method 3: Using mouse to copy paste in Linux terminal

Another way to copy paste in Linux terminal is by using only the mouse.

You can select the text you want to copy and then press the middle mouse button (scrolling wheel) to paste the copied text.

Please keep in mind that these methods may not work in all the Linux distributions for a specific reason that I explain in the next section.

There is no universal key shortcuts for copy paste in the Linux terminal. Here’s why!

The keybindings for copy-pasting are dependent on the terminal emulator (commonly known as terminal) you are using.

If you didn’t know that already terminal is just an application and you can install other terminals like Guake or Terminator.

Different terminal applications may have their own keybindings for copying and pasting like Alt+C/V or Ctrl+Alt+C/V.

Most Linux terminals use the Ctrl+Shift+C/V keys but if it doesn’t work for you, you may try other key combinations or configure the keys from the preferences of the terminal emulator.

Quick word about Putty

If you use Putty on Linux or Windows, it uses an entire different keybindings. In Putty, selecting a text automatically copies it and you can paste it using right click.

Why Linux terminals do not use the ‘universal’ Ctrl+C and Ctrl+V for

No Linux terminal will give you Ctrl+C for copying the text. This is because by default Ctrl+C keybinding is used for sending an interrupt signal to the command running in foreground. This usually stops the running command.

Using Ctrl+C stops a running command in Linux terminal

This behavior has been existing long before Ctrl+C and Ctrl+V started being used for copy-pasting text.

Since the Ctrl+C keys are ‘reserved’ for stopping a command, it cannot be used for copying.

Used Ctrl+S and hanged the terminal?

Most of us use Ctrl+S keys to save changes made to text, images etc. This key is almost universal for saving same as Ctrl+C is for copying.
However, if you enter Ctrl+S in Linux terminal, it will freeze the terminal. No need to close the terminal and start it again. You can use Ctrl+Q to unfreeze the terminal.
Ctrl+S and Ctrl+Q are shortcut keys for flow control.

I know this is elementary for the Sherlock Holmes of the Linux world but it could still be useful to the Watsons.

New or not, you may always use shortcuts in Linux terminal to make your life easier.

TUXEDO Computers Announces 2 Monstrous Linux Gaming Laptops

Thursday 3rd of September 2020 11:48:24 AM

TUXEDO Computers is one of the best places to get a Linux laptop. They’re also a great option if you’re looking for one of the best Linux based mini PCs.

And, recently, they just unveiled two monstrous Linux laptops perfectly tailored for games. Here, let’s take a look at what they offer.

TUXEDO Polaris 15 & Polaris 17 Pack in A Lot of Power

The Polaris 15 comes in with a Matt black aluminum chassis and a thin bezel for the display. It looks pretty cool (I love Matt color finishes!).

The Polaris 17 comes in with a soft-touch finish and a little on the heavier side weighing 2.5 kg. The 17.3-inch screens should be an attractive variant for users comfortable with a desktop-like experience on their laptop.

With all the clever decisions for its design and build, it offers the choice of both Ryzen 4000 series of processors (Ryzen 5 4600H and Ryzen 7 4800H) and Intel 10th gen processor (i7-10750H).

That’s great for buyers looking for powerful Linux notebooks with the choice of Intel/Ryzen configuration.

In addition to the choice of chipsets, both laptops comes baked in with 62 Wh battery for a good battery life, a 144Hz display, supports up to 64 GB 3200 MHz RAM, M.2 SSD, and a slot for PCIe NVMe SSD (up to 1 TB).

All of this is powered up by either GTX 1650ti or the RTX 2060 — which is great for a Linux laptop enthusiast.

It is worth noting that the Polaris 15 offers 60 Hz display for its base variant and Polaris 17 offers 144 Hz display across all of its variants.

Sounds good on paper so far — but what about the pricing?

Pricing & Availability

The base configurations with Ryzen 5/Intel i7 coupled with 8 GB of RAM along with GTX 1650ti or RTX 2060 will cost you around 1100-1400 Euros excluding shipping charges.

If you stop thinking about the shipping charges, the pricing looks good enough on paper as per the specifications for a Linux gamer who’s a laptop enthusiast.

But, I’m not too confident about their pricing for the base configurations and the choice of 8 GB RAM for a gaming laptop that costs 1000+ EUR. For instance:

  • TUXEDO Polaris 17 with AMD Ryzen 5 4600H | NVIDIA GeForce GTX 1650 Ti | Full-HD IPS mat 144Hz costs 1.174,45 EUR
  • TUXEDO Polaris 15 with AMD Ryzen 5 4600H | NVIDIA GeForce GTX 1650 Ti | Full-HD IPS mat 60Hz 100% sRGB costs 1.124,45 EUR

In this case, I would prefer TUXEDO Polaris 17 and I see no reason, apart from the size, to go for TUXEDO Polaris 15 for a small price gap.

Maybe I’m too picky — but I noticed that thing because the base Polaris 15 variant offers a 60 Hz display as well. So, I’d personally want the pricing to go down or a 144 Hz screen instead.

If that doesn’t bother you, you will be happy to know that it will be in stock from September 15 onwards and it’ll take 10 days in average to assemble your configuration and ship it to you worldwide.

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

Recommended Read:

.ugb-44ea71c .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-44ea71c .ugb-blog-posts__title a{color:#000000 !important}.ugb-44ea71c .ugb-blog-posts__title a:hover{color:#00b6ba !important}Gaming On Linux: All You Need To Know

Can I play games on Linux? What are the games available for Linux? Where to find Linux games? This comprehensive article answers all your questions on Linux gaming.

Wrapping Up

It is always a good thing to see more Linux based gaming laptops in the market. TUXEDO Polaris series is indeed something impressive but I can’t stop worrying about the pricing fluctuations after NVIDIA RTX 3000 series GPU launch.

If you want a Linux gaming laptop immediately, it’s a decent purchase if not the best. But, if you’re looking for the perfect Linux laptop which is future-proof, I’d suggest you to wait for Intel Tiger Lake chipset powered laptops and NVIDIA RTX 3000 series GPUs for your Linux laptop.

What do you think about the TUXEDO Linux gaming laptops? Let me know your thoughts in the comments below.

Soon You’ll be Able to Convert Any Website into Desktop Application in Linux Mint

Wednesday 2nd of September 2020 06:52:02 AM

Imagine this situation. You are working on a certain topic and you have more than twenty tabs open in your web browser, mostly related to the work.

Some of these tabs are for YouTube or some other music streaming website you are listening to.

You finished the work on the topic and close the browser. Your intent was to close all the work related tabs but it also closed the tabs that you were using for listening to music or some other activities.

Now you’ll have to log in to those websites again and find the track you were listening to or whatever you were doing.

Frustrating, isn’t it? Linux Mint understands your pain and they have an upcoming project to help you out in such scenario.

Linux Mint’s Web App Manager

In a recent post, Linux Mint team revealed that it is working on a new tool called Web App Manager.

The Web App Manager tool will allow you to launch your favorite websites and have them run in their own window as if they were desktop applications.

While adding a website as a Web App, you can give it a custom name and icon. You can also give it a different category. This will help you search this app in the menu.

You may also specify which web browser you want the Web App to be opened in. Option for enabling/disabling navigation bar is also there.

Adding a Web App In Linux Mint

Say, you add YouTube as a Web App:

Web Apps In Linux Mint

If you run this YouTube Web App, YouTube will now run in its own window and in a browser of your choice.

YouTube Web App

The Web App has most of the features you see in a regular desktop application. You can use it in Alt+Tab switcher:

Web App in Alt Tab Switcher

You can even pin the Web App to the panel/taskbar for quick access.

YouTube Web App added to the panel

The Web App Manager is in beta right now but it is fairly stable to use. It is not translation ready right now and this is why it is not released to the public.

If you are using Linux Mint and want to try the Web App Manager, you can download the DEB file for the beta version of this app from the link below:

Download Web App Manager (beta) for Linux Mint Benefits of the web apps

Some readers asked about the benefits of this Web App Manager over other similar feature already available in Chrome and some other web browsers. Let me expand on this topic.

  • You can use a specific part of the URL ( instead of as an app.
  • The possibility of adding custom icons comes handy for websites without a clear fevicon.
  • You can use a lightweight browser without any extension to open the web app instead of the regular web browser like Chrome/Chromium. It should be faster.
  • Your web app is integrated into the application menu. You can search for it like any other application.
Web apps are not new to desktop Linux

This is not something ground breaking from Linux Mint. Web apps have been on the scene for almost a decade now.

If you remember, Ubuntu had added the web app feature to its Unity desktop in 2013-14.

The lightweight Linux distribution PeppermintOS lists ICE (tool for web apps) as its main feature since 2010. In fact, Linux Mint’s Web App manager is based on Peppermint OS’s ICE.

Personally, I like web apps feature. It has its usefulness.

What do you think of Web Apps in Linux Mint? Is it something you look forward to use? Do share your views in the comment section.

Rclone Browser Enables You to Sync Data With Cloud Services in Linux Graphically

Wednesday 2nd of September 2020 03:55:01 AM

Brief: Rclone Browser is an effective GUI program that makes it easy to manage and sync data on cloud storage using Rclone. Here, we take a look at what it offers and how it works.

If you want to use One Drive or Google Drive on Linux natively and effortlessly, you can opt for a premium GUI tool like Insync (affiliate link).

If you can put some effort in the terminal, you can use Rclone to sync with many cloud storage services on Linux. We have a detailed guide on using Rclone for syncing with OneDrive in Linux.

Rclone is a pretty popular and useful command-line tool. A lot of power users will need to use Rclone for its features.

However, not everyone is comfortable using it from the terminal even if it’s useful enough.

So, in this article, I’ll talk about an impressive GUI “Rclone Browser” that makes it easy to manage and sync your data on cloud storage using Rclone.

It is also worth noting that Rclone does offer an experimental web-based GUI — but we are going to focus on Rclone Browser here.

Rclone Browser: An Open-Source GUI for Rclone

Rclone Browser is a GUI that lets you browse, modify, upload/download, list files, and do a lot more stuff that you’d want to do when you want to make the most out of managing a remote storage location.

It offers a simple user interface and works just fine (as per my quick test). Let’s take a detailed look at the features it offers and how to get started using it.

Features of Rclone Browser

It offers a lot of options and control to manage remote storage locations. You may find it feature-rich or overwhelming depending on your use-case. Here they are:

  • Browse and modify rclone remote storage locations
  • Encrypted cloud storage supported
  • Custom location and encryption for configuration supported
  • No extra configuration required. It will use the same rclone configuration files (if you have any).
  • Simultaneous navigation of multiple locations in separate tabs
  • List files hierarchically (by file name, size, and modified date)
  • Rclone commands are executed asynchronously without the GUI freezing
  • You get the ability to upload, download, create new folders, rename, delete files and folders
  • Drag and drop support for dragging files while uploading
  • Streaming media files in player like VLC
  • Mount and unmount folders/cloud drives
  • Ability to calculate size of folder, export list of files, and copy rclone commands to clipboard
  • Supports portable mode
  • Supports shared drivers (if you’re using Google Drive)
  • Gives you the ability to have public link sharing option for remote storage services that offers it
  • Ability to create tasks that you can easily save to run it again or edit it later
  • Dark mode
  • Cross-platform support (Windows, macOS, and Linux)
Installing Rclone Browser on Linux

You need to have rclone installed on your Linux distribution before you use Rclone Browser. Follow the official installation instructions to do that.

You will find an AppImage file available for Rclone Browser from the releases section of its GitHub page. So, you shouldn’t have an issue running it on any Linux distribution.

In case you didn’t know about AppImage, I’ll recommend going through our guide to use AppImage on Linux.

You can also choose to build it as well. The instructions to do that is in the GitHub page.

Rclone Browser Getting Started With Rclone Browser

Here, I’ll just share a few things that you should know to get started using Rclone Browser.

If you had any existing remote locations using rclone in the terminal, it will automatically show up in the GUI. You can also hit the “Refresh” button to get the latest additions.

As shown in the screenshot above, when you click the “Config” button it launches the terminal that lets you easily add a new remote or configure it as you want. Don’t worry when the terminal pops up, Rclone browser executes the commands to do all the necessary tasks, you just have to set up or edit a few things when needed. You don’t need to execute any Rclone commands.

If you have some existing remotes, you can simply open them using the “Open” button and have the cloud storage accessible in a different tab as shown below.

You can easily mount the cloud drive, upload/download files, get the details, share a public link for a folder (if supported), and directly stream media files as well.

If you want to copy, move, or sync data with a remote storage location, you can simply create a task to do it. Just to make sure that you have the right settings, you can perform a dry run or go ahead with running the task.

You can find all the running tasks under the “Jobs” section and you can cancel/stop them if needed.

In addition to all the basic functionalities mentioned above, you can just head to File->Preferences to change the rclone location, mount option, download folder, bandwidth settings, and proxy as well.

To learn more about its usage and features, you might want to check out the GitHub page for all the technical information.

Wrapping Up

Rclone Browser should definitely come in handy for every Linux user looking to use Rclone for its powerful features.

Have you tried it yet? Do you prefer using the GUI or the terminal for using rclone? Let me know your thoughts in the comments below!

From Terminal Master to Grandmaster: Play Chess in Linux Terminal

Tuesday 1st of September 2020 06:02:29 AM

You know Linux terminals can be fun too!

You can run some funny Linux commands for amusement. You can also play games in Linux terminal.

Yes! You heard it right. You can play games in the terminal and in this #TerminalTuesday series, I’ll show you how to play chess in Linux terminal.

You might be thinking, “why would anyone want to play chess in the terminal ?!”. I say, it’s a lot of fun. It is also challenging if you play against Stockfish.

Yes, there’s GNU Chess available, but it is not visually appealing and the chess engine “keeps thinking” for a long time.

I’m talking about an alternative to GNU Chess. Here are a few reasons you might enjoy this one better.

  • You get to play against one of the strongest chess engine, Stockfish. Here are the rankings for all the computer chess engines.
  • Visually looks way better than GNU Chess and is relatively faster as well.
  • You’ll learn how to describe chess moves in algebraic notation.
  • I figured that a pretty good chunk of It’s FOSS readers are geeks/nerds and that you guys would enjoy it.

To install terminal chess you need two components, the Stockfish chess engine and chs which is the UI which plugs into the chess engine.

Installing Chess in Linux terminal with Stockfish and chs

The terminal commands here are for Ubuntu or Ubuntu based distributions since a lot of people use them. These commands were tested on Ubuntu 20.04.

You can use your distribution’s package manager for installing the mentioned software.

sudo apt install stockfish

Running the above command will install the latest version of the Stockfish chess engine.

chs is the UI which plugs into the chess engine. It is written in python3 and you can install it using pip3 the python package manager.

First, install PIP on Ubuntu with this command:

sudo apt install python3-pip

Once you have pip3 installed, run the below command to install chs.

pip3 install chs Cofiguring chs

After installing chs, you’ll see an error message saying chs is not on PATH. At this point if you try to launch chs, the terminal won’t know where to launch it from.

You can use the following command to fix the problem

export PATH="$PATH:$HOME/ .local/bin"

If you try to launch chs from the terminal, you’ll see a “FileNotFoundError”. This is a known bug in chs, it is not able to find the Stockfish chess engine to launch it.

To fix this issue we need to make a small edit in the chs python code. The file we are interested in will be located at /.local/lib/python3.X/site-packages/chs/engine/

Make sure to replace the the 3.X in the python version with the one installed on your computer. You can check the python version using the below command.

python3 -V

For me, it was Python 3.8. You can use Nano editor or your choice of text editor and open up the file.

sudo nano ~/.local/lib/python3.8/site-packages/chs/engine/

In the line 13 of the code you’ll see engine_path = ‘stockfish_10_x64_linux’, you have to replace ‘stockfish_10_x64_linux’ like this

engine_path = "/usr/games/stockfish"

Now you’re finally done with all the setup. Type chs in the terminal to launch the game. This launches chs at level 1 difficulty.

You can specify the level of difficulty of the while launching the game as shown below.

chs level=8 Playing chess in Linux terminal

You play terminal chess using the algebraic notation (the name sounds complicated but it is quite simple) to describe the moves.

I’ll summarize a short version of how to play using algebraic notation, for detailed information you can check out this article. Chess pieces are represented by a single letter.

  • Knight – N
  • Rook – R
  • Queen – Q
  • King – K
  • Bishop – B
  • Pawns – blank, they don’t have an associated letter.

The chess board columns are represented by letters a to h and rows are represented by numbers 18. To move your pawn in the position a2 to a4 you just write a4.

To move your knight(N) from g1 to h3 you would write Nh3.

To capture a pawn you have to add an x in the command. Here I’m trying to capture the bishop(B) which is in the position c4 using my knight(N). The command for this is Nxc4.

The Stockfish engine also gives you suggestions when you type an invalid command or when there are multiple possibilities for a command. You can use the command hint and the chess engine will give you a hint for the next move.

You can also use the back which takes back your last move(s), this will help you cheat or revise the game depending on how you see it.

Closing thoughts

If you find the chessboard to be very tiny, you can scale it up and play around with different fonts. Both Stockfish and chs are open source and you can easily get your hands dirty and mess around with the code for your own projects (if you want).

If you want to try out the good old GNU Chess, you can install it using the command below.

sudo apt install gnuchess

Let me know how your game went in the comment section :)

How to Set Up Facial Recognition to Sign into Ubuntu and Other Linux Distributions

Monday 31st of August 2020 08:56:36 AM

Despite all the concern, facial recognition is getting popular among consumers. Most recent Android and iOS devices have the feature to unlock the device with facial authentication.

Once you get used to the face unlock or fingerprint unlock, typing password feels like a tedious, boring task.

On Windows operating system, Microsoft provides the Windows Hello that allows instant authentication based on your face.

On Linux, face unlock is not a built-in feature. No Linux distribution, as far as I know, provides face unlock feature out of the box.

But as the saying goes, there is a shell, there is a way. In Linux, you’ll often find alternative things and tools that you can configure for a certain task. Remember the tutorial I wrote for sharing mouse and keyboard between Linux and Raspberry Pi devices?

In this tutorial, I’ll show you how to set up face unlock in Ubuntu. You can use the tutorial for other Linux distributions as well.

You need to be comfortable with the terminal and Linux commands because you’ll be using Linux command line tool.

Howdy: A Windows Hello Styled Facial Recognition Authentication System for Linux

Howdy is an open source software that gives you the ability to login to your Linux system with face recognition. Consider it an open source Windows Hello alternative for Linux. Here, your data is stored locally on your computer.

Howdy uses the built-in IR emitters and webcam combination to recognize your face. It is built using OpenCV and Python.

Howdy uses the PAM authentication system which means not only you can login to your system with your face, you can also use it for sudo, su and in most other situations where you need to use your account password. However, in my testing, it could not unlock the keyring in Ubuntu.

In this tutorial, I’ll show you how to install Howdy and how to set it up for facial recognition. The process is not too complicated but you should not be too uncomfortable using the terminal here.

Installing Howdy on Ubuntu and other Linux distributions

The developer of Howdy provides a handy PPA that makes installing Howdy easier to install on Ubuntu-based distributions.

Open a terminal and use the following commands on Ubuntu:

sudo add-apt-repository ppa:boltgolt/howdy sudo apt update sudo apt install howdy

Howdy is a big software and it installs a huge number of software libraries. For me, it showed around 140 MB of download size and 600 MB of disk size requirement after installation.

During the installation, it asks you to choose from Fast, Balanced and Secure authentication type. I chose Balanced at this step because I don’t want to wait too long but don’t want it to be less secure as well.

During the installation, it complains about adding /usr/local/bin in the PATH but for me it was already there. You may verify it for your system.

Installing Howdy on other Linux distributions

For Debian, you can download the DEB file. Arch/Manjaro users can install it from AUR.

Fedora users have the option to use COPR repository:

sudo dnf copr enable luya/howdy sudo dnf install howdy

openSUSE users can find the installation instructions here.

As the last resort, you can get the source code on its GitHub repository.

Since I am using Ubuntu 20.04 in this tutorial, some steps may use apt command but I believe you can use your distribution’s package manager in those steps.

Setting up face unlock on Ubuntu and other Linux with Howdy

Let’s see how to set it up for facial recognition.

Change config file

Before you use Howdy, you should change the configuration file to specify your webcam device.

On most Linux systems, /dev/video0 should be the device for webcam but you should make sure of it using v4l2-ctl command.

Install v4l-utils first:

sudo apt install v4l-utils

Now use the v4l2-ctl command to list your devices

abhishek@itsfoss:~$ v4l2-ctl --list-devices Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-5): /dev/video0 /dev/video1

Why two (or more) video devices? You’ll have to check the capabilities of the device. The device should have Video Capture capability, not just Metadata Capture.

You can check it with a command like v4l2-ctl –device=/dev/video0 –all and then look under the capability section. Most of the time, it should be the first device i.e. /dev/video0.

Now, you need to set the device path in the Howdy config. You can do that by manually opening the /lib/security/howdy/config.ini file for editing or use the command below to open the config file for edit in your default terminal-based text editor:

sudo howdy config

Look for the line starting with device_path. Change its value to /dev/video0 or whatever is the path for your webcam device.

Save and exit the file. You are ready to go now.

Add your face for facial recognition

Howdy is a command line tool. You have to do everything in the terminal.

Now that you have the correct device path set, it is time to add some face in its database for the recognition.

Use the following command to associate a face to the currently logged in user i.e. you.

sudo howdy add

It doesn’t show how your face looks like by opening a camera so you should look into the webcam to get your face captured properly.

It will ask you to add an identifier to the face. You can name it anything you want. I used terms like glasses, with-headphones etc.

I suggest adding a few more variants of your face specially if you wear glasses. Just run the sudo howdy add command each time you want to add a face.

Howdy is ready to use as soon as you add a face. To test it, open a new terminal and run a command with sudo. You’ll notice that your webcam blinks and it tries to detect a face. If the face is not recognized, it will show an error message and ask you to use your password.

To add a face for some other user, you should provide the username as well:

sudo howdy -U username add

You don’t need to worry about starting Howdy after reboot. Howdy starts automatically at each boot.

List all the known face models for a user

You can see what face models are associated to a user with the list option. If you don’t specify the username, it shows the output for the current user.

sudo howdy list Clear some or all face models

When you list all the face models for a user, you can use the remove option to delete a certain face model. You’ll have to provide the ID of the face model, not the label.

sudo howdy remove face_ID

You can remove all the face models with the following command:

sudo howdy clear Disable and re-enable Howdy

You can temporarily disable Howdy using this command:

sudo howdy disable 1

You can re-enable it using the same disable option but with 0 as argument:

sudo howdy disable 0 Removing Howdy from your system

You can use your distribution’s package manager to remove Howdy.

On Ubuntu, use the following command:

sudo apt remove howdy

You should also delete the PPA:

sudo add-apt-repository -r ppa:boltgolt/howdy

For other distributions, use the uninstallation method that corresponds to the installation method you used.


It’s fun to setup face unlock on Linux. I think this could provide base for some good Raspberry Pi projects. It’s a fun weekend exercise to do a thing like this.

However, I won’t recommend setting up it on critical infrastructure or servers. Facial recognition is not very secure.

Using face unlock on your personal Linux system is one thing but please don’t use it on servers or work machines.

I hope you liked this DIY (if I may call it) tutorial. Let me know if you would like to see more such tutorials on It’s FOSS in the future.

More in Tux Machines