Language Selection

English French German Italian Portuguese Spanish


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

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.

Linux Jargon Buster: What is a Display Server in Linux? What is it Used for?

Saturday 29th of August 2020 05:29:59 AM

In Linux related articles, news and discussions, you’ll often come across the term display server, Xorg, Wayland etc.

In this explainer article, I’ll discuss display servers in Linux.

What is display server in Linux?

A display server is a program which is responsible for the input and output coordination of its clients, to and from the rest of the operating system, and among the hardware and the operating system. Basically, thanks to a display server, you can use your computer graphically (GUI). Without the display server, you would only be restricted to a command line interface (TTY).

The display server provides the framework for a graphical environment so that you can use mouse and keyboard to interact with applications.

The display server communicates with its clients over the display server protocol, like X11. The display server is a key component in any graphical user interface, specifically the windowing system.

Don’t confuse display server with desktop environment. The desktop environment uses display server underneath it.

Sounds familiar but it is not fully clear? Let me explain.

Display server communications protocols in Linux

There are three display protocols available in Linux, the X11, Wayland and Mir. I’ll give you a brief introduction for these display servers.


The X11 (also refer as X) is the legacy display server that has been existed for years. It is the most common display server used in Linux distributions.

X Architecture

The X11 communication protocol, uses the Server display server. It receives input events from device drivers and makes them available to one of its clients.

The display server also receives data from its clients, it processes the data and does the compositing and on Linux it passes the data to one of three kernel components – the DRM, gem or KMS driver.

The X.Org Server is a display server that relies on a second program, the compositing window manager, to do the compositing. Examples are Mutter or KWin. GNOME uses Mutter.


As per its website, Wayland is “intended as a simpler replacement for X, easier to develop and maintain”.

And indeed Wayland is the modern display server that is supposed to replace the legacy X display server.

Its adoption is still a work in progress. Ubuntu tried to switch to Wayland as the default display server with version 17.10 but the experiment met with negative feedback.

A lot of GUI applications and their frameworks depend on the X server. These applications didn’t work as intended on Wayland.

This forced Ubuntu to stay on X as default display server. It still provides the option to use Wayland but it is not default anymore.

An overwhelming majority of distributions use X display server by default even today.

Wayland Architecture

Display servers that put into effect the Wayland display server protocol, are called Wayland compositors. Like any X11, a Wayland compositor is responsible for handling input and output for its clients but also does the compositing – in contrast to X11.

A few Wayland compositors are Weston, Mutter, KWin or Enlightenment.


The Mir display server comes with its own Mir display server protocol which differs to those used by X11 and Wayland. It was developed by Canonical, as part of the development of Unity, and was intended to be the display server of choice for Ubuntu.

As of 2017, it has been replaced with the Wayland display server for desktop editions of Ubuntu, although Mir’s development continued for Internet of Things (IoT) applications.

Why are we still using Xorg?

Wayland as it is relatively new, is not very stable yet, compared to Xorg. The programs, which act as clients, in order to communicate with a display server, must know how to do it.

For this reason, many programs might not run when using Wayland. Ubuntu’s experiment to switch to Wayland by default confirmed this.


I hope you have a bit better understanding of display server concept in Linux. I have tried to not go into too much technical details but I could not avoid them altogether.

Your feedback and suggestion is welcome.

Best Free Online Markdown Editors That Are Also Open Source

Friday 28th of August 2020 06:00:56 AM

Markdown is a useful lightweight markup language and a lot of people prefer for writing documentation or web publishing. Many of us at It’s FOSS use markdown for writing our articles.

There are several Markdown editors available for Linux that you can install and use.

But, what if you don’t want to install another program on your system? Perhaps you are using a system temporarily and cannot install an application? Maybe you just want a markdown editor that lets you collaborate in real-time?

No matter what you require, online markdown editors makes a lot of things easy by providing collaboration features, publishing integration, notes synchronization, and some online-only features.

Hence, I’ve compiled a list of the best online markdown editors.

Free Online Markdown Editors

I have tried to keep the focus on online markdown editor with open source code. You may use the official website or deploy them on your server.

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

1. StackEdit

StackEdit is one of the most popular open-source online Markdown editors available.

It provides a great user interface and offers a bunch of useful features. The ability to collaborate, synchronizing capability, and being able to publish/save your files to Blogger, WordPress, GitHub, and a couple other services are some key features that you get with StackEdit.

Not to forget, you also get an extended markdown support some extensions available to support LaTeX mathematical expressions, UML diagrams, and more. It presents a WYSIWYG editor that makes it easy for you to work with Markdown. It also works offline and offers a chrome app and extension — if that’s your requirement.

It’s easy to import/export files on StackEdit as well. You can take a look at its source code on GitHub for more details if you need to host it on your server.

StackEdit 2. Dillinger

Dillinger is yet another interesting open-source online Markdown editor. Similar to StackEdit, you also get the ability to link and save the documents with Dropbox, GitHub, Medium, Google Drive, Bitbucket, and OneDrive.

You can also choose to simply import/export files when needed. The user interface for Dillinger is simpler than what you get on StackEdit — but it gets the job intended. Unlike StackEdit, you may not get extended Markdown support with LaTeX expressions or diagrams but if you just need simple online Markdown editor, this is a good pick.

If you need, you can choose to deploy it in a Docker container on your server. For more technical details on it, you might want to check out its GitHub page.

Dillinger 3. is based on the free and open source software WriteFreely, developed by the same team. So you can simply host it on your own server and start using it for free if you want.

You can also use service as a free online Markdown editor with basic features. To make the most out of it, you may want to choose a subscription. Some paid features include custom themes, newsletters, photo hosting, and multiple blogs.

It supports Markdown and also lets anyone on Mastodon, ActivityPub, and Pleroma to follow and share your blog posts easily.

You can explore more about WriteFreely on its GitHub page or get started using 4.

An interesting open-source Markdown editor that you can also embed on your own web pages if you require.

It supports real-time preview, GitHub flavored markdown, and also presents a WYSIWYG editor along with a bunch of useful features. In addition to the basic Markdown support, it also supports emojis, LaTeX expressions, Flowchart, and more.

You can choose to configure your own by hosting it yourself as well. Take a look at its GitHub page for more information. 5. CodiMD

CodiMD isn’t available as a full-fledged online service from the get-go. But, it is an open-source project that lets you collaborate on documentations or notes in real-time by giving you the ability to host it on your server.

It’s based on HackMD‘s source code and offers a demo instance to test it out. Personally, I like the fact that it also offers a dark mode and it’s easy to use.

For its future release (at the time of writing this), it will be renamed as “HedgeDoc“.

You can find all the relevant information on deploying it on your server through Docker/Kubernetes and other manual configuration options on its GitHub page.

CodiMD 6. is a simple open-source online Markdown editor that’s no longer maintained but it is still active and usable.

It features real-time preview and the options to export or save your notes to Dropbox/Evernote. Considering that it’s not actively maintained — you may not rely on it but it works as expected when I tested it.

You can take a look at its GitHub page or the official site to learn more about it. Honorable Mentions

Here are a few tools that provide markdown access.

Markdown Web Dingus

A simple and free online Markdown editor by the creator of Markdown language. It’s not a full-fledged online editor with integrations or that supports import/export.

But, if you just want an online editor to get a preview for your Markdown source, this could be a great option to use. Not just limited to the editor, but you also get a syntax cheatsheet in the sidebar of the website. So, you can try and learn here as well.

Markdown Web Dingus Markdown Journal

Markdown Journal was an interesting open-source project on GitHub which has been discontinued. It gave you the ability to use its online editor to create journals using Markdown language and save them directly on your Dropbox account. I noticed Internal Server error when I tried to create a journal — but you can take a look at it.


Etherpad is yet another impressive open-source online editor but it doesn’t come with Markdown support out of the box. You might notice some plugins available to enable Markdown editing on your server — but that’s not something that works flawlessly yet. So, you might want to keep an eye out for it. There’s a list of public instances to try it out as well.

Wrapping Up

Considering that a lot of online editors, CMSs, and note-taking services support Markdown, services/applications like WordPress can also be a good option if you want to publish it to the web.

Which one do you prefer to use as a Markdown editor? Did I miss any of your favorites? Let me know in the comments below!

How to Switch Users in Ubuntu and Other Linux Distributions [Quick Beginner Tip]

Thursday 27th of August 2020 05:37:14 AM

It is really simple to switch users in Ubuntu or any other Linux distribution using the terminal.

All you need to do is to know the unsername and its account password and you can switch users with su command:

su another_username

You’ll be asked to enter the password of the user you want to switch to.

As you can see in the screenshot above, I changed to user prakash from user abhishek in the terminal.

There are some minor details with this method that I’ll share with you in a moment. I’ll also share the graphical way of switching users in Linux if you are using desktop Linux.

Switching to root user

If you want to switch to the root user in Ubuntu, you can use the following command:
sudo su
You’ll have to enter your own user password here.

Change user in Linux command line

Let’s see things a bit in detail. To switch users, you need to first know the exact username because tab competition doesn’t work here. You can list all the users in Linux command line by viewing the content of the /etc/passwd file.

You’ll also need to know the password of the user account you want to switch to. This is for security reason, of course.

su another_username

If you are the admin user or have sudo access, you can change account password with passwd command.

You’ll notice that some people use a - between su and the username. There is a specific reason for that.

su - another_username

When you use -, -l or –login option, you start the shell as a login shell. This means that it will initialize the environment variables like PATH and changes to the home directory of the changed user. It will be as if you logged into the terminal as the second user.

Note: though -is more popular, it is advised to use –login option.

Change users in Linux graphically (for desktop Linux)

If you are using desktop Linux, the above method may not be sufficient for you. Why? Because you switch the user in the terminal only. It is confined to the terminal. Nothing is changed outside the terminal.

If you want to switch users so that you can log in as another user and use all the system (browser, applications etc) graphically, you’ll have to log out and then log back in.

Now the screenshots may look different but the steps remain the same. Here’s how to switch users in Ubuntu Linux.

Go to the top right corner and click the Power Off/Log out option to open the dropdown and you can choose either of Switch User or Log Out.

  • Switch User: You get to keep your session active (applications keep on running) for current user. Good for temporarily switching users as you won’t lose your work.
  • Log out: Current session ends (all applications are closed). Good when you want to switch to the other user for a long time.

You can choose whichever option is more suited for your need.

Now, you’ll be at the login screen with all the available users for your system. Choose the user account of your choice.

Clearly, you need to know the password of the user account you want to use.

That’s it. I hope you find this quick beginner tip helpful in changing users in Ubuntu and other Linux distributions. Questions and suggestions are always welcome.

How to Check Dependencies of a Package in Ubuntu/Debian-based Linux Distributions

Wednesday 26th of August 2020 07:20:13 AM

Installing applications via command line is quite easy in Ubuntu/Debian. All you need to do is to use apt install package_name.

But what if you want to know the dependencies of a package before or after installing it?

In this tutorial, I’ll show you various ways to see the dependencies of a package in Ubuntu and other Debian-based Linux distributions that use APT package management system.

What is package dependency in Ubuntu?

If you didn’t know already, when you install a software package in Linux, sometimes, it needs other packages to function properly. These additional packages are called dependencies. If these dependency packages are not installed on the system, it is usually installed automatically with the package.

For example, the GUI tool HandBrake for converting video formats needs FFmpeg, GStreamer. So for HandBrake, FFmpeg and GStreamer are the dependencies.

If you don’t have these packages installed on your system, they will be automatically installed when you install HandBrake on Ubuntu.

Check dependencies of a package in Ubuntu and Debian based distributions

As it often happens in Linux, there are more than one way to achieve the same result. Let’s see various ways to see the dependencies of a package.

Checking dependencies with apt show

You can use the apt show command to display details of a package. Part of this information is dependencies and you can see it in the line starting with Depends.

For example, here’s what it shows for ubuntu-restricted-extras package.

abhishek@itsfoss:~$ apt show ubuntu-restricted-extras Package: ubuntu-restricted-extras Version: 67 Priority: optional Section: multiverse/metapackages Origin: Ubuntu Maintainer: Ubuntu Developers <> Bugs: Installed-Size: 14.3 kB Depends: ubuntu-restricted-addons Recommends: libavcodec-extra, ttf-mscorefonts-installer, unrar Download-Size: 3,200 B APT-Manual-Installed: yes APT-Sources: focal/multiverse amd64 Packages Description: Commonly used media codecs and fonts for Ubuntu This collection of packages includes: - MP3 and other audio codec software to play various audio formats (GStreamer plugins) - software to install the Microsoft Web fonts - the Adobe Flash plugin - LAME, software to create compressed audio files. . This software does not include libdvdcss2, and will not let you play encrypted DVDs. For more information, see . These software packages are from the Multiverse channel, restricted by copyright or legal issues in some countries. For more information, see

As you can see, ubuntu-restricted-extras package depends on ubuntu-restricted-addons package.

Here’s a catch! The dependency package may also depend on some other package and the chain could go on. Thankfully, the APT package manager handles this for you by automatically installing all the dependencies (most of the time).

What is recommended package?

Did you notice the line starting with Recommends in the above output?

Recommended packages are not direct dependencies for the package but they enable additional features.

As you can see, ubuntu-restricted-extras has ttf-mscorefonts-installer as recommended package for installing Microsoft Fonts on Ubuntu.

The recommended packages are also installed by default and if you explicitly want to forbid the installation of recommended package, use the –no-install-recommends flag like this:

sudo apt install –no-install-recommends package_name

Use apt-cache for getting just the dependencies information

The apt show has way too many information. If you want to get the dependencies in a script, the apt-cache command gives you a better and clean output.

apt-cache depends package_name

The output looks much clean, does it not?

Check the dependencies of a DEB file using dpkg

Both apt and apt-cache command work on the packages that are available from the repositories. But if you download a DEB file, these command won’t work.

In this case, you can use the dpkg command with -I or –info option.

dpkg -I path_to_deb_file

The dependencies can be seen in the line starting with Depends.

Checking dependencies and reverse dependencies with apt-rdepends

If you want more details on the dependencies, you can use the apt-rdepends tool. This tool creates the complete dependency tree. So, you get the dependency of a package and the dependencies of the dependencies as well.

It is not a regular apt command and you’ll have to install it from the universe repository:

sudo apt install apt-rdepends

The output is usually quite large depending on the dependency tree.

Reading package lists... Done Building dependency tree Reading state information... Done shutter Depends: procps Depends: xdg-utils imagemagick Depends: imagemagick-6.q16 (>= 8: imagemagick-6.q16 Depends: hicolor-icon-theme Depends: libc6 (>= 2.4) Depends: libmagickcore-6.q16-6 (>= 8: Depends: libmagickwand-6.q16-6 (>= 8: hicolor-icon-theme libc6 Depends: libcrypt1 (>= 1:4.4.10-10ubuntu4) Depends: libgcc-s1 libcrypt1 Depends: libc6 (>= 2.25)

The apt-rdepends tool is quite versatile. It can also calculate the reverse dependencies. Which means, you can see what other packages depend on a certain package.

apt-rdepends -r package_name

The output could be pretty big because it will print the reverse dependency tree.

abhishek@itsfoss:~$ apt-rdepends -r ffmpeg Reading package lists... Done Building dependency tree Reading state information... Done ffmpeg Reverse Depends: ardour-video-timeline (>= 1:5.12.0-3ubuntu4) Reverse Depends: deepin-screen-recorder (5.0.0-1build2) Reverse Depends: devede (4.15.0-2) Reverse Depends: dvd-slideshow ( Reverse Depends: green-recorder (>= 3.2.3)

I hope this quick tutorial was helpful in improving your command line knowledge a bit. Stay tuned for more such tips.

Glances – A Versatile System Monitoring Tool for Linux Systems

Tuesday 25th of August 2020 05:33:00 AM

The most commonly used command line tools for process monitoring on Linux are top and its colorful, feature rich cousin htop .

To monitor temperature on Linux, you can use lm-sensors. Similarly, there are many utilities to monitor other real-time metrics such as Disk I/O, Network Stats and others.

Glances is a system monitoring tool which ties them all together and offers a lot more features. What I like the most is that you can use run Glances on a remote Linux server and monitor the system resources on your local system or monitor it through your web browser.

Here’s what it looks like. The terminal in the below screenshot has been beautified with Pywal tool that automatically changes the color based on wallpaper.

You can also integrate it to a tool like Grafana to monitor the stats in an intuitive dashboard.

It is written in Python which means that it can be used on most platforms with almost all features.

Features of Glances Glances Data In Grafana Dashboard

Let’s have a quick glance over the main feature Glances provides (pun intended).

  • Can monitor 15+ metrics on a system (including docker containers).
  • Flexible usage modes: standalone, client-server, over SSH and web mode.
  • Versatile REST API and XML-RPC available for integrations.
  • Readily supports exporting data to different services and databases.
  • Highly configurable and adaptable to different needs.
  • Very comprehensive Documentation.
Installing Glances on Ubuntu and other Linux distributions

Glances is available in the official repositories of many Linux distributions. This means you can use your distribution’s package manager to install it easily.

On Debian/Ubuntu based distributions, you can use the following command:

sudo apt install glances

You can also install the latest Glances using snap package:

sudo snap install glances

Since Glances is based on Python, you can also use PIP to install it on most Linux distributions. Install PIP first and then use it to install Glances:

sudo pip3 install glances

If nothing else, you can always use the auto install script provided by Glances developer. Though we at It’s FOSS don’t recommend running random scripts directly on your system. It’s entirely your decision.

curl -L | /bin/bash

You can check out other ways to install Glances from their documentation, you can also install it as a docker container.

Using Glances to monitor Linux system resources on local system (standalone mode)

You can easily launch Glances to monitor your local machine by running this command n the terminal.


You can instantly observe that it integrates a lot of different information in one single screen. I like that it shows the public and private IP’s of the computer right at the top.

Glances is also interactive, meaning you can use commands to interact with it while it is running. You can press “s” to bring up the sensors onto the screen; “k” to bring up the TCP connections list; “1” to expand the CPU stats to show individual threads.

You can also use the arrow keys to move around the list of processes and sort the table by different metrics.

You can launch Glances with various command line options. There are plenty more interactive commands as well. You can find the complete list in their comprehensive documentation.

Press Ctrl+C to exit Glances.

Using Glances to monitor remote Linux systems (Client – Server mode)

To monitor a remote computer you can use Glances in client-server mode. You need to have Glances installed on both systems.

On the remote Linux system, you’ll have to launch glances in server mode using the -s option.

glances -s

On the client system, use this command to launch Glances in client mode and connect to the server.

glances -c server_ip_address

You can also SSH into any computer and launch Glances, which works flawlessly. More information about client-server mode here.

Monitor Linux system resources in web browser using Glances (Web Mode)

Glances can also run in web mode. This means that you can use a web browser to access Glances. Unlike the previous client-server mode, you don’t need to install Glances on the client system.

To start Glances in web mode, use the -w option.

glances -w

Keep in mind that it may display “Glances Web User Interface started on” even on a Linux server when it is actually using the server’s IP address.

The main part is that it uses 61208 port number and you can use it to access Glances via web browser. Just type the server’s IP address followed by the port number like

You can also use it on the local system using or https://localhost:61208/.

The web mode also emulates the terminal look. The web version is built with responsive design principles in mind and looks good even on phones.

You may want to protect the web mode with a password so that only authorized people could use it. The default username is glances.

root@localhost:~# glances -w --password Define the Glances webserver password (glances username): Password (confirm): Do you want to save the password? [Yes/No]: n Glances Web User Interface started on

You can find more information on configuring password in the quickstart guide.

Export Glances data to different services

One of the biggest advantage of using Glances is the out of the box support to export data to various databases, services and integration into various data pipelines seamlessly.

You can export to CSV while monitoring with this command.

glances --export csv --export-csv-file /tmp/glances.csv

‘/tmp/glances.csv’ is the location of the file. The data is filled in neatly as time series.

You can export to powerful applications like Prometheus to enable conditional triggers and notifications.

It can directly plug into messaging services like RabbitMQ, MQTT, streaming platforms like Kafka and export time series data to databases like InfluxDB and visualize using Grafana.

You can check out the whole list of services and export options here.

Use REST API to integrate Glances with other services

This is my favorite feature in the whole stack. Glances not only brings together various metrics together, it also exposes them via APIs.

This simple yet powerful feature makes it very easy to build custom applications, services and middleware applications for any specific use cases.

REST API server stars automatically when you launch Glances in web mode. To launch it in API server only mode you can use the following command.

glances -w --disable-webui

The REST API documentation is comprehensive and the responses are easy to integrate with a web application. This makes it easy to build a unified dashboard to monitor multiple servers with a tool like Node-RED.

Glances also provides an XML-RPC server, you can check out the documentation here.

Closing thoughts on Glances

Glances uses the psutil python library to access different system stats. I had built a simple API server using the same library to retrieve CPU usage back in 2017. I was able to monitor all the Raspberry Pi’s in a cluster using a dashboard built with Node-RED.

Glances could have saved me some time while offering way more features, unfortunately I didn’t know about it back then.

I did try to install Glances on my Raspberry Pi’s while writing this article, unfortunately it failed with some errors with all the installation methods. I’ll update the article when I succeed or maybe write another article with steps to install on a Raspberry Pi.

I wish Glances offered a way to kill processes like top or htop. Let’s hope that we get it in upcoming releases.

I hope this gave you a good deal of information on Glances. What system monitoring tools do you guys use? let me know in the comments.

OnionShare: An Open-Source Tool to Share Files Securely Over Tor Network

Monday 24th of August 2020 03:05:31 AM

Brief: OnionShare is a free and open-source tool that utilizes the Tor network to share files securely and anonymously.

You might have already come across a lot of online services to share files securely but it may not be completely anonymous.

Also, you do have to rely on a centralized service to share your files and if the service decides to shut down like Firefox Send — you can’t really depend on it to safely share files all the time.

All things considered, OnionShare is an amazing open-source tool that lets you share files using the Tor Onion service. It should be an amazing alternative to all the cloud file sharing services.

Let’s take a look at what it offers and how it works.

OnionShare: Share files anonymously over Tor

OnionShare is an interesting open-source tool that’s available for Linux, Windows, and macOS.

It lets you securely share files directly from your computer to the receiver without revealing your identity in the process. You don’t have to sign up for any account — nor does it rely on any centralized storage service.

It is basically peer-to-peer over the Tor network. The receiver only needs to have a Tor browser to download/upload files to your computer. I’d also recommend you to go through our Tor guide to explore more about it if you’re curious.

Let’s take a look at the features.

Features of OnionShare

For an average user who just wants security and anonymity, there’s no tweak required. However, you do have some advanced options if you need.

  • Cross-platform support (Windows, macOS, and Linux)
  • Send files
  • Receive files
  • Command-line options
  • Publish onion sites
  • Ability to use bridges (if your tor connection isn’t working)
  • Ability to use a persistent URL for sharing (advanced users)
  • Stealth mode (more secure)

You can go through the official user guide on GitHub to learn more about them.

Installing OnionShare on Linux

You should find OnionShare listed in your software center to get it installed. If it’s not there, you can add the PPA using the commands below on Ubuntu-based distros:

sudo add-apt-repository ppa:micahflee/ppa sudo apt update sudo apt install -y onionshare

If you’re looking to install it on other Linux distributions, you can visit the official website for installation instructions on Fedora and build instructions as well.

Download OnionShare How does OnionShare Work?

After you get it installed, everything is pretty self-explanatory and easy-to-use. But, if you want a heads up, let me show you how it works.

Once, it loads up and connects to the Tor network

Sharing a File

You just have to add the file(s) that you want to share from your computer and then click on “Start sharing“.

Once you’re done, the status at the bottom-right should say “Sharing” and an OnionShare address will be generated (copied to clipboard automatically) as shown in the image below:

All the receiver needs now is the OnionShare address that should look like this:


And, a Tor browser to start downloading the files.

It’s worth noting that once the download completes (file transfer is done), the file sharing stops. You will also be notified of the same when that happens.

So, if you have to share it again or with someone else, you will have to re-share it and send the new OnionShare address to the receiver.

Allow Receiving Files

If you want to generate a URL that lets someone upload files directly to your computer (be careful with whom you share it), you can just click on the Receive Files tab after you launch OnionShare.

You just have to click on the “Start Receive Mode” button to get started. Next, you will get an OnionShare address (just like while sharing a file).

The receiver has to access it using the Tor browser and start uploading files. Here’s how it should look like:

Even though you will be notified of the file transfer when someone is uploading to your computer, you need to manually stop the receiving mode when you’re done.

Downloading/Uploading Files

Considering that you have a Tor browser installed, you just need to hit the OnionShare address in the URL address, confirm log in (press OK) and here’s how it should look like:

Similarly, when you get an address to upload files, it should look like this:

Publish Onion Sites

You can simply add the files to host a static onion website if you want. Of course, just because it’s peer-to-peer connection, it’ll be very slow to load up while it transfers every file from your computer.

I tried using a free template to test it out and it works great (but very slow). So, it may depend on your network connection.

Wrapping Up

In addition to all the features mentioned above, you can also use the command line and opt for some advanced tweaks if needed.

OnionShare is indeed an impressive open-source tool that makes it easy to share files anonymously without needing any special tweaks.

Have you tried OnionShare yet? Is there something similar to this that you know of? Let me know in the comments below!

Linux Jargon Buster: What is Desktop Environment in Linux?

Saturday 22nd of August 2020 06:24:06 AM

One of the most commonly used term in desktop Linux world is Desktop Environment (DE). If you are new to Linux, you should understand this frequently used term.

What is Desktop Environment in Linux?

A desktop environment is the bundle of components that provide you common graphical user interface (GUI) elements such as icons, toolbars, wallpapers, and desktop widgets. Thanks to the desktop environment, you can use Linux graphically using your mouse and keyboard like you do in other operating systems like Windows and macOS.

There are several desktop environments and these desktop environments determines what your Linux system looks like and how you interact with it.

Most of the desktop environments have their own set of integrated applications and utilities so that users get a uniform feel while using the OS. So, you get a file explorer, desktop search, menu of applications, wallpaper and screensaver utilities, text editors and more.

Without a desktop environment, your Linux system will just have a terminal like utility and you’ll have to interact it using commands only.

Screenshot of GNOME Desktop Environment Different desktop environments in Linux

Desktop environment is also referred as DE sometimes.

As I mentioned earlier, there are various desktop environments available for Linux. Why so?

Think of the desktop environments as clothes. The clothes determine what you look like. If you wear skinny jeans and flat shoes, you would look good but running or hiking in those clothes won’t be comfortable.

Some desktop environments such as GNOME focus on a modern look and user experience while desktop like Xfce focus more on using fewer computing resources than on fancy graphics.

Screenshot of Xfce Desktop Environment

Your clothes depend on your need and determine your looks, the same is the case with the desktop environments. You have to decide whether you want something that looks good or something that lets your system run faster.

Some of the popular desktop environments are:

  • GNOME – Uses plenty of system resources but gives you a modern, polished system
  • Xfce – Vintage look but light on resources
  • KDE – Highly customizable desktop with moderate usage of system resources
  • LXDE – The entire focus is on using as few resources as possible
  • Budgie – Modern looks and moderate on system resources
Linux distributions and their DE variants

Same desktop environment can be available on several Linux distributions and a Linux distribution may offer several desktop environments.

For example, Fedora and Ubuntu both use GNOME desktop by default. But both Fedora and Ubuntu offer other desktop environments.

The beauty and flexibility of Linux is that you can install a desktop environment on any Linux distribution by yourself. But most Linux distributions save you this trouble and offer ready-to-install ISO image for different desktop environments.

For example, Manjaro Linux uses Xfce by default but you can also download the ISO of GNOME version if you prefer using GNOME with Manjaro.

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

Recommended Read:

.ugb-5272623 .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-5272623 .ugb-blog-posts__title a{color:#000000 !important}.ugb-5272623 .ugb-blog-posts__title a:hover{color:#00b6ba !important}The Best Desktop Environments For Linux (We Tested Them So That You Don’t Have To)

A list of the best Linux Desktop Environments with their pros and cons.

In the end…

Desktop environments are crucial part of Linux desktop while Linux servers usually rely on command line interface. It’s not that you cannot install desktop environment on Linux servers but it’s an overkill and waste of important system resources which can be utilized by the applications running on the server.

I hope you have a slightly better understanding of desktop environments in Linux now. I highly recommend reading my explainer article on what is Linux and why there are so many Linux distributions. I have a good feeling that you’ll love the analogy I have used it.

KDE Neon: KDE’s Very Own Linux Distribution Provides the Latest and Greatest of KDE With the Simplicity of Ubuntu

Friday 21st of August 2020 06:11:45 AM

Recently, KDE Neon‘s latest version based on Ubuntu 20.04 LTS officially released. Visually, it will still be the same if you had KDE neon installed but with the latest Ubuntu LTS base.

Even though I’m not an experienced KDE user, I can tell that KDE Neon offers a lot of things to impress an average user for its initial impressions.

In this article, I’m going to give my impressions and an overview of KDE Neon in general rebased on Ubuntu 20.04 LTS.

What is KDE Neon? How is it Different from Kubuntu?

KDE Neon is an Ubuntu-based distro that features KDE desktop. Of course, you’ve already figured out that part — but how is it different from Ubuntu’s official KDE flavor, Kubuntu?

Interestingly, KDE Neon was announced by Jonathan Riddell (Founder of Kubuntu) after he was forced out of Kubuntu by Canonical.

If you care about having KDE on top of Ubuntu, both KDE Neon and Kubuntu should do the job. However, KDE Neon comes packed in with the latest and greatest from KDE (desktop environment and apps) given the fact the official KDE team works on KDE Neon distribution.

So, KDE Neon is essentially the bleeding edge distribution for KDE users. Well, having the latest KDE stuff on top of Ubuntu 20.04 LTS should be certainly exciting.

Now that you’re aware of the key difference, I’ll start with my impressions on using KDE Neon (with Ubuntu 20.04 LTS).

KDE Neon rebased with Ubuntu 20.04 LTS: An overview

It is worth noting that this isn’t a detailed review with benchmarks — but I found the experience pretty snappy.

The user interface is clean and the credits goes to KDE Plasma 5.19. You will find KDE Plasma 5.19.4 installed on it.

To manage your files, it comes with the Dolphin File manager which is pretty efficient to get things done faster without missing out on any feature for the most part.

So, you shouldn’t have any issues working with the files on your computer.

Also, VLC Media Player comes baked in with KDE Neon — hence, you wouldn’t need to install additional media codecs to play most of the videos.

In addition to VLC, there are several useful apps pre-installed that includes a screenshot capture utility, emoji selector, Firefox browser, wallet manager, KDE connect and system process manager among others.

For the key highlight of KDE Neon, I was blown away by the level of customization options available while providing an easy-to-use interface. The ability to add panels, widgets, customize the window style, buttons, and several others things got me excited for sure.

You also get a bunch of options to tweak ranging from the colors to emojis, cursors, workspaces, and what not. I’m not an experienced KDE user — but I want to work on a video to customize a KDE desktop to its extreme. You can let me know in the comments if you want us to cover that.

Of course, if you are a long time KDE user, you can tell better what it does the best compared to other distributions.

You can also watch the video overview to learn about KDE Neon rebased with Ubuntu 20.04:

Subscribe to our YouTube channel for more Linux videos Wrapping Up

To sum it up, KDE Neon is an awesome choice for KDE fans. It is also a good distribution choice for regular desktop Linux users.

What do you think? Among KDE based distributions, which one do you prefer? Do let us know your preference in the comment section.

FreeBSD Foundation Celebrates 20 Years of Promoting and Supporting FreeBSD Project

Thursday 20th of August 2020 05:56:41 AM

This year the FreeBSD Foundation is celebrating its 20th anniversary. To commemorate those years of dedication to open source, we are going to take a look at the history of FreeBSD and what exactly the FreeBSD Foundation does. Join me, won’t you?

History of FreeBSD

Unix first appeared when God delivered the source code to the chosen people after they had fled Egypt. Okay, maybe that’s not exactly how that happened (but I’m sure a few greybeards think that is how it happened.).

Dennis Ritchie and Ken Thompson working on Unix in Bell Labs | Image Credit – Nokia Bell Labs

Unix was first created in the early 70s and quickly took off among academic circles. In 1977, a student at the University of California at Berkeley named Bill Joy began working to compile different Unix tools to create the “first Berkeley Software Distribution, or 1BSD”. (If the name Bill Joy sounds familiar, its because he created the Vi text editor and was one of the co-founders of Sun Microsystems.)

The Berkeley Software Distribution version of Unix grew in popularity. Users would make their additions and bug fixes and send those updates back to the team at Berkeley. This user-generated content was then included in the next release of BSD.

In 1992, Bill and Lynne Jolitz released 386BSD, which was the first BSD to run on the commonly available Intel 386. The following year, 386BSD was “suffering rather severely from almost a year’s worth of neglect”.

So, Nate Williams, Rod Grimes, and Jordan Hubbard decided to fix that by creating an intermediate snapshot of 386BSD. This was originally done with the approval of Bill Jolitz. However, Bill withdrew his support. The developers decided to continue anyway by making it their own project.

The new project would be named FreeBSD. FreeBSD 1.0 was released in December of 1993. And the rest is history.

What the FreeBSD Foundation Does?

The FreeBSD Foundation was created in March of 2000. The foundation is a non-profit organization “dedicated to supporting and building the FreeBSD Project and community worldwide”. They raise funds to “fund and manage projects, sponsor FreeBSD events, Developer Summits and provide travel grants to FreeBSD developers”. The foundation takes care of all copyright, trademark, and other legal things having to do with FreeBSD.

As a result of its efforts to promote FreeBSD, here are just a few of the companies that use FreeBSD:

  • Netflix
  • Summersault Website Development
  • Hobnob, Inc.
  • Experts Exchange, LLC.
  • Juniper Networks
  • NYI
  • NetApp Data Fabric Group
  • WhatsApp
  • Verisign, Inc.
  • cleverbridge
  • and many more
Major Accomplishments of the FreeBSD Foundation FreeBSD Foundation at Rootconf in 2017 | Image Credit – Rootconf

I asked Deb Goodkin, executive director of the FreeBSD Foundation, what were the biggest accomplishments of the Foundation in its 20-year history.

As per their executive director, here are the biggest contributions of the FreeBSD foundation:

  • In the earlier years, we built a strong partnership with Sun Microsystems, to provide certified Java binaries for FreeBSD.
  • For over five years, FreeBSD Foundation provided a full-time Release Engineering Administrator who could focus on providing timely and reliable releases, as well as, improving and automating the processes going forward.
  • Foundation employs full and part-time software developers to implement features and functionality, review code changes, and immediately respond to urgent problems that have significantly helped improve FreeBSD over the years.
  • Advocating for FreeBSD around the world by giving FreeBSD presentations and workshops, creating training and educational material, and producing a FreeBSD magazine. Last year, the foundation promoted FreeBSD at 38 events around the world.
  • FreeBSD Foundation also developed and produced the FreeBSD Journal 5 years ago, providing the first professionally created FreeBSD magazine.
  • Foundation brought on a full-time software developer to oversee and improve the project’s continuous integration efforts.
  • Security improvements – Provided a part-time person to step in as the Deputy Security Officer and help oversee, improve, and streamline the processes.
  • With University of Waterloo Co-op program, 2-5 new college students actively contribute to the project each year.
  • Management and support of the FreeBSD port to 64-bit ARM processors.
  • Worked with National Day Foundation to declare 19th June as National FreeBSD Day.
Final Thoughts

In closing, I would like to applaud the FreeBSD Foundation for the work they have done in the last twenty years to support one of the top free and open-source operating systems. I hope that it continues to go strong. I also hope you have many more years of success.

FreeBSD might not be that popular among desktop users, but some Linux users switch to BSD to get their hands dirty with a more UNIX feel.

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

How to Install Packages in Atom Text Editor

Wednesday 19th of August 2020 03:34:32 PM

Atom is undoubtedly one of the best open source code editors available for any platform. Developed by GitHub, Atom takes pride in pitching itself as the hackable text editor for the 21st century.

How is it a ‘hackable’ text editor? Because you can extend the functionality of the editor by means of installing plugins for your need.

These extensions are called packages in Atom and Atom provides a handy command line utility apm in Linux to manage packages. With that, installing packages in Atom is as easy as typing this simple command in the terminal:

apm install package_name

If you are not too comfortable with the terminal, don’t worry. You can also install Atom plugins graphically from within the terminal.

In this tutorial, I’ll show you both graphical and terminal ways of installing plugins/extensions/packages (whatever you want to call them) in Atom.

Before you do that, make sure to install Atom editor on Ubuntu Linux or whichever operating system you are using. You cannot install Atom packages if you don’t have Atom installed in the first place, can you?

GUI method: Install new packages in Atom using the editor

Open Atom editor and from the top menu, go to Edit->Preferences.

You’ll see a Settings tab now. In here, go to the Install option from the left sidebar. You’ll now see some featured packages. You can also search for packages based on the name.

Installing these packages is as simple as clicking the install button.

To see the installed packages, from the left sidebar, choose Packages option. This will show you all installed packages in your Atom editor.

Don’t touch the Core packages. The additional plugins are listed under Community Packages. You can delete or change package configurations from here.

It was easy, wasn’t it? Now let’s go the command line way.

Terminal method: Installing packages in Atom using apm command

As I mentioned earlier, Atom provides a command line tool called apm (short for Atom Package Manager) that allows you to do all things you can do graphically, in the command line.

You can search for package names like this:

apm search search_string

It will show you all the packages matching your search query. As you can see in the image below, it also shows how many times a package has been downloaded and how many stars it has to indicate the popularity of a package.

You can pick the name of the package you want and install it the following way:

apm install package_name

The package usually gets installed in .atom/packages directory in your home directory. This is why you don’t need to use sudo while installing Atom packages.

Keep in mind that apm command doesn’t support tab completion by default so you need to know exact package name here.

There are many more arguments the apm command can take for managing the packages (installing, removing, deactivating, upgrading etc). You can see them with the help option -h.

GUI or CLI? Which method do you prefer?

I hope you find this quick little tutorial helpful in installing packages in Atom editor. If you face some issues, please feel free to ask in the comment section.

By the way, which method you prefer for installing Atom plugins? The GUI method or the command line one? Do share your preference.

Rejoice KDE Lovers! MX Linux Joins the KDE Bandwagon and Now You Can Download MX Linux KDE Edition

Wednesday 19th of August 2020 11:07:39 AM

Debian-based MX Linux is already an impressive Linux distribution with Xfce desktop environment as the default. Even though it works good and is suitable to run with minimal hardware configuration, it still isn’t the best Linux distribution in terms of eye candy.

That’s where KDE comes to the rescue. Of late, KDE Plasma has reduced a lot of weight and it uses fewer system resources without compromising on the modern looks. No wonder KDE Plasma is one of the best desktop environments out there.

With MX Linux 19.2, they began testing a KDE edition and have finally released their first KDE version.

Also, the KDE edition comes with Advanced Hardware Support (AHS) enabled. Here’s what they have mentioned in their release notes:

MX-19.2 KDE is an Advanced Hardware Support (AHS) enabled 64-bit only version of MX featuring the KDE/plasma desktop. Applications utilizing Qt library frameworks are given a preference for inclusion on the iso.

As I mentioned it earlier, this is MX Linux’s first KDE edition ever, and they’ve also shed some light on it with the announcement as well:

This will be first officially supported MX/antiX family iso utilizing the KDE/plasma desktop since the halting of the predecessor MEPIS project in 2013.

Personally, I enjoyed the experience of using MX Linux until I started using Pop OS 20.04. So, I’ll give you some key highlights of MX Linux 19.2 KDE edition along with my impressions of testing it.

MX Linux 19.2 KDE: Overview

Out of the box, MX Linux looks cleaner and more attractive with KDE desktop on board. Unlike KDE Neon, it doesn’t feature the latest and greatest KDE stuff, but it looks to be doing the job intended.

Of course, you will get the same options that you expect from a KDE-powered distro to customize the look and feel of your desktop. In addition to the obvious KDE perks, you will also get the usual MX tools, antiX-live-usb-system, and snapshot feature that comes baked in the Xfce edition.

It’s a great thing to have the best of both worlds here, as stated in their announcement:

MX-19.2 KDE includes the usual MX tools, antiX-live-usb-system, and snapshot technology that our users have come to expect from our standard flagship Xfce releases. Adding KDE/plasma to the existing Xfce/MX-fluxbox desktops will provide for a wider range user needs and wants.

I haven’t performed a great deal of tests but I did have some issues with extracting archives (it didn’t work the first try) and copy-pasting a file to a new location. Not sure if those are some known bugs — but I thought I should let you know here.

Other than that, it features every useful tool you’d want to have and works great. With KDE on board, it actually feels more polished and smooth in my case.

Along with KDE Plasma 5.14.5 on top of Debian 10 “buster”, it also comes with GIMP 2.10.12, MESA, Debian (AHS) 5.6 Kernel, Firefox browser, and few other goodies like VLC, Thunderbird, LibreOffice, and Clementine music player.

You can also look for more stuff in the MX repositories.

There are some known issues with the release like the System clock settings not being able adjustable via KDE settings. You can check their announcement post for more information or their bug list to make sure everything’s fine before trying it out on your production system.

Wrapping Up

MX Linux 19.2 KDE edition is definitely more impressive than its Xfce offering in my opinion. It would take a while to iron out the bugs for this first KDE release — but it’s not a bad start.

Speaking of KDE, I recently tested out KDE Neon, the official KDE distribution. I shared my experience in this video. I’ll try to do a video on MX Linux KDE flavor as well.

Subscribe to our YouTube channel for more Linux videos

Have you tried it yet? Let me know your thoughts in the comments below!

Automatically Change Color Scheme of Your Linux Terminal Based on Your Wallpaper

Tuesday 18th of August 2020 07:30:44 AM

If you are It’s FOSS newsletter subscriber, you already know that we have started a new ‘Terminal Tuesday’ series. In this, you’ll get to read about command line tools or tips/tricks to help you in terminal.

Terminal is not all about serious work, it can be fun sometimes. You can play games in terminal or use some funny Linux commands to amuse yourself, colleagues or family members.

This week’s terminal tip is a fun one. It’s about changing the color scheme of your terminal based on your wallpaper.

Why would you do that? Because it looks good and if you are sharing your Linux desktop screen, it adds a nice touch to the overall look.

Pywal: Handy utility to automatically change Linux terminal scheme based on background wallpaper

Pywal is nifty Python-based command line tool that changes the terminal colors based on the colors of that wallpapers.

You can use it to set the wallpaper and you’ll see that the terminal colors change immediately.

Take a look at this. Looks good, isn’t it?

Let me show you how to use Pywal properly.

Step 1: Install Pywal on Linux

Pywal is based on Python so you can easily install it on any Linux distribution with Python support. It is even easier for Arch/Manjaro users as they can find python-pywal package in their repository.

You’ll need to install Pip first. You can use your distribution’s package manager to install pip3 (for Python3). On Debian/Ubuntu based distributions, you can use the following command:

sudo apt install python3-pip

Now that you have pip3 on your system, use it to install Pywal for all the users on your system:

sudo pip3 install pywal Step 2: Using Pywal to change the terminal color scheme

I presume that you are a bit familiar with Linux commands to use Pywal.

Download the wallpaper of your choice. Make a note of the location of the wallpaper and its file name.

Open a terminal and use the wal command with the location of your wallpaper file as input:

wal -i path_to_wallpaper_file

You’ll see that your system’s background is changed and the terminal changes it color immediately based on the background wallpaper:

Step 3: Make new terminal use the color scheme of wallpaper

Open a new terminal and you’ll notice that it doesn’t use the new color scheme.

Weird? Not so much. By default, the changes color scheme only applies to already running terminal screens. Newly opened terminals keep on using the system’s color scheme.

This can be changed easily. You can use change your shell’s configuration file.

Normally, you should be using bash shell but if you are not sure, check which shell you are using by default.

Open ~/.bashrc file in your favorite terminal based text editor. On Ubuntu, you can always use the nano editor.

At the end of this ~/.bashrc file, add the following line, save and exit the file.

# Import colorscheme from 'wal' asynchronously # & # Run the process in the background. # ( ) # Hide shell job control messages. (cat ~/.cache/wal/sequences &) # Alternative (blocks terminal for 0-3ms) cat ~/.cache/wal/sequences # To add support for TTYs this line can be optionally added. source ~/.cache/wal/

Now the new color scheme will be applied to the new terminals as well.

Step 4: Keep the new color scheme even after reboot (if you want it)

When you reboot your system, pywal won’t run anymore and your terminal will revert to the old color scheme.

If you want to keep the color scheme based on the wallpaper, pywal provides a handy option -R that restores the last used color scheme.

All you have to do is to add wal -R command to the list of your startup programs.

This step could be different for different distributions. On Ubuntu, you can manage startup applications using the ‘Startup Applications’ program.

Add the command, give it a name and description like this:

Now Pywal run automatically at each reboot and restore the last used color scheme. In other words, your terminal will have the colors based on your desktop background (if it was setup by pywal).

Take the customization to the next level by adding the color scheme to other utilities

In many Linux communities, people share the screenshots of their desktop. It’s FOSS Facebook group hosts DesktopFriday post where members share their desktops and you’ll find them using Pywal for other applications as well.

Pywal has some plugins that extend the color scheme to Vim, Emacs, Gnuplot or even CLI-Visualizer (audio visualizer).

Credit: cli-visualizer

You can also use Pywal with window managers like i3, sway, taskbars like polybar. Plenty of customization scope if you are interested.

Do you like Pywal?

I understand that not everyone is into tweaking the looks and feels of their desktop but for those who do, Pywal is an awesome utility.

How about you? Did you like Pywal? Do you know some other utility of this kind that you would like to be covered under our ‘Terminal Tuesday’ series? I welcome your feedback and suggestions.

CryptPad: An Encrypted Open Source Google Docs Alternative for Privacy Cautious Users

Monday 17th of August 2020 05:52:33 AM

Brief: CryptPad is an amazing open-source online suite for creating documents, spreadsheets, presentations, boards, and more. The best part is that all the documents are encrypted. Take a look at CryptPad in this week’s open source software highlight.

Without a doubt, Google’s suite of online office products that include Google Docs, Google Sheets, and Google Slides is popular among the Internet users. It is available for free, has plenty of features and integrates with other Google services.

Not everyone trusts Google, specially not the people who care about the privacy of their data. For such privacy aware people, I have found an excellent open source online office suite called CryptPad.

As the name indicates, CryptPad focuses on encryption. All your data stored in the cloud is encrypted with your own key. Sounds good? Let’s see more details on it.

CryptPad: A Browser-Based Encrypted Suite Of Real-Time Editors

Ranging from a text editor to whiteboards and kanban boards, CryptPad offers the best of the bunch.

And all of this is encrypted on the client-side so no information on your documents are known to the server.

Cryptpad Richtext Editor

When you sign up for the service using the official instance, it should give you 50 MB of storage (CryptDrive). However, the storage space has been bumped up to 1 GB amidst the Covid-19 pandemic to let more users consider using CryptPad for free while they work from home. So, depending on when you’re reading this article, the free storage can vary.

It is completely free to get started — but if you want more storage and the ability to create unlimited pads (documents), you need to upgrade the account to a paid plan.

In this article, we’re focusing on its official instance (— but you can choose to self-host by following the instructions on its GitHub page.

CryptPad is from the developers of XWiki and the team is working on other open source privacy-focused products and services.

Features of CryptPad

Considering it as a suite of office tools and cloud services, it packs in a lot of features. Here they are:

  • Offers Rich Text editor for document creation/editing
  • Offers the ability to create and manage Spreadsheet
  • Provides a separate code editor with color scheme
  • Ability to create a presentation
  • Easily create a private or public poll
  • Offers a Kanban board editor
  • Provides a whiteboard to take notes or anything you’d need
  • Password protection for your files/documents
  • Self-destruction functionality for your documents
  • Ability to make the document public using link sharing or keep it restricted
  • Control the permissions of your document before sharing it to someone
  • Easily embed the pad anywhere using iframe snippet
  • Collaboration options to chat/edit documents
  • Client-side encryption (Server does not know the contents of your documents)
My Thoughts on Using CryptPad

I’ve been using CryptPad (official instnace) for a while now and as far as I’m aware of other open-source online office/cloud services, CryptPad seems to be one of the best open-source privacy-focused solution there is.

I’ve also tried other options like ArcaneOffice — but they aren’t usable or fast enough to get things done. So, in that sense, I’d say CryptPad is a good alternative to Microsoft 365 or Google Docs.

With that being said, it is worth noting that Google Docs is potentially a better option if you’ve got poor connectivity because I’ve lost my progress (the auto-save failed) when using CryptPad. So, just a heads up there!

If that’s not something you should be concerned about, CryptPad comes with all the good features along with some bells and whistles.

Wrapping Up

I think it’s safe to call it a secure and private alternative to any other online suite of collaborative editors like Google Docs.

Even though if you’re someone who can self-host an instance, CryptPad makes it easy for average users to get a privacy-first experience while working with documents, spreadsheets, boards, and presentations in their browsers easily.

For sensitive or important documents, CryptPad can be a good choice over Google or Microsoft services. Of course, it’s not meant for everyone — but definitely worth a try for people who prefer using encrypted services!

If you don’t like online editors, you may take a look at EncryptPad which is an encrypted text editor.

Were you aware of CryptPad? Have you tried it already? Feel free to share your thoughts in the comments down below.

More in Tux Machines

Type Title Author Replies Last Postsort icon
Story System76 to Launch Their First AMD-Only “Pangolin” Linux Laptop Marius Nestor 2 04/12/2020 - 10:41am
Story Don't Panic: Kubernetes and Docker Roy Schestowitz 3 04/12/2020 - 10:38am
Story Pandemic did not get in the way of Linux reaching a million commits Rianne Schestowitz 1 04/12/2020 - 10:23am
Story Android Leftovers Rianne Schestowitz 04/12/2020 - 10:11am
Story Today in Techrights Roy Schestowitz 04/12/2020 - 10:08am
Story Samsung Tizen OS is now the Largest TV Platform Rianne Schestowitz 04/12/2020 - 9:57am
Story Andes adds to its Linux-ready RISC-V line-up with L2 and multi-core ready models Rianne Schestowitz 04/12/2020 - 9:50am
Story Manjaro 20.2 Brings the Latest Kernel, GNOME, KDE, and Xfce arindam1989 04/12/2020 - 6:06am
Story today's leftovers Roy Schestowitz 04/12/2020 - 12:10am
Story Audiocasts/Shows: BSD Now, Ubuntu Podcast, and the Linux Link Tech Show Roy Schestowitz 04/12/2020 - 12:09am