Language Selection

English French German Italian Portuguese Spanish


Syndicate content It's FOSS
A Linux and Open Source Web Portal
Updated: 6 days 7 hours ago

ESPlot: Open Source Software for Plotting Real-Time, High-Speed Signals For Embedded Systems

Monday 22nd of February 2021 02:41:00 AM

Confronted with the need of plotting high-speed (or high number of data) signals, typically for embedded systems applications and real-time, research engineers at the Saarland University, Germany have developed their own software called ESPlot.

ESPlot communicates with microcontroller boards over a custom serial protocol. In applications where the microcontroller is executing a real-time process, signals can be streamed to a computer in a synchronous way and data can be sent to the real-time process in an asynchronous way.

ESPlot allows recording and plotting signals to screen by means of time plots, FFT plots and X/Y plots.

ESPlot has been developed in Qt to support multi-platform and it is OpenGL hardware accelerated.

Since it has been designed to provide high performance, it needs systems with a multicore CPU with 4 GB RAM and a dedicated GPU supporting OpenGL 3.2. Features of ESPlot

Here are the main features of ESPlot:

  • Streaming and recording of real-time signals
  • Time plots, XY-Plots, FFT plot
  • Able to send commands to the microcontroller
  • Communication over serial interfaces
  • Oscilloscope functionality, e.g. Trigger, Autoscale, Screenshot
  • Externally controllable record function
  • Export data to Matlab for further processing
  • Multimonitor-Support with fully screen capability
  • Fully personizable GUI
  • OpenGL-Acceleration
  • Multi-threading support
  • Platform independent (Library is written in C)
  • Supports Windows 10 64-bit, Linux 64-bit, Software can be compiled for ARM (e.g. Raspberry Pi)
Installing ESPLot

At present, ESPlot is available for Windows and Linux. The macOS version is under development.

For Linux, there is a tar xz file available. You can download it, extract it and run the executable file.

The software can actually interface with the majority of microcontrollers, but code for the classic Arduino boards is also available.

All of these stuff can be downloaded from its webpage:

Download ESPlot

The software is licensed under the AGPL 3.0. You can get the source code here.

In the end …

Since most of the other 3d-hardware accelerated plots are expensive and not always customizable, ESPlot would be a good choice for people in this field if it fulfills their need.

I am not involved in this embedded system and microcontrollers, so it wasn’t possible for me to test it out. But don’t let that discourage you from trying it yourself.

Not Comfortable Using youtube-dl in Terminal? Use These GUI Apps

Saturday 20th of February 2021 04:11:29 AM

If you’ve been following us, you probably already know that youtube-dl project was taken down temporarily by GitHub to comply with a request.

Considering that it’s now restored and completely accessible, it is safe to say that it not an illegal tool out there.

It is a very useful command-line tool that lets you download videos from YouTube and some other websites. Using youtube-dl is not that complicated but I understand that using commands for such tasks is not everyone’s favorite way.

The good thing is that there are a few applications that provide GUI frontend for youtube-dl tool.

Prerequisites for Using youtube-dl GUI Apps

Before you try some of the options mentioned below, you may need to have youtube-dl and FFmpeg installed on your system to be able to download / choose different format to download.

You can follow our complete guide on using ffmpeg to set it up and explore more about it.

To install youtube-dl, you can type in the following commands in your Linux terminal:

sudo curl -L -o /usr/local/bin/youtube-dl

Once you download the latest version, you just need to make it executable and ready for use by typing in:

sudo chmod a+rx /usr/local/bin/youtube-dl

You can also follow the official setup instructions if you need other methods to install it.

Youtube-dl GUI Apps

Most download managers on Linux also allow you to download videos from YouTube and other websites. However, the youtube-dl GUI apps might have additional options like extracting only audio or downloading the videos in a particular resolution and video format.

Do note that the list below is in no particular order of ranking. You may choose what suits your requirements.

1. AllTube Download

Key Features:

  • Web GUI
  • Open-Source
  • Self-host option

AllTube is an open-source web GUI that you can access by visiting

If you choose to utilize this, you do not need to install youtube-dl or ffmpeg on your system. It offers a simple user interface where you just have to paste the URL of the video and then proceed to choose your preferred file format to download. You can also choose to deploy it on your server.

Do note that you cannot extract the MP3 file of a video using this tool, it is only applicable for videos. You can explore more about it through their GitHub page.

AllTube Download Web GUI 2. youtube-dl GUI

Key Features:

  • Cross-platform
  • Displays estimated download size
  • Audio and video download option available

A useful cross-platform GUI app made using electron and node.js. You can easily download both audio and video along with the option to choose various file formats available.

You also get the ability to download parts of a channel or playlist, if you want. The estimated download size definitely comes in handy especially if you are downloading high quality video files.

As mentioned, it is also available for Windows and macOS. And, you will get an AppImage file available for Linux in its GitHub releases.

Youtube-dl GUI 3. Videomass

Key Features:

  • Cross-platform
  • Convert audio/video format
  • Multiple URLs supported
  • Suitable for users who also want to utilize FFmpeg

If you want to download video or audio from YouTube and also convert them to your preferred format, Videomass can be a nice option.

To make this work, you need both youtube-dl and ffmpeg installed on your system. You can easily add multiple URLs to download and also set the output directory as you like.

You also get some advanced settings to disable youtube-dl, change file preferences, and a few more handy options as you explore.

It offers a PPA for Ubuntu users and an AppImage file for any other Linux distribution. Explore more about it in its GitHub page.

Videomass Additional Mention: Haruna Video Player

Key Features:

  • Play/Stream YouTube videos

Haruna video player is originally a front-end for MPV. Even though you cannot download YouTube videos using it, you can watch/stream YouTube videos through youtube-dl.

You can explore more about the video player in our original article about it.

Wrapping Up

Even though you may find more youtube-dl GUIs on GitHub and other platforms, most of them do not function well and end up showing multiple errors or aren’t actively developed anymore.

Tartube is one such option that you can try, but it may not work as expected. I tested it with Pop!_OS and on Ubuntu MATE 20.04 (fresh install). Every time I try to download something, it fails, no matter what I do (even with youtube-dl and ffmpeg installed in the system).

So, my personal favorite seems to be the web GUI (AllTube Download) that does not depend on anything installed on your system and can be self-hosted as well.

Let me know in the comments what works for you best and if I’ve missed any of your favorite options.

Starship: Open-Source Customizable Prompt for Any Shell

Friday 19th of February 2021 06:20:27 AM

Brief: A cross-shell prompt that makes it easy to customize and configure the Linux terminal prompt, if you care too much about the looks of your terminal.

While I’ve already covered a few tips to help you customize the looks of your terminal, I also came across suggestions for an interesting cross-shell prompt.

Starship: Tweak your Linux Shell Prompt Easily

Starship is an open-source project that’s written in Rust to help you set up a minimal, fast, and customizable shell prompt.

No matter whether you’re using bash, fish, PowerShell on Windows or any other shell, you can utilize Starship to customize the appearance.

Do note that you do have to go through its official documentation to be able to perform advanced configuration for everything you like but here I will include a simple sample configuration to get a head start along with some key information about Startship.

Starship focuses on giving you a minimal, fast, and useful shell prompt by default. It even records and shows the time taken to perform a command as well. For instance, here’s a screenshot:

Not just limited to that, it is also fairly easy to customize the prompt to your liking. Here’s an official GIF that shows it in action:

Let me help you set it up. I am using bash shell on Ubuntu to test this out. You can refer to the steps I mention, or you can take a look at the official installation instructions for more options to install it on your system.

Key Highlights of Starship
  • Cross-platform
  • Cross-shell support
  • Ability to add custom commands
  • Customize git experience
  • Customize the experience while using specific programming languages
  • Easily customize every aspect of the prompt without taking a hit on performance in a meaningful way
Installing Starship on Linux


Installing Starship requires downloading a bash script from the internet and then run the script with root access.|
If you are not comfortable with that, you may use snap here:
sudo snap install starship

Note: You need to have Nerd Font installed to get the complete experience.

To get started, ensure that you have curl installed. You can install it easily by typing in:

sudo apt install curl

Once you do that, type in the following to install Starship:

curl -fsSL | bash

This should install Starship to usr/local/bin as root. You might be prompted for the password. Here’s how it would look:

Add startship to bash

As the screenshot suggests, you will get the instruction to set it up in the terminal itself. But, in this case, we need to add the following line at the end of our bashrc user file:

eval "$(starship init bash)"

To add it easily, simply type in:

nano .bashrc

Now, navigate to the end of the file by scrolling down and add the line at the end of the file as shown in the image below:

Once done, simply restart the terminal or restart your session to see the minimal prompt. It might look a bit different for your shell, but more or less it should be the same by default.

Once you set it up, you can proceed customizing and configuring the prompt. Let me show you an example configuration that I did:

Configure Starship Shell Prompt: The Basics

To get started, you just need to make a configuration file (TOML file) inside a .config directory. If you already have one, you should simply navigate to the directory and just create the configuration file.

Here’s what you have to type to create the directory and the config file:

mkdir -p ~/.config && touch ~/.config/starship.toml

Do note that this is a hidden directory. So, when you try to access it from your home directory using the file manager, make sure to enable viewing hidden files before proceeding.

From this point onwards, you should refer to the configuration documentation if you want to explore something you like.

For an example, I configured a simple custom prompt that looks like:

To achieve this, my configuration file looks like this:

It is a basic custom format as per their official documentation. But, if you do not want a custom format and simply want to customize the default prompt with a color or a different symbol, that would look like:

And, the configuration file for the above customization looks like:

Of course, that’s not the best-looking prompt one can make but I hope you get the idea.

You can customize how the directory looks by including icons/emojis, you can tweak the variables, format strings git commits, or while using specific programming languages.

Not just limited to that, you can also create custom commands to use in your shell to make things easier or comfortable for yourself.

You should explore more about in their official website and its GitHub page. Concluding Thoughts

If you just want some minor tweaks, the documentation might prove to be too overwhelming. But, even then, it lets you achieve a custom prompt or a minimal prompt with little effort that you can apply on any common shell and any system you’re working on.

Perosnally, I don’t think it’s very useful but several readers suggested it and it seems people do love it. I am eager to see how you customize the Linux terminal for different kinds of usage.

Feel free to share what you think about it and if you like it, in the comments down below.

7 Ways to Customize Cinnamon Desktop in Linux [Beginner’s Guide]

Thursday 18th of February 2021 06:36:04 AM

Linux Mint is one the best Linux distributions for beginners. Especially Windows users that want to switch to Linux, will find its flagship Cinnamon desktop environment very familiar.

Cinnamon gives a traditional desktop experience and many users like it as it is. It doesn’t mean you have to content with what it provides. Cinnamon provides several ways for customizing the desktop.

Reading about MATE and KDE customization guides, many readers requested similar tutorial for Linux Mint Cinnamon as well. Hence, I created this basic guide on tweaking the looks and feel of Cinnamon desktop.

7 Different Ways for Customizing Cinnamon Desktop

For this tutorial, I’m using Linux Mint Debian Edition (LMDE 4). You can use this on any Linux distribution that is running Cinnamon. If you are unsure, here’s how to check which desktop environment you are using.

When it comes to changing the cinnamon desktop appearance, I find it very easy to do so as it is just 2 clicks away. Click on the menu icon and then on settings as shown below.

All the appearance settings are placed on the top of the window. Everything on “System Settings” window looks neat and tidy.

1. Effects

The effects options are simple, self-explanatory and straightforward. You can turn on and off the effects for different elements of the desktop or change the window transitioning by changing the effects style. If you want to change the speed of the effects, you can do it through the customise tab.

2. Font Selection

In this section, you can differentiate the fonts you use throughout the system in size and type, and through the font settings you can fine-tune the appearance.

3. Themes and icons

A reason that I used to be a Linux Mint user for a few years, is that you don’t need to go all over the place to change what you want. Window manager, icon and panel customization all in one place!

You can change your panel to a dark or light colour and the window borders to suit your changes. The default Cinnamon appearance settings look the best in my eyes, and I even applied the exact same when I was testing the Ubuntu Cinnamon Remix but in orange colour.

4. Cinnamon Applets

Cinnamon applets are all the elements included at your bottom panel like the calendar or the keyboard layout switcher. At the manage tab, you can add/remove the already installed applets.

You should definitely explore the applets you can download, the weather and CPU temperature Indicator applets were my choices from the extras.

5. Cinnamon Desklets

Cinnamon Desklets are applications that can be placed directly to your desktop. Like all the other customization option, Desklets can be accessed from the settings menu and the wide variety of choices can attract anyone’s interest. Google calendar is a handy app to keep track of your schedule directly on your desktop.

6. Desktop wallpaper

To change the desktop background on Cinnamon desktop, simply right click on the desktop and choose “Change Desktop Background. It will open an easy to use window, where on the left side the available background system folders are listed and on the ride pane there is a preview of the images within each folder.

You can add your own folders by clicking the plus (+) symbol by navigating to its path. At the Settings tab you can choose if you background will be static or slideshow and how the background is being positioned on the screen.

7. Customize what’s on your desktop screen

The background is not the only desktop element that you can change. You can find more options if you right click on the desktop and click on “Customise”.

You can change the icon size, change the placement from vertical to horizontal and the spacing among them on both axis. If you don’t like what you did, click in reset grid spacing to go back to the default.

Additionally, if you click on “Desktop Settings”, more options will be revealed. You can disable the icons on the desktop, place them on the primary or secondary monitor, or even both. As you can see, you can select some of the icons to appear on your desktop.


Cinnamon desktop is one of the best to choose, especially if you are switching from windows to Linux, but also for someone who is looking to a simple yet elegant desktop.

Cinnamon desktop is very stable and never crashed on my hands, and it is one of the main reasons why it served me for so long on a variety of Linux distributions.

I didn’t go in much details but gave you enough pointers to explore the settings on your own. Your feed to improve Cinnamon cuztomization is welcome.

What is PPA Purge? How to Use it in Ubuntu and other Debian-based Distributions?

Tuesday 16th of February 2021 01:22:29 PM

PPA is a popular method of installing additional applications or newer versions of a software in Ubuntu.

I have written a detailed guide on PPA so I will just quickly recall it here. PPA is a mechanism developed by Ubuntu to enable developers to provide their own repositories. When you add a PPA, you add additional repository to your system and thus you can download applications from this additional repository.

sudo add-apt-repository ppa:ppa-address sudo apt update sudo apt install package_from_ppa

I have also written about deleting PPAs from your system. I briefly mentioned the PPA Purge tool in that article. In this tutorial, you’ll get more detailed information about this handy utility.

What is PPA Purge?

PPA Purge is a command line tool that disables a PPA repository from your software sources list. Apart from that, it reverts the system back to official Ubuntu packages. This is a different behavior than simply deleting the PPA repository.

Suppose application ABC has version x available from Ubuntu repositories. You add a PPA that provides a higher version y of the same application/package ABC. When your Linux system finds that the same package is available from multiple sources, it uses the source that provides a newer version.

In this example, you’ll have version y of application ABC installed thanks to the PPA you added.

Normally, you would remove the application and then remove the PPA from sources list. But if you use ppa-purge to disable the said PPA, your application ABC will automatically revert to the older version x provided by Ubuntu repositories.

Do you see the difference? Probably not. Let me explain it to you with real examples.

Reverting applications to the official version provided by Ubuntu

I heard that the upcoming VLC 4.0 version has major UI overhaul. I wanted to try it before it is officially released and so I used the daily build PPA of VLC to get the under-development version 4.

Take a look at the screenshot below. I have added the VLC PPA (videolan/master-daily) and this PPA provides VLC version 4.0 release candidate (RC) version. Ubuntu repositories provide VLC version 3.0.11.

If I use the ppa-purge command with the VLC daily build PPA, it disables the PPA and reverts the installed VLC version to 3.0.11 which is available from Ubuntu’s universal repository.

You can see that it informs you that some packages are going to be downgraded.

When the daily build VLC PPA is purged, the installed version reverts to what Ubuntu provides from its official repositories.

You might think that VLC was downgraded because it was upgraded from version 3.0.11 to VLC 4.0 with the PPA. But here is a funny thing. Even if I had used the PPA to install VLC 4.0 RC version afresh (instead of upgrading it), it would still be downgraded instead of being removed from the system.

Does it mean ppa-purge command cannot remove applications along with disabling the PPA? Not quite so. Let me show another example.

PPA Purge impact on application only available from a PPA

I recently stumbled across Plots, a nifty tool for plotting mathematical graphs. Since it is a new application, it is not available in Ubuntu repositories yet. I used its PPA to install it.

If I use ppa-purge command on this PPA, it disables the PPA first and then looks to revert it to the original version. But there is no ‘original version’ in Ubuntu’s repositories. So, it proceeds to uninstall the application from Ubuntu.

The entire process is depicted in the single picture below. Pointer 1 is for adding PPA, pointer 2 is for installing the application named plots. I have discarded the input for these two commands with redirection in Linux.

You can see that when PPA Purge is used (pointer 3), it disables the PPA (pointer 4) and then proceeds to inform that the application plots will be removed (pointer 5).

Deleting a PPA vs disabling it

I have repeatedly used the term ‘disabling PPA’ with PPA Purge. There is a difference between disabling PPA and deleting it.

When you add a PPA, it adds a new file in the /etc/apt/sources.list.d directory. This file has the URL of the repository.

Disabling the PPA keeps this file but it is commented out the repository in the PPA’s file. Now this repository is not considered while updating or installing software.

You can see disabled PPA repository in Software & Updates tool:

When you delete a PPA, it means deleting the PPA’s file from etc/apt/sources.list.d directory. You won’t see it anywhere on the system.

PPA deleted

Why disable a PPA instead of deleting it? Because it is easier to re-enable it. You can do just check the box in Software & Updates tool or edit the PPA file and remove the leading # to uncomment the repository.

Recap of what PPA Purge does

If it was too much information, let me summarize the main points of what the ppa-purge script/tool does:

  • PPA Purge disables a given PPA but doesn’t delete it.
  • If there was a new application (which is not available from any sources other than only the PPA) installed with the given PPA, it is uninstalled.
  • If the PPA upgraded an already installed application, that application will be reverted to the version provided by the official Ubuntu repositories.
  • If you used the PPA to install (not upgrade) a newer version of an application (which is also available from the official Ubuntu repository), using PPA Purge will downgrade the application version to the one available from Ubuntu repositories.
Using PPA Purge

Alright! Enough explanation. You might be wondering how to use PPA Purge.

You need to install ppa-purge tool first. Ensure that you have universe repository enabled already.

sudo apt install ppa-purge

As far using PPA Purge, you should provide the PPA name in a format similar to what you use for adding it:

sudo ppa-purge ppa:ppa-name

Here’s a real example:

If you are not sure of the PPA name, use the apt show command to display the source repository of the package in question.

apt show vlc Finding PPA source URL

For example, the source for VLC PPA shows groovy/main. Out of this the terms after and before Ubuntu are part of PPA name. So here, you get the PPA name as videolan/master-daily.

If you have to use to purge the PPA ‘videolan/master-daily’, you use it like this by adding ppa: before PPA name:

sudo ppa-purge ppa:videolan/master-daily Do you purge your PPAs?

I wanted to keep this article short and crisp but it seems I went in a little bit of more detail.As long as you learn something new, you won’t mind the additional details, will you?

PPA Purge is a nifty utility that allows you to test newer or beta versions of applications and then easily revert to the original version provided by the distribution. If a PPA has more than one application, it works on all of them.

Of course, you can do all these stuff manually which is to disable the PPA, remove the application and install it again to get the version provided by the distribution. PPA Purge makes the job easier.

Do you use ppa-purge already or will you start using it from now onwards? Did I miss some crucial information or do you still have some doubts on this topic? Please feel free to use the comment sections.

Meet Plots: A Mathematical Graph Plotting App for Linux Desktop

Monday 15th of February 2021 05:18:19 AM

Plots is a graph plotting application that makes it easy to visualize mathematical formulae. You can use it for trigonometric, hyperbolic, exponential and logarithmic functions along with arbitrary sums and products.

Plot mathematical graphs with Plots on Linux

Plots is a simple application inspired by graph plotting web apps like Desmos. It allows you to plot graphs of different math functions, which you can enter interactively, as well as customizing the color of your plots.

Written in Python, Plots takes advantage of modern hardware using OpenGL. It uses GTK 3 and thus integrates well with the GNOME desktop.

Using plots is straightforward. To add a new equation, click the plus sign. Clicking the trash icon deletes the equation. There is also the option to undo and redo. You can also zoom in and zoom out.

The text box where you type is equation friendly. The hamburger menu has a ‘help’ option to access the documentation. You’ll find useful tips on how to write various mathematical notations here. You can also copy-paste the equations.

In dark mode, the sidebar equation area turns dark but the main plotting area remains white. I believe that’s by design perhaps.

You can use multiple functions and plot them all in one graph:

I found it crashing while trying to paste some equations it could not understand. If you write something that it cannot understand or conflicts with existing equations, all plots disappear, Removing the incorrect equation brings back the plot.

No option to export the plots or copy them to clipboard unfortunately. You can always take screenshots in Linux and use the image in your document where you have to add the graphs.

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

Recommended Read:

.ugb-16406c5 .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-16406c5 .ugb-blog-posts__title a{color:#000000 !important}.ugb-16406c5 .ugb-blog-posts__title a:hover{color:#00b6ba !important}KeenWrite: An Open Source Text Editor for Data Scientists and Mathematicians Installing Plots on Linux

Plots has different installation options available for various kinds of distributions.

Ubuntu 20.04 and 20.10 users can take advantage of the PPA:

sudo add-apt-repository ppa:apandada1/plots sudo apt update sudo apt install plots

For other Debian based distributions, you can install it from the deb file available here.

For Arch users, Plots has been added to AUR after this article was published.

Apart from that, you can also use the Flatpak package or install it using Python.

Plots Flatpak Package

If interested, you may check out the source code on its GitHub repository. If you like the application, please consider giving it a star on GitHub.

Plots Source Code on GitHub


The primary use case for Plots is for students learning math or related subjects, but it can be useful in many other scenarios. I know not everyone would need that but surely helpful for the people in the academics and schools.

I would have liked the option to export the images though. Perhaps the developers can add this feature in the future releases.

Do you know any similar applications for plotting graphs? How does Plots stack up against them?

Dual Booting Ubuntu With Windows 10 Pro With BitLocker Encryption

Thursday 11th of February 2021 03:10:58 PM

I have written about dual booting Windows and Ubuntu in the past. The process has improved so much in the last few years. Ubuntu and other Linux play very well with secure boot and UEFI now.

So, why I am I writing about installing Ubuntu with Windows 10 once again? Because these days Windows 10 Pro version comes with BitLocker encryption and hence when you try to dual boot like normal, it either refuses or creates issue.

I noticed it with my new Dell XPS 13. I bought the last Dell XPS in France and it was preinstalled with Ubuntu. Unfortunately, Dell India had no option other than buying the Windows 10 version. In a way, that’s good because it helped me to write this tutorial.

To be honest, dual booting with BitLocker encrypted disk is also not complicated. It just involves the extra step of disabling encryption before starting the dual boot and re-enable it after installing Linux.

Don’t worry. I won’t leave you just like that with my words. I’ll show you each and every step with appropriate details.

Installing Ubuntu with BitLocker Encrypted Windows 10

Please keep in mind that I have used Ubuntu here, but the steps should be applicable to Linux Mint and other Ubuntu-based distributions as well.


This dual boot guide is exclusively for systems that have Windows 10 installed with BitLocker. Since it is relatively a newer thing, the steps are only for UEFI systems with GPT portioning scheme. Please check your system first before following the steps.

I also recommend reading the entire steps before you start following it. This may help you locate pain points and you may prepare accordingly.


Here are the things you need:

  • A Windows 10 system with BitLocker encryption.
  • A USB key (also known as pen drive or USB drive) of at least 4 GB in size and no data on it.
  • Microsoft account for saving the recovery key of BitLocker encryption (external USB can be used as well but MS account will be more convenient).
  • Internet connection.
  • Optional: External USB disk for making back up of your data.
  • Optional: Windows recovery disk.
  • Some time and patience (mandatory).
Step 1: Make a backup of your important data on an external disk

This is optional yet recommended. You should make a backup of your important files on an external disk because you are going to deal with disk partitions.

If you are not sure of anything, I suggest look for documents, music, movies and other important stuff you must not lose and copy them on an external USB disk. You can use an external HDD (slower but cheaper) or SSD (faster but expensive).

Preview Product Price SanDisk 500GB Extreme Portable SSD - Up to 1050MB/s - USB-C, USB 3.2 Gen 2 - External Solid State... $94.99 Buy on Amazon Preview Product Price Toshiba Canvio Advance 1TB Portable External Hard Drive USB 3.0, Black - HDTCA10XK3AA $47.99 Buy on Amazon

You may also use a pen drive for copying files and storing it on some other computer (if you have more than one system).

If possible, have a Windows 10 recovery disk with you (optional)

This one is optional too but could be helpful if anything goes wrong. You could fix the boot records and restore Windows.

Step 2: Verify that you have BitLocker encrypted disk

First thing first, check if you actually have BitLocker encryption enabled. How do you do that? It’s simple. Go to file explorer and check if your main drive has a lock displayed.

Alternatively, just search for BitLocker in Windows menu and see if you have BitLocker settings.

Bitlocker Settings Step 3: Back up recovery key and disable BitLocker encryption

Now that you know that you have BitLocker encryption enabled on your system, the next step is to disable it.

Before you do that, you must back up your recovery key. It is a 40 digit key to reset BitLocker encryption. Why? Because you are going to change the boot settings and BitLocker won’t like that. It will ask you to enter the recovery key to ensure that your encrypted disk is in safe hands.

You may back up the key on an external USB disk or to your Microsoft account. I saved it to my Microsoft account because it is easier to keep track of the recovery keys at one central place. Of course, you must ensure that you have access to a Microsoft account.

Verify that your recovery key is properly saved by going to this link and logging into your Microsoft account.

Once you have saved the recovery key, disable BitLocker encryption. The decryption process may take some time depending on how much disk space you had already utilized.

While you wait for the decryption to complete, you should go on and download Ubuntu ISO. Once BitLocker is disabled, you would notice that the lock has disappeared from the drive icon.

Step 4: Download Ubuntu ISO

While the disk is being decrypted, you should utilize the time in downloading the ISO image of Ubuntu desktop version. It’s a single file of around 2 GB in size and you may download it directly or use torrent if you have a slow and inconsistent internet.

Download Ubuntu ISO Image Step 5: Create a live USB of Ubuntu

Once you have got the ISO, you should get a tool for making the bootable live USB of Ubuntu.

You may use Etcher on Linux, Windows and macOS. However, the way Etcher creates a bootable disk leaves the USB in a weird state and you’ll have a difficult time formatting the disk after the dual boot is over.

For this reason, you are using Windows, I recommend using a free tool like Rufus. Download Rufus from its website.

Download Rufus

Plug in the USB key. Since the USB will be formatted, make sure it doesn’t consist of any important data.

Rufus automatically identifies the plugged in USB keys but it will still be a good idea to make sure that it is pointing to the correct USB. Then you should browse to the location of the downloaded ISO image.

You must ensure that it uses GPT partitioning scheme and UEFI target system.

Hit the start button to initiate the process of live USB creation. If asked, choose ‘Write in ISO Image mode’:

It will take a few minutes to complete the process. Once you have the live USB ready, the next step is the actual installation of Ubuntu Linux.

Step 6: Boot from live USB

With the live USB of Ubuntu plugged in to your Windows system, it’s time to boot into this live system. There are two ways to do that:

  1. Restart the system and at the boot time, press F2/F10 or F12 to access boot settings. From here, move ‘booting from removable media’ up the order to boot from USB.
  2. From within Windows, access UEFI settings and choose to boot from removable media. This will reboot the system and you’ll be booting from the USB.

I prefer the second method because you may have difficulties in with boot settings from the first method.

In the Windows menu, search for UEFI and click on ‘Change advanced startup options’:

Under the Advanced startup option, click on Restart now button.

On the next screen, click on ‘Use a device’:

Recognize the USB disk with its name and size:

Now it will power off your system and reboot into the disk you chose which should be the live USB disk.

Step 7: Installing Ubuntu with Windows

When you boot from the live USB, you should see the GRUB screen that presents you the option to try Ubuntu in live USB or install it right away. You may go with either option.

Booting into live Ubuntu USB

If you chose to try live USB, you should see the installation option on the desktop screen.

Start Ubuntu installation from live session

Clicking it will start the installation procedure that starts with choosing language and keyboard layout.

On the next screen, it asks for the kind of installation. Go with Normal installation. No need to download updates or install third-party software just yet. You may do it after installation completes. In my experience, it increases the installation duration and may create issues at times. I prefer to avoid it.

Go with normal installation

It takes a little time and then you see the Installation type screen. This is one of the most important parts of the dual booting procedure.

If you see the ‘Install Ubuntu alongside Windows Boot Manager’, it’s good news. You can proceed with the rest of the installation.

Choose to install alongside Windows

But if you are one of the unlucky ones who don’t see this option, you’ll have to quit the installation and do some additional efforts that I have explained under the expandable section.

What to do if you don’t see ‘Install Ubuntu alongside Windows’ option?

Here’s what you should be doing. Quit the installation. Power off the live Ubuntu session, take out the live USB and turn on the system again.

When you boot into Windows, go to Disk Management settings. Here, shrink your C Drive (or D/E/F drives wherever you have plenty of free space) and make some free space like 50, 100 GB or more.

Once you have the free space, repeat the procedure from step 6. Which means boot from the USB and start the installation procedure. When you see the Installation type screen again, go with Something Else this time.

It will take you to the partitioning screen. Here, you can use the free space you created earlier for installing Ubuntu.

You may choose to allocate the entire free space to root (swapfile and home will be created automatically under root) or you can separate root, swap and home partitioning. Both methods are fine.

Once the partition is in place, click on Install now and follow the rest of the tutorial.

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

You’ll be asked to enter a username, hostname (computer’s name) and a password. Pretty obvious, right?

Now it’s just the matter of waiting. It should take 8-10 minutes to complete the installation.

Once the installation finishes, restart the system.

Restart after installation completes

You’ll be asked to remove the USB disk. You can remove the disk at this stage without worrying. The system reboots after this.

Remove USB and press enter

If everything went smooth, you should see the grub screen once the system powers on. Here, you can choose Ubuntu to boot into Ubuntu and Windows boot manager to boot into Windows. Pretty cool, right?

You can choose the operating system from the grub screen

If you don’t see the option to install Ubuntu alongside Windows, quit the installation, turn off the system and boot into Windows. Here, make some free space on your disk by shrinking your disk size.

What are your option if you don’t see the grub screen?

In some unfortunate cases, you may not see the grub screen. There are a few possibilities here.

If it boots straight into Windows, go to UEFI boot settings and see if there is an option for Ubuntu along with Windows. If yes, try to move Ubuntu up in the boot order.

If you see grub rescue screen, you may try to fix the boot issue by booting into live Ubuntu USB and use the boot repair tool.

If you are not able to fix the grub error and getting panic attack, calm down. You can revert to Windows. Go into UEFI boot settings and use Windows boot manager to boot into Windows. Here, delete the Ubuntu partition to claim the disk space and from the UEFI boot settings, delete the Ubuntu/grub boot file.

If you are not able to boot into Windows at all (extremely rare case), it is time to utilize the Windows recovery disk and the backup you had made earlier.

When you boot into Ubuntu, you should see this welcome screen.

Ubuntu first run

You are at penultimate stage. The only remaining part is to re-enable BitLocker for your Windows partitioning, if you want encryption again. You may leave it unencrypted as well. It’s really up to you.

Step 8: Enable Bitlocker after installing Ubuntu successfully

Restart your system and select Windows boot manager at the grub screen to boot into Windows. In Windows, go to BitLocker settings and click on ‘Turn on BitLocker’ option.

Re Enable BitLocker

Here’s an important thing. Each time you disable and re-enable BitLocker the recovery key changes. This is why you’ll be asked to back up your recovery key once again. Save it to your account once again.

Back up recovery key again

On the next step, it asks if you want to encrypt the entire disk or only the used space. You can choose either option depending on your need.

Encrypt disk space With BitLocker

Go with the new encryption mode:

Encryption Type

Start the encryption. Please keep in mind that encrypting the disk will take some time (based on your used disk space) and consumes considerable processing power. Have patience.

Things look all set. Before ending the tutorial, I’ll also show you what to do when Windows asks for the BitLocker recovery key.

Bonus Tip: Using BitLocker recovery (when asked for it)

When you re-enable BitLocker, it can sense that the boot settings has been changed. For that reason, it will ask for the recovery key when you try to boot into Windows after re-enabling BitLocker.

It mentions the recovery key ID. The first eight characters are important to identify the correct recovery key.

BitLocker asking for recovery key

On a mobile device or on another computer or boot into Ubuntu and then access your Microsoft account and look at the saved recovery keys.

Retrieve recovery key from MS account

You may have more than one recovery keys on the account of saving the key multiple times. This is where the recovery key ID comes in handy. Take a note of the 40 digit recovery key associated to that recovery key ID.

BitLocker recovery keys in Microsoft account

Enter this recovery key to unlock BitLocker and access Windows.

Don’t worry. It won’t ask you for the recovery key every time you boot into Windows. It is just when you make a change in the boot settings.

Were you able to successfully dual boot Windows 10 with Ubuntu and BitLocker?

I know it was long read with too many steps and images. I actually tried to give you all the necessary details so that you don’t feel uncomfortable or lost at any stage. I am also working on a video for these steps so that you can see things in action.

If you tried the tutorial, did it work for you? Do you still have problems or questions? Please feel free to ask in the comment section.

How to Add Fingerprint Login in Ubuntu and Other Linux Distributions

Tuesday 9th of February 2021 09:30:29 AM

Many high-end laptops come with fingerprint readers these days. Windows and macOS have been supporting fingerprint login for some time. In desktop Linux, the support for fingerprint login was more of geeky tweaks but GNOME and KDE have started supporting it through system settings.

This means that on newer Linux distribution versions, you can easily use fingerprint reading. I am going to enable fingerprint login in Ubuntu here but you may use the steps on other distributions running GNOME 3.38.


This is obvious, of course. Your computer must have a fingerprint reader.

This method works for any Linux distribution running GNOME version 3.38 or higher. If you are not certain, you may check which desktop environment version you are using.

KDE 5.21 also has a fingerprint manager. The screenshots will look different, of course.

Adding fingerprint login in Ubuntu and other Linux distributions

Go to Settings and the click on Users from left sidebar. You should see all the user account on your system here. You’ll see several option including Fingerprint Login.

Click on the Fingerprint Login option here.

Enable fingerprint login in Ubuntu

It will immediately ask you to scan a new fingerprint. When you click the + sign to add a fingerprint, it presents a few predefined options so that you can easily identify which finger or thumb it is.

You may of course scan left thumb by clicking right index finger though I don’t see a good reason why you would want to do that.

Adding fingerprint

While adding the fingerprint, rotate your finger or thumb as directed.

Rotate your finger

Once the system registers the entire finger, it will give you a green signal that the fingerprint has been added.

Fingerprint successfully added

If you want to test it right away, lock the screen by pressing Super+L keyboard shortcut in Ubuntu and then using the fingerprint for login.

Login With Fingerprint in Ubuntu Experience with fingerprint login on Ubuntu

Fingerprint login is what its name suggests: login using your fingerprint. That’s it. You cannot use your finger when it asks for authentication for programs that need sudo access. It’s not a replacement of your password.

One more thing. The fingerprint login allows you to log in but you cannot use your finger when your system asks for sudo password. The keyring in Ubuntu also remains locked.

Another annoying thing is because of GNOME’s GDM login screen. When you login, you have to click on your account first to get to the password screen. This is where you can use your finger. It would have been nicer to not bothered about clicking the user account ID first.

I also notice that fingerprint reading is not as smooth and quick as it is in Windows. It works, though.

If you are somewhat disappointed with the fingerprint login on Linux, you may disable it. Let me show you the steps in the next section.

Disable fingerprint login

Disabling fingerprint login is pretty much the same as enabling it in the first place.

Go to Settings→User and then click on Fingerprint Login option. It will show a screen with options to add more fingerprints or delete the existing ones. You need to delete the existing fingerprints.

Disable Fingerprint Login

Fingerprint login does have some benefits, specially for lazy people like me. I don’t have to type my password every time I lock the screen and I am happy with the limited usage.

Enabling sudo with fingerprint should not be entirely impossible with PAM. I remember that when I set up face unlock in Ubuntu, it could be used with sudo as well. Let’s see if future versions add this feature.

Do you have a laptop with fingerprint reader? Do you use it often or is it just one of things you don’t care about?

Viper Browser: A Lightweight Qt5-based Web Browser With A Focus on Privacy and Minimalism

Monday 8th of February 2021 11:20:13 AM

Brief: Viper Browser is a Qt-based browser that offers a simple user experience keeping privacy in mind.

While the majority of the popular browsers run on top of Chromium, unique alternatives like Firefox, Beaker Browser, and some other chrome alternatives should not cease to exist.

Especially, considering Google’s recent potential thought of stripping Google Chrome-specific features from Chromium giving an excuse of abuse.

In the look-out for more Chrome alternatives, I came across an interesting project “Viper Browser” as per our reader’s suggestion on Mastodon.

Viper Browser: An Open-Source Qt5-based Browser

Note: Viper Browser is fairly a new project with a couple of contributors. It lacks certain features which I’ll be mentioning as you read on.

Viper is an interesting web browser that focuses on being a powerful yet lightweight option while utilizing QtWebEngine.

QtWebEngine borrows the code from Chromium but it does not include the binaries and services that connect to the Google platform.

I spent some time using it and performing some daily browsing activities and I must say that I’m quite interested. Not just because it is something simple to use (how complicated a browser can be), but it also focuses on enhancing your privacy by giving you the option to add different Ad blocking options along with some useful options.

Even though I think it is not meant for everyone, it is still worth taking a look. Let me highlight the features briefly before you can proceed trying it out.

Features of Viper Browser

I’ll list some of the key features that you can find useful:

  • Ability to manage cookies
  • Multiple preset options to choose different Adblocker networks
  • Simple and easy to use
  • Privacy-friendly default search engine – Startpage (you can change this)
  • Ability to add user scripts
  • Ability to add new user agents
  • Option to disable JavaScript
  • Ability to prevent images from loading up

In addition to all these highlights, you can easily tweak the privacy settings to remove your history, clean cookies when existing, and some more options.

Installing Viper Browser on Linux

It just offers an AppImage file on its releases section that you can utilize to test on any Linux distribution.

In case you need help, you may refer to our guide on using AppImage file on Linux as well. If you’re curious, you can explore more about it on GitHub.

Viper Browser My Thoughts on Using Viper Browser

I don’t think it is something that could replace your current browser immediately but if you are interested to test out new projects that are trying to offer Chrome alternatives, this is surely one of them.

When I tried logging in my Google account, it prevented me by mentioning that it is potentially an insecure browser or unsupported browser. So, if you rely on your Google account, it is a disappointing news.

However, other social media platforms work just fine along with YouTube (without signing in). Netflix is not something supported but overall the browsing experience is quite fast and usable.

You can install user scripts, but Chrome extensions aren’t supported yet. Of course, it is either intentional or something to be looked after as the development progresses considering it as a privacy-friendly web browser.

Wrapping Up

Considering that this is a less-known yet something interesting for some, do you have any suggestions for us to take a look at? An open-source project that deserves coverage?

Let me know in the comments down below.

5 Tweaks to Customize the Look of Your Linux Terminal

Wednesday 3rd of February 2021 05:32:39 AM

The terminal emulator or simply the terminal is an integral part of any Linux distribution.

When you change the theme of your distribution, often the terminal also gets a makeover automatically. But that doesn’t mean you cannot customize the terminal further.

In fact, many It’s FOSS readers have asked us how come the terminal in our screenshots or videos look so cool, what fonts do we use, etc.

To answer this frequent question, I’ll show you some simple and some complex tweaks to change the appearance of the terminal. You can compare the visual difference in the image below:

Customizing Linux Terminal

This tutorial utilizes a GNOME terminal on Pop!_OS to customize and tweak the look of the terminal. But, most of the advice should be applicable to other terminals as well.

For most of the elements like color, transparency, and fonts, you can utilize the GUI to tweak it without requiring to enter any special commands.

Open your terminal. In the top right corner, look for the hamburger menu. In here, click on “Preferences” as shown in the screenshot below:

This is where you’ll find all the settings to change the appearance of the terminal.

Tip 0: Use separate terminal profiles for your customization

I would advise you to create a new profile for your customization. Why? Because this way, your changes won’t impact the main terminal profile. Suppose you make some weird change and cannot recall the default value? Profiles help separate the customization.

As you can see, Abhishek has separate profiles for taking screenshots and making videos.

Terminal Profiles

You can easily change the terminal profiles and open a new terminal window with the new profile.

Change Terminal Profile

That was the suggestion I wanted to put forward. Now, let’s see those tweaks.

Tip 1: Use a dark/light terminal theme

You may change the system theme and the terminal theme gets changed. Apart from that, you may switch between the dark theme or light theme, if you do not want to change the system theme.

Once you head in to the preferences, you will notice the general options to change the theme and other settings.

Tip 2: Change the font and size

Select the profile that you want to customize. Now you’ll get the option to customize the text appearance, font size, font style, spacing, cursor shape, and toggle the terminal bell sound as well.

For the fonts, you can only change to what’s available on your system. If you want something different, download and install the font on your Linux system first.

One more thing! Use monospaced fonts otherwise fonts might overlap and the text may not be clearly readable. If you want suggestions, go with Share Tech Mono (open source) or Larabiefont (not open source).

Under the Text tab, select Custom font and then change the font and its size (if required).

Tip 3: Change the color pallet and transparency

Apart from the text and spacing, you can access the “Colors” tab and change the color of the text and background of your terminal. You can also adjust the transparency to make it look even cool.

As you can notice, you can change the color palette from a set of pre-configured options or tweak it yourself.

If you want to enable transparency just like I did, you click on “Use transparent background” option.

You can also choose to use colors from your system theme, if you want a similar color setting with your theme.

Tip 4: Tweaking the bash prompt variables

Usually, you will see your username along with the hostname (your distribution) as the bash prompt when launching the terminal without any changes.

For instance, it would be “ankushdas@pop-os:~$” in my case. However, I permanently changed the hostname to “itsfoss“, so now it looks like:

To change the hostname, you can type in:

hostname CUSTOM_NAME

However, this will be applicable only for the current sessions. So, when you restart, it will revert to the default. To permanently change the hostname, you need to type in:

sudo hostnamectl set-hostname CUSTOM_NAME

Similarly, you can also change your username, but it requires some additional configuration that includes killing all the current processes associated with the active username, so we’ll avoid it to change the look/feel of the terminal.

Tip 5: NOT RECOMMENDED: Changing the font and color of the bash prompt (for advanced users)

However, you can tweak the font and color of the bash prompt (ankushdas@itsfoss:~$) using commands.

You will need to utilize the PS1 environment variable which controls what is being displayed as the prompt. You can learn more about it in the man page.

For instance, when you type in:

echo $PS1

The output in my case is:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$

We need to focus on the first part of the output:

\[\e]0;\u@\h: \w\a\]$

Here, you need to know the following:

  • \e is a special character that denotes the start of a color sequence
  • \u indicates the username followed by the @ symbol
  • \h denotes the hostname of the system
  • \w denotes the base directory
  • \a indicates the active directory
  • $ indicates non-root user

The output in your case can be different, but the variables will be the same, so you need to play with the commands mentioned below depending on your output.

Before you do that, keep these in mind:

  • Codes for text format: 0 for normal text, 1 for bold, 3 for italic and 4 for underline text
  • Color range for background colors: 40-47
  • Color range for text color: 30-37

You just need to type in the following to change the color and font:


This is how your bash prompt will look like after typing the command:

If you notice the command properly, as mentioned above, \e helps us assign a color sequence.

In the command above, I’ve assigned a background color first, then the text style, and then the font color followed by “m“.

Here, “m” indicates the end of the color sequence.

So, all you have to do is, play around with this part:


Rest of the command should remain the same, you just need to assign different numbers to change the background color, text style, and text color.

Do note that this is in no particular order, you can assign the text style first, background color next, and the text color at the end as “3;41;32“, where the command becomes:


As you can notice, the color customization is the same no matter the order. So, just keep in mind the codes for customization and play around with it till you’re sure you want this as a permanent change.

The above command that I mentioned temporarily customizes the bash prompt for the current session. If you close the session, you will lose the customization.

So, to make this a permanent change, you need to add it to .bashrc file (this is a configuration file that loads up every time you load up a session).

You can access the file by simply typing:

nano ~/.bashrc

Unless you’re sure what you’re doing, do not change anything. And, just for the sake of restoring the settings back, you should keep a backup of the PS1 environment variable (copy-paste what’s in it by default) to a text file.

So, even if you need the default font and color, you can again edit the .bashrc file and paste the PS1 environment variable.

Bonus Tip: Change the terminal color pallet based on your wallpaper

If you want to change the background and text color of the terminal but you are not sure which colors to pick, you can use a Python-based tool Pywal. It automatically changes the color of the terminal based on your wallpaper or the image you provide to it.

I have written about it in details if you are interested in using this tool.

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

Recommended Read:

.ugb-16406c5 .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-16406c5 .ugb-blog-posts__title a{color:#000000 !important}.ugb-16406c5 .ugb-blog-posts__title a:hover{color:#00b6ba !important}Automatically Change Color Scheme of Your Linux Terminal Based on Your Wallpaper Wrapping Up

Of course, it is easy to customize using the GUI while getting a better control of what you can change. But, the need to know the commands is also necessary in case you start using WSL or access a remote server using SSH, you can customize your experience no matter what.

How do you customize the Linux terminal? Share your secret ricing recipe with us in the comments.

Paru – A New AUR Helper and Pacman Wrapper Based on Yay

Tuesday 2nd of February 2021 02:33:47 PM

One of the main reasons that a user chooses Arch Linux or an Arch based Linux distribution is the Arch User repository (AUR).

Unfortunately, pacman, the package manager of Arch, can’t access the AUR in a similar way to the official repositories. The packages in AUR are in the form of PKGBUILD and require a manual process to be built.

An AUR helper can automate this process. Without any doubt yay is one of the most popular and highly favoured AUR helper.

Recently Morganamilo, one of the two developers of yay, announced that is stepping away from maintaining yay and starting his own AUR helper called paru. Paru is written in Rust compared to yay that is written in Go and its design is based on yay.

Please note that yay hasn’t reach the end of life and is still being actively maintained by Jguer. He also commented that paru may be suitable for users that looking for a feature rich AUR helper; thus I would recommend giving it a try.

Installing Paru AUR helper

To install paru, open your terminal and type the following commands one by one.

sudo pacman -S --needed base-devel git clone cd paru makepkg -si

Now that you have it installed, let’s see how to use it.

Essential commands to use Paru AUR helper

In my opinion these are the most essential commands of paru. You can explore more on the official repository on GitHub.

  • paru <userinput> : Search and install <userinput>.
  • paru — : Alias for paru -Syu
  • paru -Sua : Upgrade AUR packages only
  • paru -Qua : Print available AUR updates
  • paru -Gc <userinput> : Print the AUR comments of <userinput>
Using Paru AUR helper to its full extent

You can access the changelog of paru on GitHub for the full changelog history or you can see the changes from yay at the first release.

Enable colour in Paru

To enable colour in paru, you have to enable it first in pacman. All the configuration files are in /etc directory. In this example, I use Nano text editor but, you may use any terminal-based text editor of your choice.

sudo nano /etc/pacman.conf

Once you open the pacman configuration file, uncomment the “Color” to enable this feature.

Flip search order

The most relevant package according to your search term is normally displayed on the top of the search result. In paru, you can flip the search order to make your search easier.

Similar to the previous example, open the paru configuration file:

sudo nano /etc/paru.conf

Uncomment the “BottomUp” term and save the file.

As you can see the order is flipped and the first package appears on the bottom.

Edit PKGBUILDs (For advanced user)

If you are an experienced Linux user, you can edit AUR packages through paru. To do so, you need to enable the feature from the paru configuration file and set the file manager of your choice.

In this example I will use the default in the configuration file i.e. the vifm file manager. If you haven’t used it you may need to install it.

sudo pacman -S vifm sudo nano /etc/paru.conf

Open the configuration file and uncomment as shown below.

Let’s go back to the Google Calendar AUR package and try to install it. You will be prompted to review the package. Type yes and click enter.

Choose the PKGBUILD from the file manager and hit enter to view the package.

Any change that you make will be permanent and the next time you upgrade the package, your changes will be merged with the upstream package.


Paru is another interesting addition to the AUR helpers family with a promising future. At this point I wouldn’t suggest replacing yay as it is still maintained but definitely give paru a try. You can have both of them installed to your system and come to your own conclusions.

To get the latest Linux news, subscribe to our social media to be among the first to get them whilst they are fresh!

Filmulator is a Simple, Open Source, Raw Image Editor for Linux Desktop

Monday 1st of February 2021 03:41:57 AM

Brief: Filmulator is an open source raw photo editing application with library management focusing on simplicity, ease of use and streamlined workflow.

Filmulator: Raw Image Editor for Linux (and Windows)

There are a bunch of raw photo editors for Linux. Filmulator is one of them. Filmulator aims to make raw image editing simple by giving only the essential elements. It also adds the feature of library handling which is a plus if you are looking for a decent application for your camera images.

For those unaware, raw image file is a minimally processed, uncompressed file. In other words, it is untouched digital file with no compression and minimal processing applied to it. Professional photographers prefer to capture photos in raw file and process it themselves. Normal people take photos from their smartphones and it is usually compressed in JPEG format or filtered.

Let’s see what features you get in the Filmulator editor.

Features of Filmulator Filmulator interface

Filmulator claims that it is not the typical “film effect filter” that merely copies the outward characteristics of film. Instead, Filmulator gets to the root of what makes film so appealing: the development process.

It simulates film development process: from “exposure” of film, to the growth of “silver crystals” within each pixel, to the diffusion of “developer” both between neighboring pixels and with the bulk developer in the tank.

Fimulator developer says that the simulation brings about the following benefits:

  • Large bright regions become darker, compressing the output dynamic range.
  • Small bright regions make their surroundings darker, enhancing local contrast.
  • In bright regions, saturation is enhanced, helping retain color in blue skies, brighter skin tones, and sunsets.
  • In extremely saturated regions, the brightness is attenuated, helping retain detail e.g. in flowers.

Here’s a comparison of a raw image processed by Filmulator to enhance colors in a natural manner without inducing color clipping.

Installing Filmulator on Ubuntu/Linux

There is an AppImage available for Filmulator so that you can use it easily on Linux. Using AppImage files is really simple. You download it, make it executable and make it run by double-clicking on it.

Download Filmulator for Linux

There is also a Windows version available for Windows users. Apart from that, you can always head over to its GitHub repository and peek into its source code.

There is a little documentation to help you get started with Fimulator.


Fimulator’s design ideology is to have the best tool for any job, and only that one tool. This means compromising flexibility, but gaining a greatly simplified and streamlined user interface.

I am not even an amateur photographer, let alone be a professional one. I do not own a DSLR or other high-end photography equipments. For this reason, I cannot test and share my experience on the usefulness of Filmulator.

If you have more experience dealing with raw images, I let you try Filmulator and share your opinion on it. There is an AppImage available so you can quickly test it and see if it fits your needs or not.

Best Single Board Computers for AI and Deep Learning Projects

Sunday 31st of January 2021 02:09:49 PM

Single-board computers (SBC) are very popular with tinkerers and hobbyists alike, they offer a lot of functionality in a very small form factor. An SBC has the CPU, GPU, memory, IO ports, etc. on a small circuit board and users can add functionality by adding new devices to the GPIO ports. Some of the more popular SBCs include the Raspberry Pi and Arduino family of products.

However, there is an increasing demand for SBC’s that can be used for edge compute applications like Artificial Intelligence (AI) or Deep Learning (DL) and there are quite a few. The list below consists of some of the best SBCs that have been developed for edge computing.

The list is in no particular order of ranking. Some links here are affiliate links. Please read our affiliate policy.

1. Nvidia Jetson Family

Nvidia has a great lineup of SBCs that cater to AI developers and hobbyists alike. Their line of “Jetson Developer Kits” are some of the most powerful and value for money SBCs available in the market. Below is a list of their offerings.

Nvidia Jetson Nano Developer Kit

Starting at $59, the Jetson Nano is the cheapest SBC in the list and offers a good price to performance ratio. It can run multiple neural networks alongside other applications such as object detection, segmentation, speech processing and image classification.

The Jetson Nano is aimed towards AI enthusiasts, hobbyists and developers who want to do projects by implementing AI.

The Jetson Nano is being offered in two variants: 4 GB and 2 GB. The main differences between the two are, the price, RAM capacity and IO ports being offered. The 4 GB variant has been showcased in the image above.

Key Specifications

  • CPU: Quad-core ARM A57 @ 1.43 GHz
  • GPU: 128-core NVIDIA Maxwell
  • Memory: 4 GB 64-bit LPDDR4 @ 25.6 GB/s or 2 GB 64-bit LPDDR4 @ 25.6 GB/s
  • Storage: microSD card support
  • Display: HDMI and Display Port or HDMI
Preview Product Price NVIDIA Jetson Nano 2GB Developer Kit (945-13541-0000-000) $59.00 Buy on Amazon Nvidia Jetson Xavier NX Developer Kit

The Jetson Xavier NX is a step up from the Jetson Nano and is aimed more towards OEMs, start-ups and AI developers.

The Jetson Xavier NX is meant for applications that need more serious AI processing power that an entry level offering like the Jetson Nano simply can’t deliver. The Jetson Xavier NX is being offered at $386.99.

Key Specifications

  • CPU: 6-core NVIDIA Carmel ARM v8.2 64-bit CPU
  • GPU: NVIDIA Volta architecture with 384 NVIDIA CUDA cores and 48 Tensor cores
  • DL Accelerator: 2x NVDLA Engines
  • Vision Accelerator: 7-Way VLIW Vision Processor
  • Memory: 8 GB 128-bit LPDDR4x @ 51.2 GB/s
  • Storage: microSD support
  • Display: HDMI and Display Port
Preview Product Price NVIDIA Jetson Xavier NX Developer Kit (812674024318) $396.70 Buy on Amazon Nvidia Jetson AGX Xavier Developer Kit

The Jetson AGX Xavier is the flagship product of the Jetson family, it is meant to be deployed in servers and AI robotics applications in industries such as manufacturing, retail, automobile, agriculture, etc.

Coming in at $694.91, the Jetson AGX Xavier is not meant for beginners, it is meant for developers who want top-tier edge compute performance at their disposal and for companies who want good scalability for their applications.

Key Specifications

  • CPU: 8-core ARM v8.2 64-bit CPU
  • GPU: 512-core Volta GPU with Tensor Cores
  • DL Accelerator: 2x NVDLA Engines
  • Vision Accelerator: 7-Way VLIW Vision Processor
  • Memory: 32 GB 256-Bit LPDDR4x @ 137 GB/s
  • Storage: 32 GB eMMC 5.1 and uSD/UFS Card Socket for storage expansion
  • Display: HDMI 2.0
Preview Product Price NVIDIA Jetson AGX Xavier Developer Kit (32GB) $699.00 Buy on Amazon 2. ROCK Pi N10

The ROCK Pi N10, developed by Radxa is the second cheapest offering in this list with its base variant coming in at $99, its range topping variant comes in at $169,

The ROCK Pi N10 is equipped with a NPU (Neural Processing Unit) that helps it in processing AI/ Deep Learning workloads with ease. It offers up to 3 TOPS (Tera Operations Per Second) of performance.

It is being offered in three variants namely, ROCK Pi N10 Model A, ROCK Pi N10 Model B, ROCK Pi N10 Model C, the only differences between these variants are the price, RAM and Storage capacities.

The ROCK Pi N10 is available for purchase through Seeed Studio.

Key Specifications

  • CPU: RK3399Pro with 2-core Cortex-A72 @ 1.8 GHz and 4-Core Cortex-A53 @ 1.4 GHz
  • GPU: Mali T860MP4
  • NPU: Supports 8bit/16bit computing with up to 3.0 TOPS computing power
  • Memory: 4 GB/6 GB/8 GB 64-bit LPDDR3 @ 1866 Mb/s
  • Storage: 16 GB/32 GB/64 GB eMMC
  • Display: HDMI 2.0
3. BeagleBone AI

The BeagleBone AI is‘s open source SBC is meant to bridge the gap between small SBCs and more powerful industrial computers. The hardware and software of the BeagleBoard are completely open source.

It is meant for use in the automation of homes, industries and other commercial use cases. It is priced at ~$110, the price varies across dealers, for more info check their website.

Key Specifications

  • CPU: Texas Instrument AM5729 with Dual-core ARM Cortex-A15 @ 1.5GHz
  • Co-Processor: 2 x Dual-core ARM Cortex-M4
  • DSP: 2 x C66x floating-point VLIW
  • EVE: 4 x Embedded Vision Engines
  • GPU: PowerVR SGX544
  • RAM: 1 GB
  • Storage: 16 GB eMMC
  • Display: microHDMI
Preview Product Price BeagleBone AI $127.49 Buy on Amazon 4. BeagleV

The BeagleV is the latest launch in the list, it is an SBC that runs Linux out of the box and has a RISC-V CPU.

It is capable of running edge compute applications effortlessly, to know more about the BeagleV check our coverage of the launch.

The BeagleV will be getting two variants, a 4 GB RAM variant and an 8 GB RAM variant. Pricing starts at $119 for the base model and $149 for the 8 GB RAM model, it is up for pre-order through their website.

Key Specifications

  • CPU: RISC-V U74 2-Core @ 1.0GHz
  • DSP: Vision DSP Tensilica-VP6
  • DL Accelerator: NVDLA Engine 1-core
  • NPU: Neural Network Engine
  • RAM: 4 GB/8 GB (2 x 4 GB) LPDDR4 SDRAM
  • Storage: microSD slot
  • Display: HDMI 1.4
5. HiKey970

HiKey970 is 96 Boards first SBC meant for edge compute applications and is the world’s first dedicated NPU AI platform.

The HiKey970 features an CPU, GPU and an NPU for accelerating AI performance, it can also be used for training and building DL (Deep Learning) models.

The HiKey970 is priced at $299 and can be bought from their official store.

Key Specifications

  • SoC: HiSilicon Kirin 970
  • CPU: ARM Cortex-A73 4-Core @ 2.36GHz and ARM Cortex-A53 4-Core @ 1.8GHz
  • GPU: ARM Mali-G72 MP12
  • RAM: 6 GB LPDDR4X @ 1866MHz
  • Storage: 64 GB UFS 2.1 microSD
  • Display: HDMI and 4 line MIPI/LCD port
6. Google Coral Dev Board

The Coral Dev Board is Google’s first attempt at an SBC dedicated for edge computing. It is capable of performing high speed ML (Machine Learning) inferencing and has support for TensorFlow Lite and AutoML Vision Edge.

The board is priced at $129.99 and is available through Coral’s official website.

Key Specifications

  • CPU: NXP i.MX 8M SoC (4-Core Cortex-A53, Cortex-M4F)
  • ML Accelerator: Google Edge TPU coprocessor
  • GPU: Integrated GC7000 Lite Graphics
  • RAM: 1 GB LPDDR4
  • Storage: 8 GB eMMC and microSD slot
  • Display: HDMI 2.0a, 39-pin FFC connector for MIPI-DSI display (4-lane) and 24-pin FFC connector for MIPI-CSI2 camera (4-lane)
7. Google Coral Dev Board Mini

The Coral Dev Board Mini is the successor to the Coral Dev Board, it packs in more processing power into a smaller form factor and a lower price point of $99.99.

The Coral Dev Board Mini can be purchased from their official web store.

Key Specifications

  • CPU: MediaTek 8167s SoC (4-core Arm Cortex-A35)
  • ML Accelerator: Google Edge TPU coprocessor
  • GPU: IMG PowerVR GE8300
  • RAM: 2 GB LPDDR3
  • Storage: 8 GB eMMC
  • Display: micro HDMI (1.4), 24-pin FFC connector for MIPI-CSI2 camera (4-lane) and 24-pin FFC connector for MIPI-DSI display (4-lane)
Preview Product Price Google Coral Dev Board Mini $99.99 Buy on Amazon Closing Thoughts

There is an SBC available in every price range for edge compute applications. Some are just basic, like the Nvidia Jetson Nano or the BeagleBone AI and some are performance oriented models like the BeagleV and Nvidia Jetson AGX Xavier.

If you are looking for something more universal you can check our article on Raspberry Pi alternatives that could help you in finding a suitable SBC for your use case.

If I missed any SBC dedicated for edge compute, feel free to let me know in the comments below.

Author info: Sourav Rudra is a FOSS Enthusiast with love for Gaming Rigs/Workstation building.

How to Run a Shell Script in Linux [Essentials Explained for Beginners]

Tuesday 26th of January 2021 07:07:00 AM

There are two ways to run a shell script in Linux. You can use:


Or you can execute the shell script like this:


That maybe simple, but it doesn’t explain a lot. Don’t worry, I’ll do the necessary explaining with examples so that you understand why a particular syntax is used in the given format while running a shell script.

I am going to use this one line shell script to make things as uncomplicated as possible:

abhishek@itsfoss:~/Scripts$ cat echo "Hello World!" Method 1: Running a shell script by passing the file as argument to shell

The first method involves passing the script file name as an argument to the shell.

Considering that bash is the default shell, you can run a script like this:


Do you know the advantage of this approach? Your script doesn’t need to have the execute permission. Pretty handy for quick and simple tasks.

Running a Shell Script Linux

If you are not familiar already, I advise you to read my detailed guide on file permission in Linux.

Keep in mind that it needs to be a shell script that you pass as argument. A shell script is composed of commands. If you use a normal text file, it will complain about incorrect commands.

Running a Text File As Script

In this approach, you explicitly specified that you want to use bash as the interpreter for the script.

Shell is just a program and bash is an implementation of that. There are other such shells program like ksh, zsh, etc. If you have other shells installed, you can use that as well instead of bash.

For example, I installed zsh and used it to run the same script:

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

Recommended Read:

.ugb-16406c5 .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-16406c5 .ugb-blog-posts__title a{color:#000000 !important}.ugb-16406c5 .ugb-blog-posts__title a:hover{color:#00b6ba !important}How to Run Multiple Linux Commands at Once in Linux Terminal [Essential Beginners Tip] Method 2: Execute shell script by specifying its path

The other method to run a shell script is by providing its path. But for that to be possible, your file must be executable. Otherwise, you’ll have “permission denied” error when you try to execute the script.

So first you need to make sure that your script has the execute permission. You can use the chmod command to give yourself this permission like this:

chmod u+x

Once your script is executable, all you need to do is to type the file name along with its absolute or relative path. Most often you are in the same directory so you just use it like this:


If you are not in the same directory as your script, you can specify it the absolute or relative path to the script:

Running Shell Script In Other Directory That ./ before the script is important (when you are in the same directory as the script)

Why can you not use the script name when you are in the same directory? That is because your Linux systems looks for the executables to run in a few selected directories that are specified in the PATH variable.

Here’s the value of PATH variable for my system:

abhishek@itsfoss:~$ echo $PATH /home/abhishek/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

This means that any file with execute permissions in one of the following directories can be executed from anywhere in the system:

  • /home/abhishek/.local/bin
  • /usr/local/sbin
  • /usr/local/bin
  • /usr/sbin
  • /usr/bin
  • /sbin
  • /bin
  • /usr/games
  • /usr/local/games
  • /snap/bin

The binaries or executable files for Linux commands like ls, cat etc are located in one of those directories. This is why you are able to run these commands from anywhere on your system just by using their names. See, the ls command is located in /usr/bin directory.

When you specify the script WITHOUT the absolute or relative path, it cannot find it in the directories mentioned in the PATH variable.

Why most shell scripts contain #! /bin/bash at the beginning of the shell scripts?

Remember how I mentioned that shell is just a program and there are different implementations of shells.

When you use the #! /bin/bash, you are specifying that the script is to run with bash as interpreter. If you don’t do that and run a script in ./ manner, it is usually run with whatever shell you are running.

Does it matter? It could. See, most of the shell syntax is common in all kind of shell but some might differ.

For example, the array behavior is different in bash and zsh shells. In zsh, the array index starts at 1 instead of 0.

Bash Vs Zsh

Using #! /bin/bash indicates that the script is bash shell script and should be run with bash as interpreter irrespective of the shell which is being used on the system. If you are using zsh specific syntax, you can indicate that it is zsh script by adding #! /bin/zsh as the first line of the script.

The space between #! /bin/bash doesn’t matter. You can also use #!/bin/bash.

Was it helpful?

I hope this article added to your Linux knowledge. If you still have questions or suggestions, please leave a comment.

Expert users can still nitpick this article about things I missed out. But the problem with such beginner topics is that it is not easy to find the right balance of information and avoid having too much or too few details.

If you are interested in learning bash script, we have an entire Bash Beginner Series on our sysadmin focused website Linux Handbook. If you want, you may also purchase the ebook with additional exercises to support Linux Handbook.

Movim: An Open-Source Decentralized Social Platform Based on XMPP Network

Monday 25th of January 2021 11:31:10 AM

Brief: Movim is an open-source decentralized social media platform that relies on XMPP network and can communicate with other applications using XMPP.

We’ve already highlighted some open-source alternatives to mainstream social media platforms. In addition to those options available, I have come across another open-source social media platform that focuses on privacy and decentralization.

Movim: Open-Source Web-based Social Platform

Just like some other XMPP desktop clients, Movim is a web-based XMPP front-end to let you utilize it as a federated social media.

Since it relies on XMPP network, you can interact with other users utilizing XMPP clients such as Conversations (for Android) and Dino (for Desktop).

In case you didn’t know, XMPP is an open-standard for messaging.

So, Movim can act as your decentralized messaging app or a full-fledged social media platform giving you an all-in-one experience without relying on a centralized network.

It offers many features that can appeal to a wide variety of users. Let me briefly highlight most of the important ones.

Features of Movim
  • Chatroom
  • Ability to organize video conferences
  • Publish articles/stories publicly to all federated network
  • Tweak the privacy setting of your post
  • Easily talk with other Movim users or XMPP users with different clients
  • Automatically embed your links and images to your post
  • Explore topics easily using hashtags
  • Ability to follow a topic or publication
  • Auto-save to draft when you type in a post
  • Supports Markdown syntax to let you publish informative posts and start a publication on the network for free
  • React to chat messages
  • Supports GIFs and funny Stickers
  • Edit or delete your messages
  • Supports screen sharing
  • Supports night mode
  • Self-hosting option available
  • Offers a free public instance as well
  • Cross-platform web support
Using Movim XMPP Client

In addition to all the features listed above, it is also worth noting that you can also find a Movim mobile app on F-Droid.

If you have an iOS device, you might have a hard time looking for a good XMPP client (I’m not aware of any decent options). If you rule that out, you should not have any issues using it on your Android device.

For desktop, you can simply use Movim’s public instance, sign up for an account, and use it on your favorite browser no matter which platform you’re on.

You can also deploy your instance by using the Docker Compose script, the Debian package, or any other methods mentioned in their GitHub page.

Movim Concluding Thoughts

While the idea of decentralized social media platforms is good, not everyone would prefer to use it because they probably do not have friends on it and the user experience is not the best out there.

That being said, XMPP clients like Movim are trying to make a federated social platform that a general consumer can easily use without any hiccups.

Just like it took a while for users to look for WhatsApp alternatives, the craze for decentralized social media platform like Movim and Mastodon is a possibility in the near future as well.

If you like it, do consider making a donation to their project.

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

How to Uninstall Applications from Ubuntu Linux

Wednesday 20th of January 2021 11:37:00 AM

Don’t use a certain application anymore? Remove it.

In fact, removing programs is one of the easiest ways to free up disk space on Ubuntu and keep your system clean.

In this beginner’s tutorial, I’ll show you various ways of uninstalling software from Ubuntu.

Did I say various ways? Yes, because there are various ways of installing applications in Ubuntu and hence various ways of removing them. You’ll learn to:

  • Remove applications from Ubuntu Software Center (for desktop users)
  • Remove applications using apt remove command
  • Remove snap applications in command line (intermediate to advanced users)

Let’s see these steps one by one.

Method 1: Remove applications using Ubuntu Software Center

Start the Software Center application. You should find it in the dock on the left side or search for it in the menu.

You can see the installed applications in the Installed tab.

List installed applications

If you don’t see a program here, try to use the search feature.

Search for installed applications

When you open an installed application, you should see the option to remove it. Click on it.

Removing installed applications

It will ask for your account password. Enter it and the applications will be removed in seconds.

This method works pretty well except in the case when Software Center is misbehaving (it does that a lot) or if the program is a software library or some other command line utility. You can always resort to the terminal in such cases.

Method 2: Remove programs from Ubuntu using command line

You know that you can use apt-get install or apt install for installing applications. For uninstalling, you don’t use the apt-get uninstall command but apt-get remove or apt remove.

All you need to do is to use the command in the following fashion:

sudo apt remove program_name

You’ll be asked to enter your account password. When you enter it, nothing is visible on the screen. That’s normal. Just type it blindly and press enter.

The program won’t be removed immediately. You need to confirm it. When it asks for your conformation, press the enter key or Y key:

Keep in mind that you’ll have to use the exact package name in the apt remove command otherwise it will throw ‘unable to locate package error‘.

Don’t worry if you don’t remember the exact program name. You can utilize the super useful tab completion. It’s one of the most useful Linux command line tips that you must know.

What you can do is to type the first few letters of the program you want to uninstall. And then hit the tab key. It will show all the installed packages that match those letters at the beginning of their names.

When you see the desired package, you can type its complete name and remove it.

What if you do not know the exact package name or even the starting letters? Well, you can list all the installed packages in Ubuntu and grep with whatever your memory serves.

For example, the command below will show all the installed packages that have the string ‘my’ in its name anywhere, not just the beginning.

apt list --installed | grep -i my

That’s cool, isn’t it? Just be careful with the package name when using the remove command in Ubuntu.

Tip: Using apt purge for removing package (advanced users)

When you remove a package in Ubuntu, the packaged data is removed, but it may leave small, modified user configuration files. This is intentional because if you install the same program again, it would use those configuration files.

If you want to remove it completely, you can use apt purge command. You can use it instead of apt remove command or after running the apt remove command.

sudo apt purge program_name

Keep in mind that the purge command won’t remove any data or configuration file stored in the home directory of a user.

Method 3: Uninstall Snap applications in Ubuntu

The previous method works with the DEB packages that you installed using apt command, software center or directly from the deb file.

Ubuntu also has a new packaging system called Snap. Most of the software you find in the Ubuntu Software Center are in this Snap package format.

You can remove these applications from the Ubuntu Software Center easily but if you want to use the command line, here’s what you should do.

List all the snap applications installed to get the package name.

snap list

Now use the package name to remove the application from Ubuntu. You won’t be asked for confirmation before removal.

sudo snap remove package_name Bonus Tip: Clean up your system with one magical command

Alright! You learned to remove the applications. Now let me tell you about a simple command that cleans up leftover package traces like dependencies that are no longer used, old Linux kernel headers that won’t be used anymore.

In the terminal, just run this command:

sudo apt autoremove

This is a safe command, and it will easily free up a few hundred MB’s of disk space.


You learned three ways of removing applications from Ubuntu Linux. I covered both GUI and command line methods so that you are aware of all the options.

I hope you find this simple tutorial helpful as an Ubuntu beginner. Questions and suggestions are always welcome.

Highlighted Text Not Visible in gedit in Dark Mode? Here’s What You Can Do

Tuesday 19th of January 2021 03:41:16 AM

I love using dark mode in Ubuntu. It’s soothing on the eyes and makes the system look aesthetically more pleasing, in my opinion.

One minor annoyance I noticed is with gedit text editor and if you use it with the dark mode in your system, you might have encountered it too.

By default, gedit highlights the line where your cursor is. That’s a useful feature but it becomes a pain if you are using dark mode in your Linux system. Why? Because the highlighted text is not readable anymore. Have a look at it yourself:

Text on the highlighted line is hardly visible

If you select the text, it becomes readable but it’s not really a pleasant reading or editing experience.

Selecting the text makes it better but that’s not a convenient thing to do for all lines

The good thing is that you don’t have to live with it. I’ll show a couple of steps you can take to enjoy dark mode system and gedit together.

Making gedit reader-friendly in dark mode

You basically have two options:

  1. Disable highlight the current line but then you’ll have to figure out which line you are at.
  2. Change the default color settings but then the colors of the editor will be slightly different, and it won’t switch to light mode automatically if you change the system theme.

It’s a workaround and compromise that you’ll have to make until the gedit or GNOME developers fix the issue.

Option 1: Disable highlighting current line

When you have gedit opened, click on the hamburger menu and select Preferences.

Go to Preferences

In the View tab, you should see the “Highlight current line” option under Highlighting section. Uncheck this. The effects are visible immediately.

Disable highlighting current line

Highlighting current line is a usable feature and if you want to continue using it, opt for the second option.

Option 2: Change the editor color theme

In the Preferences window, go to Font & Colors tab and change the color scheme to Oblivion, Solarized Dark or Cobalt.

Change the color scheme

As I mentioned earlier, the drawback is that when you switch the system theme to a light theme, the editor theme isn’t switched automatically to the light theme.

A bug that should be fixed by devs

There are several text editors available for Linux but for quick reading or editing a text file, I prefer using gedit. It’s a minor annoyance but an annoyance nonetheless. The developers should fix it in future version of this awesome text editor so that we don’t have to resort to these worarounds.

How about you? Do you use dark mode on your system or light mode? Had you noticed this trouble with gedit? Did you take any steps to fix it? Feel free to share your experience.

Haruna Video Player: An Open-Source Qt-based MPV GUI Front-end for Linux

Monday 18th of January 2021 02:06:15 PM

Brief: A Qt-based video player for Linux that acts as a front-end to mpv along with the ability to use youtube-dl.

Haruna Video Player: A Qt-based Free Video Player Haruna Video Player

In case you’re not aware of mpv, it is a free and open-source command-line based media player. Okay, there is a minimalist GUI for MPV but at the core, it is command line.

You might also find several open-source video players that are basically the GUI front-end to mpv.

Haruna video player is one of them along with the ability to use youtube-dl. You can easily play local media files as well as YouTube content.

Let me give you an overview of the features offered with this player.

Features of Haruna Video Player

You might find it a bit different from some other video players. Here’s what you get with Haruna video player:

  • Ability to play YouTube videos directly using the URL
  • Support playlists and you get to control them easily
  • Ability to auto-skip based on some words in the subtitle.
  • Control the playback speed
  • Change the format to play (audio/video) using youtube-dl
  • Plenty of keyboard shortcuts
  • Easily take a screenshot from the video
  • Option to add primary and secondary subtitle
  • Change the file format of the screenshot
  • Hardware decoding supported
  • Color adjustments to improve the quality of what you watch
  • Ability to tweak mouse and keyboard shortcuts to be able to quickly navigate and do what you want
  • Tweak the UI (fonts, theme)
Installing Haruna Video Player on Linux

Unfortunately (or not), depending on what you prefer, you can only install it using Flatpak. You can install it on any Linux distribution using the Flatpak package.

You can find it in AUR as well if you’re using an Arch-based system.

But, if you do not prefer that, you may take a look at the source code on GitHub to see if you can build it yourself like a normal Gentoo user.

Haruna Video Player Concluding Thoughts

Haruna Video Player is a simple and useful GUI on top libmpv. The ability to play YouTube videos along with various file formats on the system is definitely something many users would like.

The user interface is easy to get used to and offers some important customization options as well.

Have you tried this video player already? Let me know what you think about it in the comments below.

KDE Customization Guide: Here are 11 Ways You Can Change the Look and Feel of Your KDE-Powered Linux Desktop

Sunday 17th of January 2021 11:24:02 AM

KDE Plasma desktop is unarguably the pinnacle of customization, as you can change almost anything you want. You can go to the extent of making it act as a tiling window manager.

KDE Plasma can confuse a beginner by the degree of customization it offers. As options tend to pile on top of options, the user starts getting lost.

To address that issue, I’ll show you the key points of KDE Plasma customization that you should be aware of. This is some

Customizing KDE Plasma

I have used KDE Neon in this tutorial, but you may follow it with any distribution that uses KDE Plasma desktop.

1. Plasma Widgets

Desktop widgets can add convenience to the user experience, as you can immediately access important items on the desktop.

Students and professionals nowadays are working with computers more than ever before, a useful widget can be sticky notes.

Right-click on the desktop and select “Add Widgets”.

Choose the widget you like, and simply drag and drop it to the desktop.

2. Desktop wallpaper

This one is too obvious. Changing the wallpaper to change the looks of your desktop.

At the wallpaper tab you can change more than just the wallpaper. From the “Layout” pulldown menu, you can select if your desktop will have icons or not.

The “Folder View” layout is named from the traditional desktop folder in your home directory, where you can access your desktop files. Thus, the “Folder View” option will retain the icons on the desktop.

If you select the “Desktop” layout, it will leave your desktop icon free and plain. However, you will still be able to access the desktop folder at the home directory.

In Wallpaper Type, you can select if you want a wallpaper or not, to be still or to change and finally in Positioning, how it looks on your screen.

3. Mouse Actions

Each mouse button can be configured to one of the following actions:

  • Switch Desktop
  • Paste
  • Switch Window
  • Standard Menu
  • Application Launcher
  • Switch Activity

The right-click is set to Standard Menu, which is the menu when you right-click on the desktop. The contents of the menu can be changed by clicking on the settings icon next to it.

4. Location of your desktop content

This option is only available if you select the “Folder View” in the wallpaper tab. By default, the content shown on your desktop is what you have at the desktop folder at the home directory. The location tab gives you the option to change the content on your desktop, by selecting a different folder.

5. Desktop Icons

Here you can select how the icons will be arranged (horizontally or vertically), right or left, the sorting criteria and their size. If this is not enough, you have additional aesthetic features to explore.

6. Desktop Filters

Let’s be honest with ourselves! I believe every user ends up with a cluttered desktop at some point. If your desktop becomes messy and can’t find a file, you can apply a filter either by name or type and find what you need. Although, it’s better to make a good file housekeeping a habit!

7. Application Dashboard

If you like the GNOME 3 application launcher, you may try the KDE application dashboard. All you have to do is to right click on the menu icon > Show Alternatives.

Click on “Application Dashboard”.

8. Window Manager Theme

Like you saw in Xfce customization tutorial, you can change the window manager theme independently in KDE as well. This way you can choose a different theme for the panel and a different theme for the window manager. If the preinstalled themes are not enough, you can download more.

Inspired from MX Linux Xfce edition though, I couldn’t resist to my favourite “Arc Dark”.

Navigate to Settings > Application Style > Window decorations > Theme

9. Global theme

As mentioned above, the look and feel of the KDE plasma panel can be configured from the Settings > Global theme tab. There isn’t a good number of themes preinstalled, but you can download a theme to suit your taste. The default Breeze Dark is an eye candy, though.

10. System Icons

The system icon style can have significant impact on how the desktop looks. Whichever is your choice, you should choose the dark icon version if your global theme is dark. The only difference lies on the icon text contrast, which is inverted to the panel colour to make it readable. You can easy access the icon tab at the system settings.

11. System fonts

System fonts are not at the spotlight of customization, but if you spend half of your day in front of a screen can be one factor of the eye strain. Users with dyslexia will appreciate the OpenDyslexic font. My personal choice is the Ubuntu font, which not only I find aesthetically pleasing but also a good font to spend my day in front of a screen.

You can, of course, install more fonts on your Linux system by downloading them for external sources.


KDE Plasma is one of the most flexible and customizable desktops available to the Linux community. Whether you are a tinkerer or not, KDE Plasma is a constantly evolving desktop environment with amazing modern features. The best part is that it can also manage on moderate system configurations.

Now I tried to make this guide beginner-friendly. Of course, there can be more advanced customization like that window switching animation. If you are aware of some, why not share it with us in the comment section?

Looking to Ditch WhatsApp? Here are 5 Better Privacy Alternatives to WhatsApp

Thursday 14th of January 2021 11:21:46 AM

After the latest WhatsApp privacy policy updates, many users who trusted the service seem to be making the switch to alternatives like Signal.

Even though WhatsApp tries to clarify and re-assure the change in the policies, users have made their mind while considering the benefits of using privacy alternatives to WhatsApp.

But, what are some useful and impressive alternatives to WhatsApp? In this article, let us take a look at some of the best options.

Private messengers that do not violate your privacy

There could be plenty of private messaging services. I have kept my focus on messaging services with the following criteria in mind:

  • Mobile and desktop availability
  • Group chats and channels
  • Voice and video calls
  • Emojis and sticker support
  • Privacy and encryption

Basically, private messaging app that cater to the need of a common user.

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

1. Session

Key Features:

  • End-to-end Encryption
  • Blockchain-based
  • Decentralized
  • Does not require phone number
  • No data collected by Session
  • Lets you create and manage open/closed groups (open groups are public channels)
  • Voice messages
  • Cross-platform with desktop apps
  • Open-Source

Session is technically a fork of Signal and tries to go one step further by not requiring phone numbers. It isn’t a typical WhatsApp replacement but if you want something different with privacy options, this could be it.

You will have to create a Session ID (that you can share to add contacts or ask your contacts to share theirs). If you delete the app, you will lose your ID, so you need to keep your recovery pass safely.

Unlike Signal, it does not rely on a centralized server but blockchain-based, i.e. decentralized. That’s good for reliability technically, but I’ve noticed some significant delays in sending/receiving messages.

If you’re tech-savvy, and want the absolute best for privacy, this could be it. But, it may not be a great option for elders and general consumers. For more information, you can check out my original Session overview.

Session 2. Signal

Key Features:

  • End-to-End encryption
  • Almost no data collection (Except your phone number)
  • Supports Emojis and Stickers
  • Lets you create and manage Groups
  • Voice/Video calling supported
  • Cross-platform support with desktop apps
  • Open-Source

Signal is my personal favorite when it comes to privacy alternatives to WhatsApp. I’ve made the switch for years, but I didn’t have all my contacts in Signal. Fast-forward to 2021, I have most of my contacts on Signal.

Signal is the best blend of open-source and privacy. They’ve improved a lot over the years and is safe to assume as a perfect alternative to WhatsApp. You get almost every essential feature compared to WhatsApp.

However, just because it does not store your data, you may not be able to access all the messages of your smartphone on Desktop. In addition to that, it relies on local backup (which is protected by a passphrase) instead of cloud backups. So, you will have to head to the settings, start the backup, safely copy the passcode of the backup, check where the local backup gets stored, and make sure you don’t delete it.

You can explore more about Signal in our original coverage and learn how to install Signal in Linux.

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

Recommended Read:

.ugb-6429a95 .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-6429a95 .ugb-blog-posts__title a{color:#000000 !important}.ugb-6429a95 .ugb-blog-posts__title a:hover{color:#00b6ba !important}9 Decentralized, P2P and Open Source Alternatives to Mainstream Social Media Platforms Like Twitter, Facebook, YouTube and Reddit 3. Telegram

Key Features:

  • End-to-end Encryption (with Secret chat option)
  • Cloud-based (no need to back up your chats, it’s all in the cloud)
  • Ability to create public channels
  • Create and manage groups
  • Voice/Video Call
  • Offers a better privacy policy to WhatsApp
  • Supports Emojis and Stickers
  • Client-side Open-Source

Telegram may not be the best bet for privacy, but it is certainly better than WhatsApp in several regards.

By default, the chats aren’t end-to-end encrypted but the convenience of having all the history in the cloud without needing to backup while having the secret chat option for encryption is a good deal for common consumers.

Not just limited to that, you also get native desktop apps and the client-side apps are open-source.

Of course, I won’t recommend it over others for privacy-conscious users, but sometimes you just need a messenger that works, offers convenience, and respects the user’s privacy even if the chats are stored in the cloud.

Telegram 4. Threema (Paid)

Key Features:

  • End-to-end Encryption
  • Does not require a phone number
  • Lets you create and manage groups
  • Ability to add polls
  • Voice/Video calls
  • Switzerland-based (known for best privacy policies)
  • Cross-platform (with Threema Web for PC, no native desktop apps)
  • Open-Source

Threema was among the best choices in the list of private messengers available out there. Initially, it wasn’t open-source, which was a bummer.

But, now, Threema is completely open-source!

Threema offers the best features that you’d always want in a messenger. However, it is a paid-only app.

Of course, if your friends/contacts do not mind paying for one of the best privacy alternatives to WhatsApp, you can easily recommend them this!

Threema 5. Element

Key Features:

  • End-to-end Encryption
  • Does not require phone number
  • Supports creating large public groups and closed groups as well
  • Utilizes Decentralized Matrix network
  • Voice/Video Calls
  • Cross-platform with desktop apps
  • Open-Source

Element is yet another fantastic WhatsApp alternative that is built keeping privacy in mind. It may not be a perfect replacement for a few contacts but if you’re looking for an “All in One” platform for personal messaging and work as well, Element can be the perfect pick.

It was originally known as Riot, and then it rebranded to Element. Do note that it can be a little overwhelming if you wanted a simple alternative, but it’s great for privacy and security.

Element Wrapping Up

With the transparent policy updates to WhatsApp, more users are getting aware about the disadvantages of using a product owned by big tech companies. Hence, we need WhatsApp alternatives more than ever.

Of course, it is not easy to switch and convince other less tech-savvy users. But, it is certainly worth it.

What do you think about the best WhatsApp alternatives which offer better privacy? Let me know your thoughts in the comments below.

More in Tux Machines

today's leftovers

  • Snapcraft Clinic Successes

    On Thursday I mentioned we were restarting the Snapcraft Clinic. Basically we stand up a regular video call with engineers from the snap and snapcraft team & us from Snap Advocacy. Developers of applications and publishers of snaps are invited to join to troubleshoot. There was nothing especially secret or private discussed, but as we don’t record or stream the calls, and I don’t have direct permission to mention the applications or people involved, so I’ll keep this a little vague. In future I think we should ask permission and record the outcomes of the calls. We had a few productive discussions. One developer brought an application which they’d requested classic confinement for, and wished to discuss the options for confinement. We had a rather lengthy open discussion about the appropriateness of the available options. The developer was offered some choices, including making changes to their application to accomodate confinement, and another was (as always) not to snap the application. They appreciated our openness in terms of accepting that there are limitations with all software, and not everything always makes sense to be packaged as a snap, at the moment. We also had a productive discusison with a representative of a group responsible for publishing multiple snaps. They had difficulties with a graphical snapped application once it had been updated to use core20. The application would launch and almost immediately segfault. As the application was already published in the Snap Store, in a non-stable channel, we were all able to install it to test on our own systems.

  • Kraft Version 0.96

    Ich freue mich, heute das Release Version 0.96 von Kraft herauszugeben. Die neue Version kann über die Homepage heruntergeladen werden.

  • A new data format has landed in the upcoming GTG 0.5

    Diego’s changes are major, invasive technological changes, and they would benefit from extensive testing by everybody with “real data” before 0.5 happens (very soon). I’ve done some pretty extensive testing & bug reporting in the last few months; Diego fixed all the issues I’ve reported so far, so I’ve pretty much run out of serious bugs now, as only a few remain targetted to the 0.5 milestone… But I’m only human, and it is possible that issues might remain, even after my troll-testing. Grab GTG’s git version ASAP, with a copy of your real data (for extra caution, and also because we want you to test with real data); see the instructions in the README, including the “Where is my user data and config stored?” section. Please torture-test it to make sure everything is working properly, and report issues you may find (if any). Look for anything that might seem broken “compared to 0.4”, incorrect task parenting/associations, incorrect tagging, broken content, etc.

  • MAS ‘Ocean strainer’ technology to be open source

    Inspired by the success of its ‘Ocean Strainer’ floating trash trap, a pilot project launched in the Dehiwala Canal last year, MAS Holdings will make the ‘Ocean Strainer’ technology available to interested parties, to replicate and scale up the solution.

  • Notes on Addressing Supply Chain Vulnerabilities

    One of the unsung achievements of modern software development is the degree to which it has become componentized: not that long ago, when you wanted to write a piece of software you had to write pretty much the whole thing using whatever tools were provided by the language you were writing in, maybe with a few specialized libraries like OpenSSL. No longer. The combination of newer languages, Open Source development and easy-to-use package management systems like JavaScript’s npm or Rust’s Cargo/ has revolutionized how people write software, making it standard practice to pull in third party libraries even for the simplest tasks; it’s not at all uncommon for programs to depend on hundreds or thousands of third party packages. [...] Even packages which are well maintained and have good development practices routinely have vulnerabilities. For example, Firefox recently released a new version that fixed a vulnerability in the popular ANGLE graphics engine, which is maintained by Google. Both Mozilla and Google follow the practices that this blog post recommends, but it’s just the case that people make mistakes. To (possibly mis)quote Steve Bellovin, “Software has bugs. Security-relevant software has security-relevant bugs”. So, while these practices are important to reduce the risk of vulnerabilities, we know they can’t eliminate them. Of course this applies to inadvertant vulnerabilities, but what about malicious actors (though note that Brewer et al. observe that “Taking a step back, although supply-chain attacks are a risk, the vast majority of vulnerabilities are mundane and unintentional—honest errors made by well-intentioned developers.”)? It’s possible that some of their proposed changes (in particular forbidding anonymous authors) might have an impact here, but it’s really hard to see how this is actionable. What’s the standard for not being anonymous? That you have an e-mail address? A Web page? A DUNS number?[3] None of these seem particularly difficult for a dedicated attacker to fake and of course the more strict you make the requirements the more it’s a burden for the (vast majority) of legitimate developers. I do want to acknowledge at this point that Brewer et al. clearly state that multiple layers of protection needed and that it’s necessary to have robust mechanisms for handling vulnerability defenses. I agree with all that, I’m just less certain about this particular piece.

  • 26 Firefox Quantum About:Config Tricks You Need to Learn - Make Tech Easier

    “Here be dragons,” reads the ominous disclaimer when you type about:config into Firefox’s URL bar, warning you that tweaking things in this area is largely experimental and can cause instability to your browser. Sounds exciting, right? And even though it sounds a little scary, the fact is you will almost certainly be okay when you start playing around in this area and can actually use the features here to improve and speed up your browser. These are Make Tech Easier’s favorite Firefox about:config tricks, freshly updated for Firefox Quantum.

  • Attackers collaborate to exploit CVE-2021-21972 and CVE-2021-21973 - Blueliv

Programming Leftovers

  • The HTTP Referer header is fading away (at least as a useful thing)

    The HTTP Referer header on requests is famously misspelled (it should be Referrer), and also famously not liked because of privacy and security concerns. The privacy and security concerns are especially strong with external ('cross-origin') Referers, which is also the ones that many people find most useful because they tell you where visitors to your pages are coming from and let you find places where people have linked to you or are mentioning you.

  • Top 10 Natural Language Processing (NLP) Trends To Look Forward

    AI and Machine Learning have gifted us marvelous things. NLP or Natural Language Processing is one of them. It is one of the most prominent applications of AI. We are using this technology in our day-to-day life without even knowing. Translators, speech recognition apps, chatbots are actually NLP-powered products. Tech giants like Google and Microsoft are making new developments in NLP every year. If you are an AI enthusiast, you should go deep inside NLP. Chill! We got you covered. Just go through the article, and know about the top NLP trends that most data scientists are talking about.

  • Russ Allbery: DocKnot 4.01

    DocKnot is my software documentation and release management tool. This release adds support for a global user configuration file separate from the metadata for any given project and adds support for signing generated distribution tarballs with GnuPG. Currently, the only configuration options for the global configuration file are to set the destination location of generated distributions and the PGP key to use when signing them.

  • horizonator: terrain renderer based on SRTM DEMs

    I just resurrected and cleaned up an old tool I had lying around. It's now nice and usable by others. This tool loads terrain data, and renders it from the ground, simulating what a human or a camera would see. This is useful for armchair exploring or for identifying peaks. This was relatively novel when I wrote it >10 years ago, but there are a number of similar tools in existence now. This implementation is still useful in that it's freely licensed and contains APIs, so fancier processing can be performed on its output.

  • Happy birthday, Python, you're 30 years old this week: Easy to learn, and the right tool at the right time

    The 30th anniversary of Python this week finds the programming language at the top of its game, but not without challenges. "I do believe that Python just doesn’t have the right priorities these days," said Armin Ronacher, director of engineering at software monitoring biz Sentry and creator of Flask, the popular Python web app framework, in an email interview with The Register. Ronacher, a prolific Python contributor, remains a fan of the language. He credits Python's success to being both easy to learn and having an implementation that was easy to hack. And in its early years, Python didn't have a lot of competitors with those same characteristics, he said.

  • Google fires 150 game developers hired for Stadia: Report

    In about two years, Google has announced to shut down the in-house Stadia game development division, as it sees a great adoption of its technology by third-party developers and publishers to create world-class games.

    Google has said that it will not be investing further in bringing exclusive content from its internal development team SG&E, beyond any near-term planned games.

Benchmarks at Phoronix and Phoronix Test Suite

  • Vulkan Ray-Tracing Along With Other New/Updated Benchmarks For February - Phoronix

    Below is a look at all of the updates now available via for Phoronix Test Suite users or if simply wanting to go to the test profile pages to gauge the CPU/GPU performance in the different real-world workloads. All these updates are available to Phoronix Test Suite users automatically if on an Internet connection when the metadata automatically updates or by running phoronix-test-suite openbenchmarking-refresh to force refresh.

  • The Phoronix Test Suite Gains Vulkan Ray-Tracing Benchmarks

    The versatile Phoronix Test Suite, developed and used by the Linux news website Phoronix, has gained profiles for benchmarking Vulkan ray-tracing performance using two different benchmarks as well as the JPEG XL benchmarks. There's also updates to many of the existing tests as well as a new 10.2.2 release of the Phoronix Test Suite software. [...] Michael Larabel has also updated many existing benchmarks, including the ones for the commercial closed-source games Portal 2, Insurgency and Civilization VI, blender, the libavif AVIF image encoder, the dav1d AV1 video encoder, GROMACS (GROningen MAchine for Chemical Simulations), ParaView, V-RAY (commercial), Pennant (OpenMP benchmark), NWChem and the free software platform game DDraceNetwork.

today's howtos

  • How To Use chmod and chown Command in Linux

    How do I use chmod and chown command under Linux / Unix operating systems? Use the chown command to change file owner and group information. we run the chmod command command to change file access permissions such as read, write, and access. This page explains how to use chmod and chown command on Linux or Unix-like systems.

  • How To Add Route on Linux – devconnected

    As a network engineer, you probably spend a lot of time thinking and planning your network infrastructure. You plan how computers will be linked, physically using specific cables but also logically using routing tables. When your network plan is built, you will have to implement every single link that you theorized on paper. In some cases, if you are using Linux computers, you may have to add some routes in order to link it to other networks in your company. Adding routes on Linux is extremely simple and costless : you can use the Network Manager daemon (if you are running a recent distribution) or the ifconfig one. In this tutorial, you will learn how you can easily add new routes on a Linux machine in order to link it to your physical network.

  • syncing subtitles in freedom

    The topic of creating subtitles with Free Software has often come up in my circles of Emacs-oriented users, and I haven't had a good recommendation to share, until this idea hit me the other day. Subtitle files are largely blocks of start/end time associated with blocks of text. I figured, once you got a transcript, existing Emacs Org Mode features could be used, perhaps along with keyboard macros, to turn the transcript into a synced subtitle file.

  • How To Install Minecraft on Ubuntu 20.04 LTS [Ed: Proprietary and Microsoft; not an attractive option as Free/libre alternatives exist]

    In this tutorial, we will show you how to install Minecraft on Ubuntu 20.04 LTS. For those of you who didn’t know, Minecraft is the most popular sandbox video game developed by Mojang studios but later purchased by Microsoft. It can be used with all major platforms like Linux, macOS, and Windows. Most Minecraft players would agree that the secrete to the game’s success lies in its creativity-inspiring design. Players are free to explore a large, procedurally generated world made of blocks, each of which can be interacted with, moved, or transformed into resources for crafting. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you through the step-by-step installation of Minecraft on Ubuntu 20.04 (Focal Fossa). You can follow the same instructions for Ubuntu 18.04, 16.04, and any other Debian-based distribution like Linux Mint.

  • Ubuntu: format SD card [Guide]

    Are you new to Ubuntu? Do you need to format your SD card but can’t figure out how to do it? If so, this guide is for you! Follow along as we go over a few ways you can format SD cards on Linux.

  • How to remove a remove apt repository from Debian

    Do you have an Apt repository on your Debian Linux PC that you want to delete? Can’t figure out how to do it? We can help! Follow along as we go over two ways you can remove Apt repositories from Debian!

  • The Raspberry PI Cheat Sheet – Raspberry PI User

    The Raspberry PI cheat sheet gives a quick overview of common commands, installation tips and links to guides to help you set up your Raspberry PI as a desktop computer.

  • Do a Kernel Upgrade the Easy Way in Linux Mint

    Upgrading the Linux kernel can be difficult, especially for new Linux users. In Linux Mint, however, it's possible to upgrade to a newer kernel with zero hassle. Today we'll find out how to do it, and what to do if you experience problems.