Language Selection

English French German Italian Portuguese Spanish

It's FOSS

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

Compare Files and Folders Graphically in Linux With Meld

Monday 23rd of November 2020 03:35:04 AM

How do you compare two similar files to check for differences? The obvious answer is to use the diff command in Linux.

The problem is that not everyone would be comfortable comparing files in Linux terminal. And the diff command output could be confusing for some.

Take this diff command output for example:

There is definitely a learning curve involved here. However, if you are using desktop Linux, you can use GUI applications to easily compare two files for any differences.

There are several GUI diff tools available for Linux. I am going to highlight my favorite tool Meld in this week’s Linux application highlight.

Meld: Visual Diff and Merge tool for Linux (and Windows)

With Meld, you can compare two files in side by side view. Not only that, you may also modify the files to make changes accordingly. That’s what you would want to do in most situations, right?

File Comparison

Meld is also capable of comparing directories and show which files are different. It will also show while files are new or missing.

Directory Comparison

You may also use Meld for a three-way comparison.

Three Way File Comparison

The graphical side-by-side comparison helps in a number of situations. If you are a developer, you can use it to understand code patches. Meld also supports version control systems like Git, Mercurial, Subversion etc.

Features of Meld

The open source Meld tools has the following main features:

  • Perform two and three-way difference comparison
  • Edit files in-place and the difference comparison updates immediately
  • Navigate between differences and conflicts
  • Visualize global and local differences with insertions, changes and conflicts marked accordingly
  • Use regex text filtering to ignore certain differences
  • Syntax highlighting
  • Compare two or three directories for newly added, missing and altered files
  • Exclude some files from comparison
  • Support for popular version control systems like Git, Mercurial, Bazaar and SVN
  • Support for many international languages
  • Open source GPL v2 license
  • Available for Linux as well as Windows
Installing Meld on Linux

Meld is a popular application and it is available in the official repositories of most Linux distributions.

Check your distribution’s software center and see if Meld is available.

Meld In Ubuntu Software Center

Alternatively, you can also use command line package manager of your distribution to install Meld. On Ubuntu, it is available in the Universe repository and can be installed using the apt command:

sudo apt install meld

You may find the source code of Meld on GNOME’s GitLab repository:

Meld Source Code Worth it?

I know that most modern open source code editors come with this feature but sometimes you just want a simple interface without the trouble of installing additional add-ons for comparing files. Meld provides you just that.

Do you use some other tools for checking differences between files? Which tool would that be? What’s your experience with Meld, if you ever used it? The comment sections is all yours for sharing your opinion.

How to Save the Output of a Command to a File in Linux Terminal [Beginner’s Tip]

Saturday 21st of November 2020 12:37:36 PM

When you run a command or script in the Linux terminal, it prints the output on the screen for your immediate viewing.

There will be times when you need to save the output to a file for future references. Now, you can surely copy and paste in Linux terminal but there are better ways to save the output of a shell script or command in Linux command line. Let me show them to you.

Method 1: Use redirection to save command output to file in Linux

You can use redirection in Linux for this purpose. With redirection operator, instead of showing the output on the screen, it goes to the provided file.

  • The > redirects the command output to a file replacing any existing content on the file.
  • The >> redirects adds the command output at the end of the existing content (if any) of the file.

Use the STDOUT redirection operator > for redirecting the output to a file like this:

command > file.txt

If the file.txt doesn’t exist, it will be created automatically. If you use the > redirect again with the same file, the file content is replaced by the new output.

The example below demonstrates it better. It first saves the output of ls -l command. And then later, it replaces the content of the file with the output of ls *.c command.

Redirecting command output to file

If you don’t want to lose the content of the existing file while saving the output of a script or command, use the redirection operation in append mode with >>.

command >> file.txt

This example demonstrates it better:

Redirecting command output to file in append mode

Even here if the file doesn’t exist, it is created automatically.

Bonus Tip: Save Linux command output as well as error to a file

If your Linux command returns an error, it doesn’t get saved in the file. You can save both the command output and command error in the same file using 2>&1 like this:

command > file.txt 2>&1

Basically, 0 stands for standard input, 1 for standard output and 2 for standard error. Here, you are redirecting (>) standard error (2) to same address (&) as standard output (1).

Method 2: Use tee command to display the output and save it to a file as well

By the way, did you notice that when you send the command output to a file, you cannot see it anymore on the display? The tee command in Linux solves this problem for you.

Like a tee pipe that sends water stream into two directions, the tee command send the output to the display as well as to a file (or as input to another command). You can use it like this:

command | tee file.txt

Again, the file will be created automatically, if it doesn’t exist already.

You may also use the tee command in append mode with option -a in this manner:

command | tee -a file.txt

Let me demonstrate it with some easy to follow examples:

I have used simple Linux commands in my examples. But rest assured, you can use these methods to save the output of bash scripts as well.

Note: Avoid pipe pitfall while saving command output to file

You probably are familiar with pipe redirection. You may use it to combine Linux commands but you cannot pipe the output to a file. It will result in error that filename command not found:

This is because pipe redirects the output of one command to input of another command. And in this case, you give it a file name while it was expecting a command.

If you are new to Linux command line, I hope this quick tutorial added to your Linux knowledge a bit. I/O redirection is an essential concept that one should be aware of.

As always, questions and suggestions are always welcome.

How to Increase Disk Size of Your Existing Virtual Machines in VirtualBox

Thursday 19th of November 2020 05:15:22 AM

Here’s the scenario you may come across sooner or later.

You installed one or more operating systems in VirtualBox. While creating those virtual operating systems, you also created virtual hard disks for them in VirtualBox.

You specified the maximum size of the virtual disk to say 15 or 20 GB but now after using it for some time, you realize that your virtual machine is running out of space.

While there are ways to free up disk space on Ubuntu and other operating systems, a more robust way of handling the situation is to increase the disk size of your virtual machines created in VirtualBox.

Yes, you can enlarge the virtual hard disk in VirtualBox even after creation. Although this is a safe and tested procedure, it is highly recommended to create a backup of your virtual machine before you perform such an action.

How to enlarge VirtualBox disk size

I will show you how to resize disk in VirtualBox graphically and via command line (for Linux geeks). Both methods are easy and straightforward.

Method 1: Using the Virtual Media Manager in VirtualBox

VirtualBox 6 added a graphical option for resizing virtual disks. You can find it at the file tab of VirtualBox home page.

Go to File->Virtual Media Manager:

Select one of your virtual machines in the list and use the “Size” slider or type the size value that you need. Once done click “Apply”.

Keep in mind that though you increased the size of your virtual disk, the actual partition size remains the same if your space is dynamically allocated.

Method 2: Increase VirtualBox disk space using Linux command line

If you are using a Linux operating system as a host, open the terminal and type the following command to resize VDI:

VBoxManage modifymedium "/path_to_vdi_file" --resize <megabytes>

The resize process should finish right after you click the enter button to execute the command.

Note

The commands modifyvdi and modifyhd of earlier versions of VirtualBox commands are also supported and mapped internally to the modifymedium command.

If you are not sure where your virtual machines are saved, you can find the default location from the VirtualBox home page by clicking on Files -> Preferences or by using the keyboard shortcut Ctrl+G.

Conclusion

Personally, I prefer to use the terminal on every Linux distribution that I use for expanding disk, the graphical option is a very handy addition to the latest VirtualBox release.

This is an easy and quick tip but a great addition to VirtualBox fundamentals. If you find this tip useful, check out a few features of VirtualBox guest additions.

How to Write, Compile and Run a C Program in Ubuntu and Other Linux Distributions [Beginner’s Tip]

Tuesday 17th of November 2020 12:33:49 PM

How do you program in C on Linux? It is indeed very easy and consists of three simple steps.

Step 1: You write your program and save the file with a .c extension. For example, my_program.c.

Step 2: You compile the program and generate the object file using gcc compiler in a terminal like this:

gcc -o my_program my_program.c

Step 3: You run the generated object file to run your C program in Linux:

./my_program

This was just the quick summary on how to compile and run C program in Linux. If you are new to either C or Linux, I’ll show these steps in detail so that you feel comfortable coding C program in Linux environment.

In fact, I’ll discuss how to run C programs in Linux terminal as well as in code editor.

Method 1: How to run C programs in Linux terminal

In order to run a C program in Linux, you need to have a C compiler present on your systems. The most popular compiler is gcc (GNU Compiler Collection).

You can install gcc using your distribution’s package manager. In Debian and Ubuntu-based Linux distributions, use the apt command:

sudo apt install gcc

Switch to directory where you have kept your C program (or provide the path) and then generate the object file by compiling the program:

gcc -o my_program my_program.c

Keep in mind that it is optional to provide the output object file (-o my_program). If you won’t do that, an object file named a.out will be automatically generated. But this is not good because it will be overwritten for each C program and you won’t be able to know which program the a.out object file belongs to.

Once you have your object file generated, run it to run the C program. It is already executable. Simple use it like this:

./my_program

And it will display the desired output, if your program is correct. As you can see, this is not very different from running C++ programs in Linux.

Every time you make a change in your program, you have to compile it first and then run the generated object file to run the C program.

Method 2: How to run C programs in Linux using a code editor like Visual Studio Code

Not everyone is comfortable with command line and terminal and I totally understand that.

You can use a proper C/C++ IDE like Eclipse or Code Blocks but they are often too heavy programs and more suitable for large projects.

I recommend using an open source code editor like Visual Studio Code or Atom. These are basically text editors and you can install add-ons to compile and run programs directly from the graphical code editor.

I am using Visual Studio Code editor in this example. It’s a hugely popular open source code editor from Microsoft.

First thing first, install Visual Studio Code in Ubuntu from the software center. For other distributions, please check your Linux distribution’s package manager or software center. You may also check the official website for more information.

Start Visual Studio Code and open/create a project and create your C program here. I am using a sample Hello World program.

You must ensure that you have gcc compiler installed on your Linux system.

sudo apt install gcc

Next thing you would want is to use an extension that allows you to run the C code. Microsoft may prompt you for installing its own extension for C/C++ program but it is complicated to setup and hence I won’t recommend it.

Instead, I suggest using the Code Runner extension. It’s a no-nonsense extension and you can run C and C++ code easily without additional configuration.

Go to the Extensions tab and search for ‘Code Runner’ and install it.

Install Code Runner extension for running C/C++ program

Restart Visual Studio Code. Now, you should be able to run the C code by using one of the following way:

  • Using the shortcut Ctrl+Alt+N.
  • Press F1 and then select or type Run Code.
  • Right click the text editor and the click Run code from context menu.
Right click the program file and choose Run Code

When you run the program, it is compiled automatically and then run. You can see the output in terminal that is opened at the bottom of the editor. What could be better than this?

Program output is displayed in the bottom section of the editor

Which method do you prefer?

Running a few C programs in Linux command line is okay but using a code editor is much easier and saves time. Won’t you agree?

I let you decide whichever method you want to use.

LazPaint: A Free & Open Source Paint.NET Alternative

Tuesday 17th of November 2020 07:45:33 AM

Brief: LazPaint is an open-source Paint.NET alternative with cross-platform support. It is a lightweight program with a bunch of essential options to edit images quickly. Here’s an overview of LazPaint.

LazPaint: Open Source Paint.NET Alternative for Linux

If you are fond of using tools to quickly edit and manipulate images and screenshots, you may have heard about Paint.NET, which is available only for Windows systems.

It is a popular nifty tool to get a lot of basic editing tasks done along with a bunch of options available. You might be aware of several image editing tools but Paint.NET is a pretty popular option just because it is easy to use without any bloated feature for an average user.

LazPaint comes to the rescue as an impressive open source replacement to Paint.NET for Linux, Windows, and macOS. It offers most of the essential features one would need to manipulate images while being easy to use.

Since it is cross-platform application, even if you’re not using a Linux system, you could still start using it as a no-nonsense free and open-source tool, if that’s your priority. Now, let us take a look at some features it offers.

Features of LazPaint

As I mentioned earlier, LazPaint offers a bunch of essential features. Here, I’ll list the key highlights that can help you decide if you need it. However, I’d recommend you to explore it to know more about it.

  • All major file formats supported (including layered Bitmaps and 3D files)
  • Selection Tools, Crop to Selection, Selection Pen, Invert Selection
  • Export to Krita supported
  • Image resampling with various quality settings
  • Motion Blur, Custom Blur, Radial Blur, and Pixelate tool
  • Ability to remove transparency and flatten the image
  • Rotate and Flip images
  • Convert images to Negatives
  • Ability to re-size Canvas
  • Deforming tool (perspective)
  • Advanced Drawing tools
  • Set workspace color
  • Dark theme
  • Supports script functionality
  • Layer support with essential management options
  • Layer effects
  • Filters
  • Grayscale effect
  • Ability to enable/disable the toolbar in or attach them to the Dock
.ugb-c76f327-wrapper.ugb-container__wrapper{border-radius:0px !important;padding-top:0 !important;padding-bottom:0 !important;background-color:#f1f1f1 !important}.ugb-c76f327-wrapper > .ugb-container__side{padding-top:35px !important;padding-bottom:35px !important}.ugb-c76f327-wrapper.ugb-container__wrapper:before{background-color:#f1f1f1 !important}.ugb-c76f327-content-wrapper > h1,.ugb-c76f327-content-wrapper > h2,.ugb-c76f327-content-wrapper > h3,.ugb-c76f327-content-wrapper > h4,.ugb-c76f327-content-wrapper > h5,.ugb-c76f327-content-wrapper > h6{color:#222222}.ugb-c76f327-content-wrapper > p,.ugb-c76f327-content-wrapper > ol li,.ugb-c76f327-content-wrapper > ul li{color:#222222}

Recommended Read:

.ugb-09ed16b .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-09ed16b .ugb-blog-posts__title a{color:#000000 !important}.ugb-09ed16b .ugb-blog-posts__title a:hover{color:#00b6ba !important}Drawing is an Open Source MS-Paint Type of App for Linux Desktop Installing LazPaint on Linux

You should find it available in your official repositories to install it via your default package manager but to get the latest version, you will have to download the .deb file or compile it from source on non-Debian based Distributions.

I wish there was a Flatpak available to get the latest version on every Linux distribution — but nothing as of now.

It is available for Windows and macOS as well. You will also find a portable version available for Windows, that could come in handy.

LazPaint Closing Thoughts on LazPaint

I found it really easy to use and the variety of quality settings to re-sample (or resize) an image is definitely a good addition. If you’ve already installed it, you must have noticed that it does not take a significant amount of storage to get installed and is a lightweight program overall.

It’s snappy, and most of the functions that I tested in my quick usage worked quite well without any issues.

What do you think about LazPaint as a Paint.NET alternative? Let me know your thoughts in the comments below.

Linux Jargon Buster: What is Grub in Linux? What is it Used for?

Sunday 15th of November 2020 01:24:42 PM

If you ever used a desktop Linux system, you must have seen this screen. This is called the GRUB screen. Yes, it is written in all capital letters.

Remember this screen? This is GRUB

In this chapter of the Linux Jargon Buster series, I’ll tell you what Grub is and what is it used for. I’ll also briefly touch upon the configuration and customization part.

What is GRUB?

GRUB is a complete program for loading and managing the boot process. It is the most common bootloader for Linux distributions. A bootloader is the first software that runs when a computer starts. It loads the kernel of the operating system and then the kernel initializes the rest of the operating system: shell, display manager, desktop environment, etc.

Boot loader vs boot manager

I didn’t want to confuse you at this stage but this topic needs to be introduced before going on. There is a blurry line between a bootloader and a boot manager.

You already know that the bootloader starts first and then loads the kernel into memory and executes it. A boot manager program allows you to choose between operating systems, if there is more than one on your system. A boot manager doesn’t load the OS directly,

With Linux kernel version 3.3, the Linux kernel includes a built-in EFI bootloader. In fact, any operating system that is capable of working the EFI system includes an EFI bootloader. In EFI capable systems, the firmware reads the EFI system partition (ESP) to locate the EFI files for boot information.

GRUB is both a bootloader and a boot manager. I’ll come back to GRUB in a moment. First, let’s see other GRUB-like programs.

Trivia

GRUB is acronym for GRand Unified Bootloader.

What are some other boot managing programs similar to GRUB?

GRUB is the most popular boot manager for Linux. But it is not the only one. There is the highly customizable rEFInd boot manager that some Linux users love.

Customized rEFInd Boot Manager Screen | Image Credit

There is also systemd-boot text-based boot manager. You can guess that this is exclusively for systemd-based Linux distributions. Some distributions such as Pop OS, use the systemd-boot.

systemd-Boot in Pop OS | Image Credit Accessing or editing GRUB

The usual GRUB screen you see is its menu interface. It allows you to choose which operating systems to boot, if there is more than one on your machine. You can also choose to load a different kernel if your Linux distribution as more than one installed.

Depending upon the configuration set by the Linux distribution, you may have some other entries on the GRUB menu.

You can edit a GRUB menu entry by pressing the “e” key. This way, you can change the kernel parameters before loading it. For example, in some cases, disabling the graphics driver from the kernel helps you with Linux system stuck at boot.

You can also enter the command line menu of GRUB using the “c” key at the GRUB menu interface.

GRUB configuration file

Any changes you make to GRUB from the menu interface is temporary. If you want to make some permanent changes to GRUB, such as changing the default timeout, you can change the configuration file after you boot into your Linux system.

The default GRUB configuration file is located at /etc/default/grub. There is also a /etc/default/grub.d directory. You may edit the /etc/default/grub file directly, however it is advised to make additional changes by adding config files (.cfg files) in this directory.

Default GRUB Config File

You must update GRUB for the changes to take into effect. In fact, whenever you install an additional Linux on your system, it will try to overwrite the existing GRUB config with its own.

GRUB customizer for easily customizing GRUB

If you think editing a file with a text editor in the terminal is not something you feel comfortable with, you can use a graphical tool called GRUB Customizer.

It allows you to change the boot order, default timeout etc. You can also use it to change the background of GRUB with a custom wallpaper.

GRUB Customizer can be installed in Ubuntu 20.04 from Universe repository and via PPA in Ubuntu 18.04. It is available via AUR in Arch Linux based distributions.

Conclusion

I have touched everything on the surface. EFI, boot loading and GRUB itself is detailed and complicated topic and not in the scope of this article. This article intended to give you a high-level overview of the GRUB boot program.

Perhaps I’ll write a detailed guide on GRUB explaining the low-level details. For now, if you want to learn more about GRUB, you can access the GRUB documentation in your Linux terminal using the info grub command.

GRUB Manual can be accessed via Terminal

I hope you have a tad bit better understanding of what GRUB is now. Here’s a GIF to humor you.

What Is GRUB? UEFI don’t hurt me, no more… :)

I may not have answered all questions you have about GRUB. Please feel free to let me know in the comment section. I may update the article with your questions or suggestions.

How to Install Fedora in VirtualBox [With Steps for USB, Clipboard and Folder Sharing]

Friday 13th of November 2020 07:56:10 AM

If you are curious about Fedora Linux, there are several ways to try it.

The easiest way that won’t affect your current operating system is to create a live USB of Fedora.

An alternative way to try Fedora, is to get advantage of virtualization technology through an installation in VirtualBox. This way, you use Fedora like an application on your current operating system.

This way, you can perform more thorough testing without messing up your current operating system.

You can even copy your virtual setup and re-install it on some other system. Sounds handy? Let me show you how to do it.

Installing Fedora in VirtualBox

Let’s see the steps for installing Fedora Linux in Oracle VirtualBox.

Step 1: Install VirtualBox

If you haven’t already installed VirtualBox on your system, you can download it from the official website. You can find instructions for Windows, Mac OS and Linux. Ubuntu users can refer to this detailed tutorial on installing VirtualBox.

Download VirtualBox Step 2: Download the Fedora ISO

If you are not familiar with fedora, there are a few images to be aware of.

Fedora IoT is to be used for scalable infrastructure, Fedora workstation is an image with a set of tools oriented for a desktop in a vanilla GNOME desktop environment and Fedora server as its name reveals, is tailored for a server or data center.

If GNOME isn’t your first choice, you can download a spin of Fedora desktop with an alternative desktop environment. For this tutorial, I chose Fedora 33 with the GNOME desktop environment.

Download Fedora Step 3: Create an empty virtual machine and configure it

Fedora requires a minimum of 20GB disk space & 2GB RAM, to install and run successfully. Although double those amounts is recommended for a smoother user experience. Based on that I will create and configure the virtual machine.

Start Virtual Box and click on New.

Create a new virtual machine

The most important option to pay attention, is the type to be set to Linux and the version to Fedora (64-bit). If you start typing Fedora at the name prompt, VirtualBox will automatically pick the correct settings for you. Although the name doesn’t have to be Fedora, it can be anything you like.

If you have access to 32-bit version only, you need to enable virtualization technology on BIOS, if you have an AMD CPU it is called SVM. Worst-case scenario is that your CPU doesn’t support virtualization technology. If you are not sure, check this first.

Once you have similar settings with me, click on the create button.

Name your VM and assign it at least 3 GB RAM

As mentioned before, you need at least 20 GB of disk space to be able to install Fedora. I have 32 GB of RAM on my system so I assigned 8 GB here. You should be fine with 3 GB of RAM.

A word about RAM consumption, the RAM will only be consumed by the virtual machine when you are running it. Otherwise, it will be available for regular usage.

Make sure that the rest of the settings match the example and click Create.

Assign 15-20 GB of disk space in VDI format

Before you click the start button of your virtual machine, you need to load the ISO as shown below [Optical Drive].

Add the Fedora ISO to optical drive storage

As your virtual hard drive is empty, the virtual machine will boot from this ISO. Think of it as using a live USB or disk for installing Linux.

Go to Settings and add ISO as optical drive

Then, if you have a multi-core CPU it is recommended to assign 2 or more cores for your virtual machine. You may find the CPU cores under the system tab. When you configure your system click ok and start the virtual machine.

Optional step: Assign number of CPU cores

Once you have configured everything, click on the start button to begin the installation.

Step 4: Install Fedora in VirtualBox

If you have followed the process correctly, when you start the virtual machine you will boot directly from the ISO file. When you see a similar to below screen select Start Fedora, and press the enter key.

Fedora running in live environment in virtual machine

To start the installation dialog box, click on Install to Hard Drive.

Click on “install to hard drive”

Before you proceed to the installation, it is essential to define your keyboard layout, your timezone and finally where the operating system will be installed.

Choose keyboard, time and date and then go to Installation Destination

The partitioning process is straight forward. You made some free space as VDI earlier. It should be automatically recognized.

Select your disk and set the storage configuration to automatic. Click on Done to go to the previous dialog box.

Disk should be automatically recognized

Once you have configured the above, click on “Begin Installation”.

Begin installation of Fedora

Now you just need to wait for five-six minutes for installation completion. Click on the “Finish installation” button when installation is finished.

As a last step, you need to power off your system. If you are unfamiliar with the GNOME desktop environment you can do it like so.

Turn off Fedora live environment after installation

You have to manually unload the ISO file that you loaded at the initial steps.

Remove Fedora ISO From Optical Drive

The next time you start the virtual machine with Fedora, you will be prompted to create a user account and set your password for Fedora Linux.

Use VirtualBox guest additions for additional features like clipboard sharing, folder sharing and more

Guest Additions are designed to be installed inside a virtual machine post installation of the guest operating system. They contain device drivers and system applications that optimize the guest operating system for better performance and usability.

The Guest Additions ISO file is mounted as a virtual CD-ROM in order to be installed.

This is a straightforward process. Simply click on the devices tab and then click on “Insert Guest Additions CD image”

You will be prompted to download the guest additions image, when prompt click on Download.

Install VirtualBox Guest Additions Shared clipboard

At some point you’ll need to move some content between your virtual machine and the host operating system. The shared clipboard/drag and drop support will allow you to copy items on one platform and paste them on the other.

To enable this feature, choose Settings on the VirtualBox home page and follow the instructions as below. I find the Bidirectional option the most convenient.

Enable clipboard sharing between guest and host systems Shared folders

There are two types of shares:

  • Permanent shares, that are saved with the Virtual Machine settings.
  • Transient shares, that are disappear when the Virtual Machine is powered off. These can be created using a checkbox in the VirtualBox Manager.

In this tutorial, I will make a permanent shared folder. In the VM settings add the host system folder you want to share and choose the name that you want to appear at your VM.

The next time you start the virtual machine, the folder should appear as a network drive.

Better video support

While the virtual graphics card which Oracle VirtualBox provides all the basic features, the custom video drivers that are installed with the Guest Additions provide you with extra high and non-standard video modes, as well as accelerated video performance.

Using Guest Additions, the guest OS’s resolution will dynamically resize as you adjust the VirtualBox window on your computer.

Finally, Guest Additions can take advantage of your computer’s graphics card. If you’re a gamer or using productivity software in a WM, this makes a huge difference.

USB and Network Devices sharing

With VirtualBox, users have the ability to use a fully-functional operating system, without having to do the setup on different hardware. However, sharing USB and network devices between the host and guest machine is not as straightforward as it should be.

To access USB devices, you will need to install the VirtualBox extension pack.

Install VirtualBox Extensions pack

This is for Linux only because I am using all this in Linux.

In order for VirtualBox to have access to the USB subsystem, the user (on host system) running VirtualBox must belong to the vboxuser group. To do this, open up a terminal and issue the following command:

sudo usermod -aG vboxusers 'your username'

Once you run the command, you should either log out and log back in, or restart your host machine.

At this step, plug in your USB stick and through your VM settings you should be able to find and add the medium as shown at the example.

Your USB will be accessible the next time you start your virtual machine.

Bonus Tip: Save and export the Virtual Machine so that you can use it later on any system

You may want to use your virtual machine to another computer or it is time to build a new machine and you need to keep your virtual machine as it is. You can easily export your current setup and import it to another machine at a few easy steps.

At the VirtualBox home panel, click on file and the export appliance. If you prefer keyboard shortcuts, you can simply click Ctrl+E.

Choose the virtual machine you want to export and click on next.

The Format option needs some attention. There are three different options of Open Virtualization Format 0.9, 1.0 and 2.0, which can be either ovf or ova extensions.

With ovf extension, several files will be written separately, compared to ova extension, which combines all the files into one Open Virtualization Format archive.

The default format, Open Virtualization Format 1.0, should be fine.

To finish the process, click next and at the next dialog box click export.

Conclusion

By using a virtual machine you can’t just test an operating system but deploy a fully functioning system, equally comparable to a physical machine. Nowadays, hardware has become so powerful and affordable that most of its power is not being utilized.

Through virtualization technology, you can use those wasted resources. The need for physical machines is reduced, and consequently the energy consumption is less. You can save money both from hardware and reduced running costs.

On a larger scale, server virtualization is more of a basic requirement than an advanced concept.

I hope you found this tutorial helpful in installing Fedora Linux in VirtualBox. If you face any issues, please let me know in the comments.

How to Install and Use Etcher on Linux for Making Live Linux USB

Wednesday 11th of November 2020 09:42:30 AM

Etcher is a popular USB flasher app for creating bootable Linux USB drives. Let me show you how to install it and how to use it for making a live Linux disk.

Etcher: An open source tool to flash Linux ISO on SD Cards & USB drives

Etcher is an open-source project by Balena to help flash SD cards for Raspberry Pi. In fact, we used it in our tutorial on how to install Raspbian OS on a SD Card.

Not just limited to SD Cards, you can also use Etcher to make a bootable USB drive just like we created a live USB of Manjaro in Linux with the help of it.

Ever since its first release, Etcher caught the attention for its neat interface and simplicity of use.

In this article, I will be focusing on the steps to help you install Etcher on Linux. And then, I’ll also show how to use it. Before I do that, let me give you an overview of the features it offers:

Features of Etcher
  • Validate drive before flashing
  • Beautiful user interface
  • Auto-detects USB drive/SD card to prevent wiping the HDD on your computer
  • Cross-platform support (Windows, macOS, and Linux)
  • Fast flashing
  • Simple three-step process

On paper, you get everything one would need to flash OS images on an SD card and a USB drive. It is also exciting to know that they plan to add the support simultaneous writing to multiple devices as per their roadmap.

Installing Etcher on Linux

To get started, you have to grab the AppImage file that it offers (suitable for any Linux distribution) from its official website.

You just need to head on to its homepage and download the one for your system (32-bit/64-bit):

In my case, I got the 64-bit AppImage file for Ubuntu. You can go through our guide on using AppImage files on Linux, but I’ll give you a head start on what you need to do next.

You need to give the file permissions to execute and you can do that by right-clicking on the AppImage file -> Properties.

Next, click on “Allow executing as a program” under the Permissions tab as shown in the image below.

Now, just double-click on the AppImage file to launch balenaEtcher!

This should work on any Linux distribution. In either case, you can also head over to its GitHub releases section to find RPM, DEB, and the source file if you want to build it from source or just install it using the .rpm or .deb files.

You can also refer to our guide on using deb file in Ubuntu to install applications.

Attention!

It’s been noticed that when you use Etcher to create live USB of Linux distributions, it leaves the USB in an apparent unusable state where it has only a few MB of free state and cannot be formatted directly. On Linux, you can use the Disks tool to manually delete the partitions and then format it.

Using Etcher on Linux

It is just a three-step process to get started using Etcher. It should be self-explanatory as per the on-screen instructions after you launch it, but just to give you a head start, here’s what you have to do:

Step 1: Select the appropriate ISO image file or the URL of the file that you need to flash (as shown in the image below).

Step 2: Next, you will have to select the target device. It automatically detects and highlights removable devices to help you prevent selecting any internal storage locations.

In this case, I have a USB drive connected, and I have it selected as well (as shown in the screenshot below).

Step 3: Now, all you have to do is — flash the image and wait for it to complete successfully.

Here’s how the progress looks:

And, it is done!

Download balenaEtcher Wrapping Up

Etcher is a useful tool to flash OS images for both SD cards and USB drives. I tend to use it primarily to create live USB drives to test Linux distros and I’m happy with it.

What do you prefer to use to create bootable drives? Have you tried Etcher already? Let me know your thoughts in the comments down below.

MuditaOS: A Beautiful and Minimal Open Source Mobile Operating System for Feature Phones

Tuesday 10th of November 2020 07:31:42 AM

Find the always connected smartphones too distracting and privacy invasive? Let’s go back to the pre-2010 era and enjoy the simplicity of feature phones but with a modern design with MuditaOS.

There are a few open source mobile operating systems existing already. Let me add one more to this list.

Unlike most other mobile operating systems, MuditaOS is not interested in serving smartphones. Let’s have a look at it.

Meet MuditaOS: A minimalistic, yet powerful mobile operating system

MuditaOS is a beautifully designed E Ink mobile operating system. You might have come across the E Ink display with electronic eBook readers like Kindle or Nook.

The E Ink display itself is soothing to the eyes and MuditaOS makes it even more beautiful with its minimalist approach.

Here are the components of a basic phone running MuditaOS:

  • Home Screen (with clock and notification)
  • Calls
  • Phonebook
  • Messaging
  • Settings
  • Music Player (Thanks goodness!)
  • Alarm clock
  • Calendar
  • Meditation Timer
  • Tools
  • Onboarding

Since this is all too 2007-ish, MuditaOS has a companion desktop application available to manage the phone.

Mudita Center desktop app to manage your Mudita Phone

Mudita Center application is available on Linux, Windows and macOS. Connecting the phone to the computer and using this application, you can do the following:

  • Update MuditaOS
  • Upload and manage audio on Pure
  • Export notes and voice memos
  • Create longer messages and notes (because typing on phone with limited keys is a pain)
  • Synchronize calendar
  • Use your phone as mobile hotspot (if you have the 3G/4G data connection)
What devices are available?

MuditaOS is specially created for their own Mudita Pure phones that come on pebble gray and charcoal black colors.

The phones are water resistant with IP54 rating and though it supports 4G network, you cannot use internet on the phone. You’ll have to tether it with your computer to use the data network on the computer.

It also has ultralow SAR antenna to minimize the mobile radiation exposure. Another good thing is that their speakers and microphones are by Harman so expect top quality audio.

Here are more technical specifications:

  • Processor: Arm Cortex-M7 600MHz, 512KB Tightly Coupled Memory (TCM)
  • Memory: 16 MB SDRAM and 16 GB eMMC flash storage
  • Network and connectivity: 2G, 3G, 4G/LTE, GSM, Bluetooth 4.2, USB type-C, No WiFi, no mobile data on the phone
  • Display: 2.84’’ E Ink (600x480px), 16-grayscale, scratch resistant
  • Weight: 140 g
  • Sim card: 2 nano SIM card slots
  • Audio: Loudspeaker, earspeaker & microphone by Harman, Audio playback format: MP3, WAV, FLAC, Headphone jack, Bluetooth audio playback
  • Battery: ~1600mAh, Li-Po, replacable
  • Sensors: Ambient Light

You can preorder a Mudita Pure phone on the link below Keep in mind that pricing is astronomical compared to other feature phones.

Pre-order Mudita Pure

As of now, I am not aware of any device other than the ones from Mudita running MuditaOS. This is rather new on the scene.

Conclusion

The name Mudita is inspired by the Sanskrit word ‘Mudit’ which means ‘happy’. Recently when the developers open sourced their project they mentioned, “open-sourcing MuditaOS goes along the line of our “You’re happy – I’m Happy” philosophy”.

I know that working on feature phones in the age of smartphones may sound like a bad idea but keep in mind that feature phones are still not obsolete. There is still market for these phones among older people and for people who don’t want to spend too much on phones just for making calls.

Quick Lookup is a Simple Open Source Word Lookup Tool to Find Meaning of Words You Come Across

Monday 9th of November 2020 02:13:32 PM

It is always handy to have a quick word lookup tool while browsing the web or reading an e-book. Quick Lookup is one such free and open-source tool to try.

Whenever I come across a word that I don’t know the meaning of, I just open a new tab and search for the meaning. However, it is a hit and trial every time depending on what search engine you’re on.

Even if you do get an idea for the meaning with a quick search, you do not get all the details required along with it. Especially, if you do not know the meaning of the word that describes your target word. You will end up performing another quick search.

So, to get rid of all that hassle, a quick lookup tool should prove to be useful!

Quick Lookup: A Simple Dictionary App Powered by Wiktionary

Whatever is your idea of what is Linux, this is what Wiktionary thinks of Linux.

As you might have guessed already, Quick Lookup needs an active Internet connection to give you the results for your words utilizing Wiktionary.

It is a completely free and open-source application that offers essential features to make it a handy productive tool for Linux users. Let us take a look at what it offers.

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

Recommended Read:

.ugb-7907357 .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-7907357 .ugb-blog-posts__title a{color:#000000 !important}.ugb-7907357 .ugb-blog-posts__title a:hover{color:#00b6ba !important}Artha: An Offline English Thesaurus App for Linux

Artha is a feature rich thesaurus application available for all major Linux distributions. 

Features of Quick Lookup
  • Ability to look for the definitions of the words and phrases
  • It lets you manually enter the word or phrase
  • Multiple languages supported but the description and meaning of words/phrases will be displayed only in English
  • Open internal links from within app (if you’re curious about a related word)
  • Remembers your last search with the help of the back button
  • You can also launch the app in selection mode to automatically capture the word you select
Installing Quick Lookup on Linux

Quick Look is available primarily as a Flatpak package for every Linux user. If Flatpak is integrated with your software center like Pop!_Shop on Pop OS, you can find it listed there.

If you have Flatpak enabled, you can always use this command to install it:

flatpak install flathub com.github.johnfactotum.QuickLookup

You can learn more about using Flatpak in case you don’t know how about it.

It is worth noting that if you want to select texts on your browser (or any other app) while using a Flatpak package and have it look for the meaning, you will have to type this command (launching it in the selection mode):

flatpak run com.github.johnfactotum.QuickLookup --selection

In either case, you can simply download the source archive and get it installed using the installation script. You can also run it without needing to install it by simply navigating the source folder and typing this command:

gjs quick-lookup.js

If you’ve installed it from source and want it to automatically fetch the text that you select on any app, you will have to launch it using the following command:

quick-lookup --selection

You also get an option to use the GNOME Builder if you’re familiar with it. For more details, you can check out its GitHub page.

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

Recommended Read:

.ugb-958b5ee .ugb-blog-posts__featured-image{border-radius:0px !important}.ugb-958b5ee .ugb-blog-posts__title a{color:#000000 !important}.ugb-958b5ee .ugb-blog-posts__title a:hover{color:#00b6ba !important}LanguageTool Review: Free and Open Source Grammar Checker

LanguageTool is a free and open source proofreading software that checks the grammar, style and spelling in more than 20 languages.

Closing Thoughts on Quick Look

Quick Look is definitely a useful dictionary app (even without an offline functionality) to quickly look for the meanings of words/phrases. I’m not much into eBooks, but you can try using an eBook reader along with this app to quickly be able to decipher words.

Personally, I like to use it while browsing the web. To make things convenient, I like to keep its Window on top of every window on my workspace. So, you can easily select a text and then click on it to get the meaning and continue working.

An offline functionality would be great for users who do not spend most of their time online. But, for the time being, it’s only online.

Have you tried something like Quick Look? Let us know your thoughts in the comments below.

How to Install Google Chrome on Fedora [Beginner’s Tutorial]

Monday 9th of November 2020 03:14:32 AM

Fedora comes with Firefox as the default web browser. Despite it being an excellent web browser, you may prefer the popular Google Chrome browser.

If you are wondering how to install Google Chrome on Fedora, let me show you two ways of installing Google Chrome, graphical method and command line method.

It is up to you which method you prefer. Your Google Chrome on Fedora will be getting regular updates via the system updates in all the three methods.

Method 1: Install Google Chrome on Fedora from the Software Center

Fedora provides a third-party repository that contains some popular proprietary software, graphics driver. Google Chrome is one of them.

First step, make sure to enable third-party repositories in Fedora. You should see this option in the software center itself.

Step1: Fedora Third Party Repositories

Once you have it enabled, simply search for Chrome in the software center:

Step 2: Search for Chrome In Fedora Software Center

And install it from there:

Step 3: Install Chrome Fedora

Can it be any easier than this? I don’t think either :)

Method 2: Installing Google Chrome on Fedora from Chrome website

If you do not want to enable the third-party repository, that’s okay. You don’t have to. You can download the RPM file from Chrome’s website, double-click on it and install it.

Visit Google Chrome’s website and click on the download button.

.ugb-a42e7b6 .ugb-button1{background-color:#00b6ba}.ugb-a42e7b6 .ugb-button1 .ugb-button--inner,.ugb-a42e7b6 .ugb-button1 svg:not(.ugb-custom-icon){color:#222222 !important}Get Google Chrome

Then select the .rpm package and click on “Accept and Install”.

Once the download is over, double click on the file and click install when prompted at the package manager. Type your password and wait until the process is done.

That’s super easy, right? Let’s see somewhat complicated method (if you are not a terminal fan).

Method 3: Install Chrome on Fedora using command line

Firstly, you need to add extra Fedora repositories (that you saw in method 1):

sudo dnf install fedora-workstation-repositories

And then enable Google Chrome repository.

sudo dnf config-manager --set-enabled google-chrome

To install the Google Chrome stable release, run the following command at your terminal.

sudo dnf install google-chrome-stable

You should get a warning for importing the GPG key, enter y to continue.

You are adding the Google Chrome repository. The package comes from this repository, directly from Google.

Conclusion

Installing Google chrome on Fedora is fairly easy, even if you use the command line. It’s pretty much the same as installing Chrome on Ubuntu except the third-party repository part.

Now that you have installed it, you may want to check our list of Google Chrome keyboard shortcuts to use the browser faster.

Don’t forget to subscribe, to get the latest news and tutorials about Fedora, and if you have any questions please leave a comment below.

Dell is Adding Webcam and Microphone Kill Switches in Linux Kernel

Friday 6th of November 2020 06:18:13 AM

Dell is adding new code in Linux kernel that will enable you to disable newer Dell system’s webcam and microphone with keyboard shortcuts. Why? Because privacy.

Privacy is no longer a luxury. It has become the basic necessity.

Privacy-oriented niche devices like Librem notebook series offer hardware kill switches to block webcam, microphone, Bluetooth and Wi-Fi.

Dell will also be providing hardware kill switches in 2021 in the form of keyboard combination. It is implementing kill switch at kernel level and thus allowing you to disable webcam and microphone with keyboard shortcut.

Dell is adding hardware privacy driver to Linux kernel

In a patch to Linux kernel, Dell disclosed its privacy driver that protects users privacy of audio and camera from hardware level. Once the audio or camera privacy mode enabled, any applications will not get any audio or video stream.

With Ctrl+F4 hotkey, audio privacy mode will be enabled and camera mute hotkey is Ctrl+F9.

Why is it important? Is Linux so unsecure that anyone can use your webcam remotely?

That’s the obvious question and I would like to clear a few things on this topic. We live in a connected world using internet extensively by means of a number of applications.

While your operating system may be secure at the core, there can be some level of intrusion at application level. Browser extensions are being used for stealing data. Imagine a rogue browser extension with access to your webcam or microphone?

This is why snapping the access to webcam, microphone etc at hardware level is a better option. The new privacy drivers from Dell provide this feature.

As Phoronix noted, there is also indication that Dell is working on ‘privacy screen’ under the privacy driver. Privacy screen reduces the horizontal/vertical viewing angles of the display so that onlookers cannot clearly see the content on your screen.

When will Dell Privacy Driver be available? Will it be for everyone?

There is no timeline for now since the things are under development. Keep in mind that this is a Dell specific solution and they will be introducing this in their newer models in 2021.

Though I think it should be available for any Dell device because it is included in the Linux kernel but I cannot confirm that.

What if you want to ensure your privacy right now?

If you got intrigued and want to ensure your privacy by disabling the webcam, microphone, screen etc, you don’t necessarily need to buy new Dell machines. There are additional accessories available that help you in this regard.

For webcams, you may use external accessories like a webcam blocker with slider. I have one from Free Software Foundation when I opted for their annual membership. You can easily order one from Amazon or other e-commerce sites in your country.

Preview Product Price Laptop Camera Cover Slide, Anti-spy Webcam Cover for Laptop, PC,... $5.99 Buy on Amazon

There are similar devices for blocking microphones as well. I have never used them, so I CANNOT vouch for their effectiveness.

Preview Product Price Mic-Lock Microphone Blocker (3 Pack) – Signal Blocking Device (3.5mm) for Laptops, Smartphones,... $16.99 Buy on Amazon

You may also use privacy screen filters that disables viewing angles so that people cannot peep on what you are doing on your laptop in public places like cafés, airports etc. I have seen people using it in tech conferences and it works pretty nicely.

Preview Product Price AmazonBasics Privacy Screen Filter for 14 Inch 16:9 Widescreen Monitor $23.86 Buy on Amazon

Overall, it is nice to see that big manufacturers like Dell are taking privacy seriously. Let’s hope more manufacturers also follow the suit.

14 Linux Distributions You Can Rely on for Your Ancient 32-bit Computer

Thursday 5th of November 2020 06:25:19 AM

If you’ve been keeping up with the latest Linux distributions, you must have noticed that 32-bit support has been dropped from most of the popular Linux distributions. Arch Linux, Ubuntu, Fedora, everyone has dropped the support for this older architecture.

But, what if you have vintage hardware with you that still needs to be revived or you want to make use of it for something? Fret not, there are still a few options left to choose from for your 32-bit system.

In this article, I’ve tried to compile some of the best Linux distributions that will keep on supporting 32-bit platform for next few years.

Top Linux distributions that still offer 32-bit support

This list is a bit different from our earlier list of Linux distributions for old laptops. Even 64-bit computers can be considered old if they were released before 2010. This is why some suggestions listed there included distros that only support 64-bit now.

The information presented here are correct as per my knowledge and findings but if you find otherwise, please let me know in the comment section.

Before you go on, I suppose you know how to check if you have a 32 bit or 64 bit computer.

1. Debian Image Credits: mrneilypops / Deviantart

Debian is a fantastic choice for 32-bit systems because they still support it with their latest stable release. At the time of writing this, the latest stable release Debian 10 “buster” offers a 32-bit version and is supported until 2024.

If you’re new to Debian, it is worth mentioning that you get solid documentation for everything on their official wiki. So, it shouldn’t be an issue to get started.

You can browse through the available installers to get it installed. However, before you proceed, I would recommend referring to the list of things to remember before installing Debian in addition to its installation manual.

Minimum System Requirements:
  • 512 MB RAM
  • 10 GB Disk Space
  • 1 GHz Processor (Pentium 4 or equivalent)
Debian 2. Slax

If you just want to quickly boot up a device for some temporary work, Slax is an impressive option.

It is based on Debian but it aims to be a portable and fast option that is meant to be run through USB devices or DVDs. You can download the 32-bit ISO file from their website for free or purchase a rewritable DVD/encrypted pendrive with Slax pre-installed.

Of course, this isn’t meant to replace a traditional desktop operating system. But, yes, you do get the 32-bit support with Debian as its base.

Minimum System Requirements:
  • RAM: 128 MB (offline usage) / 512 MB (for web browser usage)
  • CPU: i686 or newer
Slax 3. AntiX Image Credits: Opensourcefeed

Yet another impressive Debian-based distribution. AntiX is popularly known as a systemd-free distribution which focuses on performance while being a lightweight installation.

It is perfectly suitable for just about any old 32-bit system. To give you an idea, it just needs 256 MB RAM and 2.7 GB storage space at the very least. Not just easy to install, but the user experience is focused for both newbies and experienced users as well.

You should get the latest version based on Debian’s latest stable branch available.

Minimum System Requirements:
  • RAM: 256 MB of RAM
  • CPU: PIII systems
  • Disk space: 5 GB of drive space
AntiX 4. openSUSE

openSUSE is an independent Linux distribution that supports 32-bit systems as well. Even though the latest regular version (Leap) does not offer 32-bit images, the rolling release edition (Tumbleweed) does provide 32-bit image.

It will be an entirely different experience if you’re new. However, I suggest you to go through the reasons why you should be using openSUSE.

It is mostly focused for developers and system administrators but you can utilize it as an average desktop user as well. It is worth noting that openSUSE is not meant to run on vintage hardware — so you have to make sure that you have at least 2 GB RAM, 40+ GB storage space, and a dual core processor.

Minimum System Requirements:
  • Pentium 4 1.6 GHz or higher processor
  • 1 GB physical RAM
  • 5 GB Hard Disk
openSUSE 5. Emmabuntüs

Emmabuntus is an interesting distribution that aims to extend the life of the hardware to reduce waste of raw materials with 32-bit support. As a group they’re also involved in providing computers and digital technologies to schools.

It offers two different editions, one based on Ubuntu and the other based on Debian. If you want a longer 32-bit support, you may want to go with the Debian edition. It may not be the best option, but with a number of pre-configured software to make the Linux learning experience easy and 32-bit support, it is a decent option if you want to support their cause in the process.

Minimum System Requirements:
  • 512 MB RAM
  • Hard Drive: 2 GB
  • Pentium processor or equivalent
Emmanbuntus 6. NixOS Nixos KDE Edition (Image Credits: Distrowatch)

NixOS is yet another independent Linux distribution that supports 32-bit systems. It focuses on providing a reliable system where packages are isolated from each other.

This may not be directly geared towards average users but it is a KDE-powered usable distribution with a unique approach to package management. You can learn more about its features from its official website.

  • RAM: 768 MB
  • 8 GB Disk Space
  • Pentium 4 or equivalent
NixOS 7. Gentoo Linux

If you’re an experienced Linux user and looking for a 32-bit Linux distributions, Gentoo Linux should be a great choice.

You can easily configure, compile, and install a kernel through package manager with Gentoo Linux if you want. Not just limited to its configurability, which it is popularly known for, you will also be able to run it without any issues on older hardware.

Even if you’re not an experienced user and want to give it a try, simply read through the installation instructions and you will be in for an adventure.

Minimum System Requirements:
  • 256 MB RAM
  • Pentium 4 or AMD equivalent
  • 2.5 GB Disk Space
Gentoo Linux 8. Devuan

Devuan is yet another systemd-free distribution. It is technically a fork of Debian, just without systemd and encouraging Init freedom.

It may not be a very popular Linux distribution for an average user but if you want a systemd-free distribution and 32-bit support, Devuan should be a good option.

Minimum System Requirements:
  • RAM: 1 GB
  • CPU: Pentium 1.0 GHz
Devuan 9. Void Linux

Void Linux is an interesting distribution independently developed by volunteers. It aims to be a general purpose OS while offering a stable rolling release cycle. It features runit as the init system instead of systemd and gives you the option of several desktop environments.

It has an extremely impressive minimum requirement specification with just 96 MB of RAM paired up with Pentium 4 (or equivalent) chip. Try it out!

Minimum System Requirements:
  • 96 MB RAM
  • Pentium 4 or AMD equivalent processor
Void Linux 10. Q4OS

Q4OS is another Debian-based distribution that focuses on providing a minimal and fast desktop user experience. It also happens to be one of the best lightweight Linux distributions in our list. It features the Trinity desktop for its 32-bit edition and you can find KDE Plasma support on 64-bit version.

Similar to Void Linux, Q4OS also runs on a bare minimum of at least 128 MB RAM and a 300 MHz CPU with a 3 GB storage space requirement. It should be more than enough for any vintage hardware. So, I’d say, you should definitely try it out!

To know more about it, you can also check out our review of Q4OS.

Minimum Requirements for Q4OS:
  • RAM: 128 MB (Trinity Desktop) / 1 GB (Plasma Desktop)
  • CPU: 300 MHz (Trinity Desktop) / 1 GHz (Plasma Desktop)
  • Storage Space: 5 GB (Plasma Desktop) / 3 GB (Trinity Desktop)
Q4OS 11: MX Linux

If you’ve got a slightly decent configuration (not completely vintage but old), MX Linux would be my personal recommendation for 32-bit systems. It also happens to be one of the best Linux distributions for every type of user.

In general, MX Linux is a fantastic lightweight and customizable distribution based on Debian. You get the option to choose from KDE, XFCE or Fluxbox (which is their own desktop environment for older hardware). You can explore more about it on their official website and give it a try.

Minimum System Requirements:
  • 1 GB RAM (2 GB recommended for a comfortable usage)
  • 15 GB of disk space (20 GB recommended).
MX Linux 12. Linux Mint Debian Edition

Linux Mint based on Debian? Why not?

You get the same Cinnamon desktop experience just without Ubuntu as its base. It is equally easy to use and as reliable as Linux Mint based on Ubuntu.

Not just limited to the Debian base, but you get support for both 64-bit and 32-bit systems. This should be a great choice if you do not want to use a Linux distribution that you’ve never heard on your 32-bit system.

Minimum System Requirements:
  • 1 GB RAM (2 GB recommended for a comfortable usage)
  • 15 GB of disk space (20 GB recommended).
Linux Mint Debian Edition 13. Sparky Linux

Sparky Linux is one of the best lightweight Linux distributions tailored for beginners. It is easily customizable and light on resources.

It offers different editions as per your requirements but it does support 32-bit versions. Considering that you want something for your old computer, I would recommend taking a look at its MinimalGUI edition unless you really need a full-fledged desktop environment like Xfce or LXQt.

Minimum System Requirements:
  • RAM: 512 MB
  • CPU: Pentium 4, or AMD Athlon
  • Disk space: 2 GB (CLI Edition), 10 GB (Home Edition), 20 GB (GameOver Edition)
Sparky Linux 14. Mageia

A fork of Mandriva Linux, Mageia Linux is a community-powered Linux distribution that supports 32-bit systems.

Usually, you will notice a major release every year. They aim to contribute their work to give a free operating system which is also potentially secure. It may not be a popular choice for 32-bit systems but it supports a lot of desktop environments (like KDE Plasma, GNOME), you just need to install it from its repositories if you need.

You should get the option to download a desktop environment specific image from their official site.

Minimum System Requirements:
  • 512 MB RAM (2 GB Recommended)
  • 5 GB storage space for minimal installation (20 GB for regular installation)
  • CPU: Pentium 4, or AMD Athlon
Mageia Honorable Mentions: Funtoo & Puppy Linux

Funtoo is a Gentoo-based community-developed Linux distribution. It focuses on giving you the best performance with Gentoo Linux along with some extra packages to make the experience complete for users. It is also interesting to note that the development is actually led by Gentoo Linux’s creator Daniel Robbins.

Puppy Linux is a tiny Linux distro with almost no bundled software applications but the basic tools. If nothing else works and you want the lightest distro, Puppy Linux could be an option.

Of course, if you’re new to Linux, you may not have the best experience with these options. But, both the distros support 32-bit systems and work well across many older Intel/AMD chipsets. Explore more about it on their official websites to explore.

Funtoo Puppy Linux Wrapping Up

I focused the list on Debian-based and some Independent distributions. However, if you don’t mind long term support and just want to get your hands on a 32-bit supported image, you can try any Ubuntu 18.04 based distributions (or any official flavour) as well.

At the time of writing this, they just have a few more months of software support left. Hence, I avoided mentioning it as the primary options. But, if you like Ubuntu 18.04 based distros or any of its flavours, you do have options like LXLE, Linux Lite, Zorin Lite 15, and other official flavours.

Even though most modern desktop operating systems based on Ubuntu have dropped support for 32-bit support. You still have plenty of choices to go with.

What would you prefer to have on your 32-bit system? Let me know your thoughts in the comments below.

How to Check Free Disk Space on Linux [Terminal and GUI Methods]

Wednesday 4th of November 2020 07:55:42 AM

How much disk space I have utilized?

The simplest way to find the free disk space on Linux is to use df command. The df command stands for disk-free and quite obviously, it shows you the free and available disk space on Linux systems.

df -h

With -h option, it shows the disk space in human-readable format (MB and GB).

Here’s the output of the df command for my Dell XPS system that has only Linux installed with encrypted disk:

Checking free disk space with df command in Linux

If the above output is confusing for you, don’t worry. I’ll explain a few things around checking available disk space in Linux. I’ll also show the GUI method for desktop Linux users.

Method 1: Checking free disk space in Linux with df command (and understanding its output)

When you use the df command to check disk space, it will show a bunch of ‘file systems’ with their size, used space and free space. Your actual disks should normally be listed as one of the following:

  • /dev/sda
  • /dev/sdb
  • /dev/nvme0n1p

This is not a hard and fast rule but it gives you an indication to easily recognize the actual disk from the crowd.

Your Linux system might have several partitions on your disk for boot, EFI, root, swap, home etc. In such cases, these partitions are reflected with a number at the end of the ‘disk name’, like /dev/sda1, /dev/nvme0n1p2 etc.

You could identify which partition is used for what purpose from its mount point. Root is mounted on /, EFI in /boot/EFI etc.

In my case, I have used 41% of the 232 GB of disk space under root. If you have 2-3 big partitions (like root, home etc), you’ll have to make a calculation here.

Understanding df command output
  • tmpfs: The tmpfs (temporary filesystem) used for keeping files in virtual memory. You can ignore this virtual filesystem comfortably.
  • udev: The udev filesystem is used for storing information related to devices (like USB, network card, CD ROM etc) plugged to your system. You may ignore it as well.
  • /dev/loop: These are loop devices. You’ll see plenty of them while checking disk space in Ubuntu because of snap applications. Loops are virtual devices that allow normal files to be accessed as block devices. With the loop devices, snap applications are sandboxed in their own virtual disk. Since they are under root, you don’t need to count their used disk space separately.
Missing disk space? Check if you have mounted all disks and partitions

Keep in mind that the df command only shows disk space for mounted filesystems. If you are using more than one Linux distribution (or operating systems) on the same disk or you have multiple disks on your system, you need to mount them first in order to see the free space available on those partitions and disks.

For example, my Intel NUC has two SSDs and 4 or 5 Linux distributions installed on them. It shows additional disks only when I mount them explicitly.

You can use the lsblk command to see all the disks and partitions on your system.

Once you have the disk partition name, you can mount it in this fashion:

sudo mount /dev/sdb2 /mnt

I hope this gives you a pretty good idea about checking hard drive space on Linux. Let’s see how to do it graphically.

Method 2: Check free disk usage graphically

Checking free disk space graphically is much easier in Ubuntu with the Disk Usage Analyzer tool.

Disk Usage Analyzer Tool

You’ll see all the actual disks and partitions here. You may have to mount some partitions by clicking on them. It displays the disk usage for all the mounted partitions.

Disk usage check Checking free disk space with GNOME Disks utility

Otherwise, the GNOME Disks utility is also pretty handy tool.

GNOME Disks Tool

Start the tool and select the disk. Select a partition to see the free disk space. If a partition is not mounted, mount it first by clicking the ‘play’ icon.

Free Disk Space Check in Ubuntu Desktop

I think all major desktop environments have some sort of graphical tool to check the disk usage on Linux. You can search for it in the menu of your desktop Linux system.

Conclusion

There can be more ways and tools to check the disk space of course. I showed you the most common command line and GUI methods for this purpose.

I also explained a few things that might trouble you in understanding the disk usage. Hope you like it.

If you have questions or suggestions, please let me know in the comment section.

The New Raspberry Pi 400 is Basically a Tiny Computer Inside a Keyboard

Monday 2nd of November 2020 03:28:52 PM

Raspberry Pi needs no introduction. What started as a low-spec computer for DIY enthusiasts, it can now be used as full-featured desktop.

With the Raspberry Pi 400 release, they are making it more friendly for home computer usage. The Raspberry Pi 400 is basically a computer in the form of a keyboard.

If you remember, Commodore 64 was also a computer in the form of a keyboard back in 1982. Even though it isn’t unique, for a successful product like Raspberry Pi, it is a sweet deal.

Raspberry Pi 400: Overview

It is based on the Raspberry Pi 4 (with 4 GB RAM) and has been tweaked to run cooler as well. With a Quad-core processor, it is faster than ever.

Not just limited to the ease of use and portability, but it should save you a lot of desk space. And, just like me, if you were planning to get a spare computer to test stuff, I think I may want to go with the Raspberry Pi 400 instead of building another PC or Linux-based mini PC.

Even though I’ve mentioned the tech specs below, you can watch the official video to get an idea on how it looks and if it’s promising enough as your home computer:

Raspberry Pi 400 specification

Here’s the tech specs for the Pi 400:

  • Broadcom BCM2711 quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHz
  • 4GB LPDDR4-3200
  • Dual-band (2.4GHz and 5.0GHz) IEEE 802.11b/g/n/ac wireless LAN
  • Bluetooth 5.0, BLE
  • Gigabit Ethernet
  • 2 × USB 3.0 and 1 × USB 2.0 ports
  • Horizontal 40-pin GPIO header
  • 2 × micro HDMI ports (supports up to 4Kp60)
  • H.265 (4Kp60 decode); H.264 (1080p60 decode, 1080p30 encode); OpenGL ES 3.0 graphics
  • MicroSD card slot for operating system and data storage
  • 78- or 79-key compact keyboard (depending on regional variant)
  • 5V DC via USB connector
  • Operating temperature: 0°C to +50°C ambient
  • Maximum dimensions 286 mm × 122 mm × 23 mm
Pricing & Availability

For $70, this is the best modern home computer that you can get with the simplicity of just having a keyboard and being able to carry it anywhere (you just need a screen to connect to).

You can either get just the Raspberry Pi 400 for $70 or get the complete kit for $100 with a USB mouse, micro HDMI to HDMI cable, USB-C power supply, a beginners guide, and an SD card with Raspberry Pi OS pre-installed.

If you’re wondering, for the keyboard layout support, here’s what the press release mentioned:

At launch, we are supporting English (UK and US), French, Italian, German, and Spanish keyboard layouts, with (for the first time) translated versions of the Beginner’s Guide. In the near future, we plan to support the same set of languages as our official keyboard.

In other words, they support every major keyboard layout to start with. So, it shouldn’t be an issue for the majority.

In addition to the details for keyboard layout, here’s how you can get your hands on a Raspberry Pi 400:

UK, US, and French Raspberry Pi 400 kits and computers are available to buy right now. Italian, German, and Spanish units are on their way to Raspberry Pi Approved Resellers, who should have them in stock in the next week.

We expect that Approved Resellers in India, Australia, and New Zealand will have kits and computers in stock by the end of the year. We’re rapidly rolling out compliance certification for other territories too, so that Raspberry Pi 400 will be available around the world in the first few months of 2021.

Of course, if you’re anywhere near Cambridge, you can head over to the Raspberry Pi Store to pick up your Raspberry Pi 400 today.

Raspberry Pi 400 Wrapping Up

Raspberry Pi 400 is definitely something impressive and useful in the current time when remote work is becoming the new norm.

What do you think about the new Raspberry Pi 400? Planning to get one? Let me know your thoughts in the comments below.

GnuCash: A Powerful Open Source Accounting Software

Monday 2nd of November 2020 02:22:30 PM

Brief: GnuCash is a popular free and open-source accounting software that can be used to manage personal finance as well as business transactions.

Considering the complexities of managing personal finances and business transactions, you will find a lot of online services or software tools that aim to simplify things. Some tools simply let you add expenses and income to keep track of your savings while others offer different features.

I have already covered several open source account software in the past. Here, I will be focusing on one of the options — GnuCash, which is a popular free accounting software with plenty of features for every user.

GnuCash: Free & Open Source Accounting Software

GnuCash is a free accounting software tailored for professional requirements to track transactions, stocks, etc. It is available for Linux, BSD, macOS, and Windows as well.

Even though it can be overwhelming to start with, it is easy to use for managing personal transactions as well. You can get a detailed report to analyze after you’ve started managing an account and added transactions to it.

Features of GnuCash

As I mentioned earlier, GnuCash comes loaded with a bunch of features which could be overwhelming for someone new to accounting, but I think it should be worth it:

  • Double-entry Accounting
  • Stock/Bond/Mutual Fund accounts
  • Small-business accounting with tax support (like GST in India)
  • Detailed report for breakdown
  • Graph for easy analysis
  • Financial calculations support
  • Auto-saving feature
  • Color coding
  • Online Banking Wizard
  • Journal
  • Loan repayment calculator
  • Price database for quick calculation
  • Budget balance sheet, flow, graph for each category
  • Ability to export as CSV
  • Add Customer, Vendor, and Employee records separately
  • Scheduled transactions
  • Ability to set a Budget
  • Configuring bill generator to ease up the accounting process

I’m no expert but this is just the tip of the iceberg. You will find a host of options to customize and set for your accounting needs.

Gnucash Report Installing GnuCash on Linux

You can find GnuCash in the software center of your Linux distribution. Install it from there or use the package manager of your distribution.

A Flatpak package is also available for those who want the latest version. In case you didn’t know, I’d suggest you to go through our Flatpak guide.

Alternatively, you can build it from source or you can head to their official download page to explore options for your Linux distribution.

GnuCash Wrapping Up

For basic personal finance management, it was a little overwhelming for me because I prefer to use an Android app for simplicity. However, if you take a look around for a few minutes, it is easy to understand and GnuCash seems flexible for most requirements.

If you like to manage your or your business’s finances, you may give it a try. It is definitely better than keeping data in spreadsheet :)

Linux Jargon Buster: What are GUI, CLI and TUI in Linux?

Sunday 1st of November 2020 06:17:24 AM

When you start using Linux and follow Linux-based websites and forums, you’ll often come across terms like GUI, CLI and sometimes TUI.

This chapter of Linux Jargon Buster briefly explains these terms so that you as a (new) Linux user can understand the context better when these acronyms are used.

To be honest, the terms like GUI, CLI or TUI are not exclusive to Linux. These are generic computing terms and you’ll find them used in non-Linux discussions as well.

GUI – Graphical User Interface

Probably the most common term you’ll across on It’s FOSS. It’s because we focus on desktop Linux users and try to cover the easy to use graphical methods and applications.

A GUI application or graphical application is basically anything that you can interact with your mouse, touchpad or touch screen. You have icons and other visual notions and you can use your mouse pointer to access the functionalities.

GIMP: A GUI app for photo editing

On Linux, a desktop environment provides the graphical interface for you to interact with your system. Then you can use GUI applications like GIMP, VLC Firefox, LibreOffice, file manager etc for various tasks.

GUI has made computing easier for the common users otherwise it would have remained a geek-only zone.

CLI – Command Line Interface

CLI is basically a command line program that accepts inputs to perform a certain function. Basically, any application that you can use via commands in the terminal falls into this category.

apt-cache is a CLI tool for interacting with APT cache on Debian-based systems

Early computers didn’t have mouse to interact with the operating system. You had to do interact with the machine using commands.

If you think that’s difficult you should know that the earlier computers didn’t even have a screen to see what is being typed on, they had actual paper printer to see their typed commands. I have never used such a computer or seen in my real life. The closest thing I used was the microcontroller kits during my studies.

Ken Thompson And Dennis Ritchie Working on developing UNIX operating system on PDP 11 computer. | Image Credit

Is CLI relevant these days? Absolutely. Commands always have their benefit specially when you are dealing with the core functioning and configuration of the operating system like setting up firewall, managing network or even package management.

You may have a GUI-based application to do the same task but commands give you more granular access to those features. In any case, you’ll find that GUI application also interact with the operating system with commands (used in their code).

Handbrake GUI app uses FFMPEG CLI tool underneath

Many popular GUI applications are often based on CLI tools. Take Handbrake for example. It’s a popular open source media converter and it uses the FFMPEG command line tool underneath.

Quite evidently, using command line tools is not as easy as the graphical ones. Don’t worry. Unless you have specific needs, you should be able to use your Linux system graphically. However, knowing the basic Linux commands helps a great deal.

TUI – Terminal User Interface (also known as Text-based User Interface)

This is the most uncommon term of the three. TUI is basically part GUI and part CLI. Confused? Let me explain that for you.

You already know that early computers used CLI. Before the advent of the actual GUI, the text-based user interface provided a very basic kind of graphical interaction in the terminal. You have more visuals and could use mouse and keyboard to interact with the application.

nnn File Browser in terminal

TUI stands for text-based user interface or terminal user interface. Text-based because primarily, you have a bunch of text on the screen and terminal user interface because they are used only in the terminal.

TUI applications are not that common but you still have a bunch of them. Terminal based web browsers are good example of TUI programs. Terminal-based games also fell in this category.

CMUS is terminal based music player

You may come across TUI when you are installing multimedia codecs in Ubuntu where you have to accept EULA or make a choice.

TUI apps are not as user-friendly as GUI applications, and they often have a learning curve involved but they are a bit easier to use than the command line tools.

In the end…

TUI apps are often also considered as CLI applications because they are restricted to the terminal. In my opinion, it’s up to you if you consider them different from CLI.

I hope you liked this part of Linux Jargon Buster. If you have any suggestions for topics in this series, please let me know in the comments and I’ll try to cover them in the future.

A Brief History of Ubuntu Touch

Saturday 31st of October 2020 01:16:32 PM

Sensing the tech trend, Ubuntu tried its hands on creating a Linux-based mobile operating system. The first announcement came a decade back and six years down the line, Ubuntu closed the curtains on the project.

What went wrong? How it started? Is Ubuntu Touch still alive? Let’s take a look at the history of Ubuntu Touch in chronological order.

Shuttleworth Announced Ubuntu Touch

The Ubuntu Touch project began with a blog post by Canonical founder Mark Shuttleworth. The blog post, dated October 31, 2011, started with a bold prediction: “By 14.04 LTS Ubuntu will power tablets, phones, TVs and smart screens from the car to the office kitchen, and it will connect those devices cleanly and seamlessly to the desktop, the server and the cloud.”

Shuttleworth went on to explain that this move would be accomplished mainly through the use of the company’s new desktop environment, Unity. (Unity was introduced in Ubuntu 10.10.) “Unity, the desktop interface in today’s Ubuntu 11.10, was designed with this specific vision in mind.”

The whole idea behind Unity was to create an interface that would work on different screen resolutions.

“Unity’s core elements are arranged in exactly the way we need to create coherence across all of those devices. This was the origin of the name Unity – a single core interface framework, that scales across all screens, and supports all toolkits.”

Shuttleworth said that this move was motivated by the increasing use of mobile devices. “Make no mistake – just as the world is changing for manufacturers so is it changing for Linux distributions. Today, 70% of people in Egypt access the Internet solely via the phone. Even in the US that figure is a startling 25%.”

Ubuntu Touch is Released to the World

The Unity desktop environment was originally introduced in the netbook version of Ubuntu 10.10. However, the phone interface wouldn’t be seen by the public until 2013. Mark Shuttleworth demoed it at the 2013 CES.

Ubuntu Touch 1.0 was baked into the Ubuntu 13.10 release. This version primarily supported “Galaxy Nexus and Nexus 4 phone” with other images being available, as well.

The system requirements for Ubuntu Touch looked a little bit like this:

Entry-level Ubuntu smartphoneHigh-end Ubuntu “superphone”Processor architecture1Ghz Cortex A9Quad-core A9 or Intel AtomMemory512MB – 1GBMin 1GBFlash storage4-8GB eMMC + SDMin 32GB eMMC + SDMulti-touchYesYesDesktop convergenceNoYes Convergence concept

Note: The last item on the above list (desktop convergence) might be a new idea to some people. This meant that you could use your Ubuntu Touch device like a phone, but you could also hook it up to a display, keyboard, and mouse to use it as a desktop. Unfortunately, Ubuntu Touch never gained this feature.

Ubuntu Tries to Crowdfund a Phone

To show off what an ideal Ubuntu phone would look like, Canonical started a crowdfunding campaign to finance the Ubuntu Edge on July 22, 2013. The goal was to raise $32 million in a month to produce 40,000 devices.

According to the campaign’s page, Canonical hoped to use the new device “to provide a low-volume, high-technology platform, crowdfunded by enthusiasts and mobile computing professionals. A pioneering project that accelerates the adoption of new technologies and drives them down into the mainstream.”

The Ubuntu Edge was considered high-end at the time with the following specs:

Mobile OSDual-boots Android and Ubuntu mobileDesktop OSUbuntu DesktopRAM4GBInternal storage128GBScreen720 x 1,280, 4.5 inchesProtectionSapphire GlassConnectivityDual-LTE, GSMSpeakersStereoBatterySilicon-anode Li-ionPrice$695

Interestingly, several large companies pledged money. For example, Bloomberg pledged $800,000. They made this pledge because they believed that Ubuntu Touch “could benefit its clients and the future of mobile Relevant Products/Services computing.”

Ultimately, the campaign didn’t reach its goal. It only reached $12.7 million or 37% of the goal. The amount raised was the biggest a crowdfunding campaign ever saw.

Ubuntu Touch Goes into Production (Sort of)

Though Canonical failed to make its own hardware, it continued working on the software part i.e., developing the Ubuntu Touch mobile operating system.

Ubuntu Touch was released to device makers in 2014. That same year, two device makers committed to produce Ubuntu phones. These two companies, Chinese Meizu and Spanish BQ, weren’t exactly global household names, but Shuttleworth said that was all part of the plan.

“While we’re happy to work with household names, we want to be involved with partners for whom we can be a significant part of their story, rather than being appended to the more complicated story of other brands.”

Both companies produced and released several phones with Ubuntu Touch as the main operating system. BQ also released an Ubuntu Touch tablet. However, no other manufacturer signed up to make Ubuntu Touch devices.

Canonical Discontinues Ubuntu Touch Unity 8 was in beta when Ubuntu discontinued Unity and Ubuntu Touch project

In early April of 2017, Mark Shuttleworth made another announcement. After mentioning that Canonical had experienced an “excellent quarter and excellent year”, Shuttleworth announced the end of the Ubuntu Touch and Unity. “I’m writing to let you know that we will end our investment in Unity8, the phone and convergence shell.” Instead, Canonical would focus on desktop Ubuntu.

He continued:

I took the view that, if convergence was the future and we could deliver it as free software, that would be widely appreciated both in the free software community and in the technology industry, where there is substantial frustration with the existing, closed, alternatives available to manufacturers. I was wrong on both counts. In the community, our efforts were seen fragmentation not innovation. And industry has not rallied to the possibility, instead taking a ‘better the devil you know’ approach to those form factors, or investing in home-grown platforms. What the Unity8 team has delivered so far is beautiful, usable and solid, but I respect that markets, and community, ultimately decide which products grow and which disappear.

He closed by saying that it was a hard decision to make because of his strong belief in the future of convergence.

The Community Keeps the Project Alive

When Shuttleworth’s announcement hit the internet, all the supporters of Ubuntu Touch were shocked. Many were unsure of what would happen to the devices that they owned. Thankfully, the community came to the rescue.

Shortly after Shuttleworth’s announcement, Marius Gripsgård announced that the UBports team would be keeping Ubuntu Touch alive. UBports was already well known in the Ubuntu Touch community for their work on porting it to more devices.

Several other projects tried to do the same with the desktop version of Unity, but most did not last long. One of them had the inventive name of Yunit but I guess it is not actively developed anymore.

UBports is the only project that is keeping Ubuntu Touch alive by continuously working on its development.

Epilogue

Ubuntu Touch was not the success that Canonical wanted it to be. It was too early for the market. However, it did lay the groundwork for the Linux phones that we have now.

I believe that the PinePhone and the Purism Librem 5 phone would not have come about without Ubuntu Touch sparking interest in a Linux phone. At the same time, the Canonical engineers and programmers solved problems that laid the groundwork for these modern phones. You don’t get successes without a few failures along the way.

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

27 Super Cool Raspberry Pi Zero W Projects for DIY Enthusiasts

Friday 30th of October 2020 05:06:23 AM

The small form factor of the Raspberry Pi Zero W enables a new range of projects. In fact, a lot of people use the Pi Zero in the final version of the project after prototyping on a different full-sized Pi board. And, that’s because it consumes much less power compared to the flagship Pi boards and makes it ideal to build battery powered gadgets.

Preview Product Price CanaKit Raspberry Pi Zero W (Wireless) Complete Starter Kit - 16 GB Edition $32.99 Buy on Amazon

After scouring Instructables, Reddit, Hackaday, other maker oriented communities and my own experience with Pi, I have compiled a list of projects built around the Raspberry Pi Zero and the Raspberry Pi Zero W. The community is extremely innovative and all these projects make impressive use of various features of this maker board.

So, in addition to the awesome list of Raspberry Pi Projects that we covered earlier, here, we will be focusing on Raspberry Pi Zero!

Top Creative Projects You Can Build With Raspberry Pi Zero

Of course, you’re free to use some Raspberry Pi Zero alternatives and try the same project ideas mentioned below.

1. Portable Game Console

This is by far my favorite project built around the Raspberry Pi Zero, hence featured at the top. Today we have emulators for most of the retro games. This project puts the Pi Zero in the classic game-boy form factor. You can play most of your favorite retro games and you can play them anywhere.

This project is also beautifully documented in YouTube video(s) and on Instructables.

Portable Game Console 2. DIY Smart Speaker Powered by Alexa

Amazon’s Alexa has always been very tinkerer friendly and makers around the world have built all kinds of Alexa based devices. This project also adds RGB programmable LED’s to make it look a little more like the echo speaker.

DIY Smart Speaker 3. Home Network Music System

Getting a proper home music system setup is usually expensive. However, with the inexpensive Raspberry Pi Zero, you can utilize your MP3 collection to set up a home network music system.

This project uses the PiDrive, PiDrive is basically a Raspberry Pi Zero W attached to a hard disk. Unfortunately, I think it has been discontinued but you can also build it using a normal Pi Zero W in different configurations. You can play local music or even stream from different services.

Pi MusicBox 4. Network Ad Blocker using Pi-Hole

This is something I personally use on a daily basis and it has completely changed my internet experience. If you’re someone who doesn’t want to see advertisements while you browse around online, an Ad blocker using Raspberry Pi would be exciting, right?

Pi-Hole on a Raspberry Pi can block all the ads on your entire network. Anyone on the network with an active Pi-Hole will have an ad-free experience. It also speeds up your internet experience since the bandwidth used by ads is freed up.

You can watch Linus’ video to get an idea or refer to the detailed post in Linus Tech Tips forums linked in the button below.

Ad-Blocker using Pi Hole 5. AirPlay Speaker using Raspberry Pi Zero

AirPlay is a chromecast equivalent in the Apple ecosystem, you can cast media from your Apple devices to an AirPlay supported speaker.

This project is built very well with 3D printed parts and you can find detailed instructions for it.

AirPlay Speaker 6. DIY Google Home with a Bluetooth Speaker

This is another nifty little project which is a tinkerer’s dream. Building your own smart speaker powered by the Google Assistant? Indeed, exciting!

Here, a Pi Zero is paired with a Bluetooth speaker, microphone and the Google Assistant SDK to achieve some functionalities. You can ask questions and do most of the things you can with the official Google Home device. This project does not handle the casting part of the Google Home experience though.

DIY Google Home 7. Pedal Pi – Raspberry Pi Zero Guitar Pedal

Pedal Pi is a programmable Lo-Fi guitar pedal built using the Pi Zero where you can program your own custom effects. The project is fully open source (including the hardware) as well. It goes to prove how versatile the Pi Zero can be.

It can be an incredibly fun experience for people who are makers and also into digital music.

Pedal Pi 8. ZeroBot – FPV Robot

There are a lot of different robots you can build using the Pi Zero. It is almost perfect for any kind of robot that you can think of building. It has ample amount of GPIO, a decent processor, a camera interface and the choice of software stack and programming language.

The ZeroBot is an FPV bot which also has a camera and is able to transmit what it is seeing. It even features a completely 3D printed body.

You can find detailed instructions here.

9. WiFi Security Camera

Raspberry Pi Zero W comes with a CSI connector where you can connect the camera module. This compatibility also lets you easily build a WiFi-powered CCTV camera(s) for your home at a very reasonable price compared to commercial products.

The motionEyeOS is a purposely built to convert your SBC (in this case the Pi Zero) to a surveillance system. You can find more information in the video above or head to the link below.

WiFi Security Camera 10. PIX-E GIF Camera

GIF’s have taken over social media and all IM platforms. Just thinking of a dedicated GIF camera makes me chuckle. That’s exactly what this project is all about. I am very curious about how it would turn out with the new HQ camera which has a much better image quality.

This project has been documented really well with accompanying videos on Hackaday

GIF Camera 11. Wearable Timelapse Camera

One of the sleekest camera project I’ve seen, this is a wearable camera. You can take time-lapses, and videos from a first person’s perspective.

This is a project by Adafruit and is documented really well. Refer to the video above to get an idea or head to the link below.

Wearable Timelapse Camera 12. Telescope Camera

Building a telescope camera is one of the most popular camera based applications for the Pi Zero. Makers around the world have taken amazing pictures with their DIY telescope cameras.

Telescope Camera 13. Kodi on Pi Zero

Kodi is one of the best open source media server software for making a media box for your TV. The amazing part is that it also runs on the Pi Zero W.

Now you can DIY an alternative to the Amazon Fire TV Stick.

Kodi on Pi Zero 14. OctoPrint – Wireless 3D Printing

If you are into 3D printing, you would have heard about OctoPrint at some point. OctoPrint unlocks many feature comforts we enjoy with normal printers like sending print jobs directly from the computer to the 3D printer instead of using a micro SD card. You can also attach a webcam and monitor your prints and control all aspects of the printer.

OctoPrint is usually used with the bigger Pi’s but it can also be used with the Raspberry Pi Zero W with some soldering and mods. It is important to note that there is low WiFi interference when using the Pi Zero since it can impact prints. Here are some references talking about OctoPrint on Pi Zero to help you build it yourself:

15. Pirate Radio Station


This seems like quite a fun idea, you can actually make the Pi Zero W broadcast using FM.

It also happens to be a simple project and you don’t need many additional components either. You can be your own neighborhood RJ, do make sure to check out the legal aspects of a pirate radio station in your country.

Pirate Radio Station 16. IoT Smart Alarm Clock


Here’s a project making something which might sound very trivial but nevertheless is super cool and underrated.

The freedom of being able to program your own alarm clock, automating it with scripts and making your life a little easier and fun (and still not waking up) sounds exciting!

IoT Smart Alarm Clock 17. Pi Zero Tesla Coil

This is the most unexpected yet an amazing project I’ve come across which uses the Pi Zero W.

It doesn’t get cooler than playing music on a tesla coil using the Pi. Make sure you watch the video.

Tesla Coil with Pi Zero 18. Network Performance Monitoring using Pi Zero

If you like to keep tabs on your network, you should check out this project.

This is a bandwidth monitor built using the Pi Zero W that features a nifty little screen to display important stats.

Bandwidth Monitor 19. Pi Pod – Raspberry Pi Zero Music Player


It’s 2020 and you might be thinking who would want a portable music player since mobile phones have replaced them almost entirely. But, there are always people (including myself) who would want a device dedicated to music and does not do anything else.

This project features the Raspberry Pi Zero W in another form and looks pretty neat. It’s called the Pi Pod.

You can also design your own 3D printable enclosure and customize every element of the music player.

Pi Pod 20. Raspberry Pi Drone


The Pi Zero packs in enough features and processing power for it be at the heart of a drone. It is light weight, cheaper than some alternative drone specific boards too. You also get the freedom of using different firmware(s) or code one on your own.

There are also many open source designs available for the frame of the drone on Thingiverse.

Pi Drone 21. Internet Connected Info Display


The Pi Zero W is capable of connecting to the internet via WiFi, it also has all the GPIO and display outputs to make a highly functional device to display information from the internet.

The freedom of programming means that you can have the display show any information you need. Your google calendar events, stock prices and anything you can find on the internet.
Here are a couple of interesting projects which are built around this idea.

  1. YouTube Subscriber Counter
  2. Raspberry Pi Internet Connected Information Display
22. Raspberry Pi Pocket Projector

Ever since Texas Instruments came out with the mini projector evaluation board, a Raspberry Pi Zero based projector has been a very popular project.

If you can get your hands on the projector module, this can be a very interesting build. This is not a beginner-friendly project, but a tinkerer should feel right at home. You can find all the relevant details from the video above.

23. VPN Server

In today’s world, extra care needs to be taken about companies barging into one’s privacy and using a VPN is becoming more and more commonplace.

Fret not, you can utilize the Raspberry Pi Zero W with OpenVPN to add an extra layer of security to your home network. This can be a great for small families where everyone in the house can be protected and don’t need to separate VPN subscriptions.

VPN Server 24. Weather Station

This is a very cool project, a complete weather station which can display various weather metrics for the day and forecasts too. It even includes a 3D printed case which looks pretty sharp. The amazing part is that you can use the display to show things other than weather as well.

As I also noticed in another similar project on Instructables, you may also tweak it with your own custom database and website.

Weather Station 25. Ambient Lighting System for TV

An ambient lighting system enhances the TV experience, this is another amazing project involving the Raspberry Pi Zero.

In real life this effect feels like a dynamic portrait mode applied to the screen and whatever is being shown on the screen, makes the experience a lot immersive.

GreatScott (a popular YouTuber) for content based around electronics and DIY shows you around with the project in the video above. You may also refer to the written instructions from the link below.

Ambient Lighting System 26. Wireless Network Printer

The Pi Zero W is a great board to make any old printer free from being fixed to one computer and have the freedom of placing it anywhere.

This way print jobs can be sent from multiple computers, phones on the same network. This is a quality of life improvement which is highly underrated, even in households.

This project utilizes CUPS running on Pi Zero W to make your printer wireless.

Wireless Network Printer 27. Pi Zero Cluster

You can pack in 10’s of these tiny computers together to have access to massive amounts of parallel processing. The GPU’s on these SBC’s can be utilized for challenging compute needs.

Regular Raspberry Pi’s have long been used to make clusters and Raspberry Pi based super computers consisting of 100’s – 1000’s of Pi’s. Since the introduction of the Pi Zero with it’s lower price and size, it is possible to put more of them into a small space.

There are many custom boards which are built to hold multiple Pi Zero’s.

Pi Zero Cluster Closing Thoughts

The projects featured here are only a tip of the iceberg. You can find many more projects if you look around on the internet. The versatility of the Raspberry Pi Zero is unprecedented, combined with its affordability it is one of the most used SBC by makers and tinkerers around the world.

What did you build with the Raspberry Pi Zero ? Put it in the comments below along with your favorite projects.

How to Use apt-cache Command in Debian, Ubuntu and Other Linux Distributions

Thursday 29th of October 2020 04:34:29 AM

With apt-cache command, you can search for package details in the local APT cache. Learn to use apt-cache command in this tutorial.

What is apt-cache command used for?

The apt package manager works on a local cache of package metadata. The metadata usually consists information like package name, version, description, dependencies, its repository and developers. With the apt-cache command, you can query this local APT cache and get relevant information.

You can search for the availability of a package, its version number, its dependencies among other things. I’ll show you how to use the apt-cache command with examples.

The location of APT cache is /var/lib/apt/lists/ directory. Which repository metadata to cache depends on the repositories added in your source list in the /etc/apt/sources.list file and additional repository files located in ls /etc/apt/sources.list.d directory.

Surprisingly, apt-cache doesn’t clear the APT cache. For that you’ll have to use the apt-get clean command.

Needless to say, the APT packaging system is used on Debian and Debian-based Linux distributions like Ubuntu, Linux Mint, elementary OS etc. You cannot use it on Arch or Fedora.

Using apt-cache command

Like any other Linux command, there are several options available with apt-cache and you can always refer to its man page to read about them.

However, you probably won’t need to use all of them. This is why I am going to show you only the most common and useful examples of the apt-cache command in this tutorial.

Always update

It is always a good idea to update the local APT cache to sync it with the remote repositories. How do you do that? You use the command:

sudo apt update

Search for packages

The most common use of apt-cache command is for finding package. You can use a regex pattern to search for a package in the local APT cache.

apt-cache search package_name

By default, it looks for the search term in both the name and description of the package. It shows the matching package along with its short description in alphabetical order.

You can narrow down your search to look for the search term in package names only.

apt-cache search --names-only package_name

If you want complete details of all the matched packages, you may use the --full flag. It can also be used with --names-only flag.

Get detailed package information

If you know the exact package name (or if you have manged to find it with the search), you can get the detailed metadata information on the package.

apt-cache show package_name

You can see all kind of details in the package metadata like name, version, developer, maintainer, repository, short and long description, package size and even checksum.

There is another option showpkg that displays information about the package name, version and its forward and reverse dependencies.

apt-cache showpkg package_name apt-cache policy

This is one of the rarely used option of apt-cache command. The policy options helps you debug the issue related to the preference file.

If you specify the package name, it will show whether the package is installed, which version is available from which repository and its priority.

By default, each installed package version has a priority of 100 and a non-installed package has a priority of 500. The same package may have more than one version with a different priority. APT installs the version with higher priority unless the installed version is newer.

If this doesn’t make sense, it’s okay. It will be extremely rare for a regular Linux user to dwell this deep into package management.

Check dependencies and reverse dependencies of a package

You can check the dependencies of a package before (or even after) installing it. It also shows all the possible packages that can fulfill the dependency.

apt-cache depends package

You may also check which packages are dependent on a certain package by checking the reverse dependencies with apt-cahce.

Frankly, I was also surprised to see that a DevOps tool like Ansible has a dependency on a funny Linux command like Cowsay. I think it’s perhaps because after installing Ansible, it displays some message on the nodes.

Check unmet dependencies

You may get troubled with unmet dependencies issue in Ubuntu or other Linux. The apt-cache command provides option to check all the unmet dependencies of various available packages on your system.

apt-cache unmet

Conclusion

You can list all available packages with the apt-cache command. The output would be huge, so I suggest combining it with wc command to get a total number of available packages like this:

apt-cache pkgnames | wc -l

Did you notice that you don’t need to be root user for using apt-cache command?

The newer apt command has a few options available to match the features of apt-cache command. Since apt is new, apt-get and its associated commands like apt-cache are still preferred to be used in scripts.

I hope you find this tutorial helpful. If you have questions about any point discussed above or suggestion to improve it, please let me know in the comments.

More in Tux Machines

Richard Hughes: fwupd 1.5.2

If you’re running 1.5.0 or 1.5.1 you probably want to update to this release now as it fixes a hard-to-debug hang we introduced in 1.5.0. If you’re running 1.4.x you might want to let the libcurl changes settle, although we’ve been using it without issue for more than a week on a ton of hardware here. Expect 1.5.3 in a few weeks time, assuming we’re all still alive by then. Read more

Xfce Virtual Machine Images For Development

The openSUSE distributions offer a variety of graphical desktop environments, one of them being the popular and lightweight Xfce. Up to now there was the stable tested branch available in Tumbleweed already during install. Furthermore, for interested users the development OBS repository xfce:next offered a preview state of what’s coming up next to Tumbleweed. Xfce Development in openSUSE Thanks to the hard work of openSUSE’s Xfce team there is a third option: Xfce Development Repository aka RAT In a playful way, a rat is meant to represent the unpolished nature of this release: a rat is scruffy looking compared to a mouse (the cute and beloved mascot of Xfce). And the RAT repository provides packages automatically built right from the Git Master Branch of Xfce upstream development. The goal of this project is to test and preview the new software so that bugs can be spotted and fixed ahead of time by contributing upstream. The packages pull in source code state on a daily basis and offer a quite convenient way to test and eventually help development. So this is where the team builds and tests the latest and unstable releases of Xfce Desktop Environment for openSUSE. Read more

Radeon RX 6800 Series Performance Comes Out Even Faster With Newest Linux Code

Last week we delivered AMD Radeon RX 6800 / RX 6800 XT Linux benchmarks and the performance was great both for Linux gaming as well as the OpenCL compute performance. But for as good as those Big Navi numbers were on the open-source Linux graphics driver stack, they are now even better. That launch-day testing was based on the Linux state in the second-half of October when the cards arrived and initial (re-)testing began in preparing for the Radeon RX 6800 series reviews -- not only the Radeon RX 6800 series but re-testing all of the other AMD Radeon and NVIDIA GeForce graphics cards for the comparison too. Thanks to the rate of the open-source graphics driver progression and the newest code always being available, now just days after launch the numbers are even more compelling for Linux gamers with the slightly newer Linux 5.10 and Mesa Git compared to just weeks ago. In particular were the last minute NGG fixes and other Big Navi tweaks along with an important Radeon RX 6800 (non-XT) fix. There has also been other RADV improvements and more that accumulated in Mesa 21.0-devel this month. On the kernel side, Linux 5.10 is still at play. Both the old and newer Mesa snapshots were also on LLVM 11.0. Read more Also: Intel: AMD Gimps On Battery-Powered Laptop Performance - But DPTF On Linux Still Sucks - Phoronix

today's howtos

  • How to Install and Configure Hadoop on Ubuntu 20.04 – TecAdmin

    Hadoop is a free, open-source and Java-based software framework used for storage and processing of large datasets on clusters of machines. It uses HDFS to store its data and process these data using MapReduce. It is an ecosystem of Big Data tools that are primarily used for data mining and machine learning. Apache Hadoop 3.3 come with noticeable improvements any many bug fixes over the previous releases. It has four major components such as Hadoop Common, HDFS, YARN, and MapReduce.

  • How to create a Cloudwatch Event Rule in AWS

    A near-real-time stream of system events that describe changes in AWS resources is delivered by CloudWatch Events. We can create a rule that matches events and route them to one or more target functions. We can use CloudWatch Events to schedule automated actions. These actions can be self-triggered at certain times using cron or rate expressions. We can have EC2 instances, Lambda functions, Kinesis Data Streams, ECS tasks, Batch jobs, SNS topics, SQS queues, and a few more services as target endpoints for CloudWatch Events. To know more about Cloudwatch events, visit the official AWS documentation here.

  • How to use Bash file test operators in Linux

    File Test Operators are used in Linux to check and verify attributes of files like ownership or if they are a symlink. Every Test operator has a specific purpose. The most important operators are -e and -s. In this article, you will learn to test files using the if statement followed by some important test operators in Linux.

  • How To Install Wireguard on CentOS 8 - idroot

    In this tutorial, we will show you how to install Wireguard on CentOS 8. For those of you who didn’t know, Wireguard is an open-source, dependable, advanced, VPN tunneling software you can install and use right now to create a secure, point-to-point connection to a server. It is cross-platform and can run almost anywhere, including Linux, Windows, Android, and macOS. Wireguard is a peer-to-peer VPN. it does not use the client-server model. Depending on its configuration, a peer can act as a traditional server or client. 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 the Wireguard VPN on CentOS 8.

  • How To Install NVM on CentOS/RHEL 7 – TecAdmin

    NVM stands for Node Version Manager is a command-line utility for managing Node versions. Sometimes you required to deploy multiple node application with different-2 versions. Managing the multiple Node.js versions for differnt-2 projects are a pain for the developers. But NVM helped to easily manage multiple active Node.js versions on a single system. This tutorial will explain you to install NVM on CentOS/RHEL 7/6 systems and manage multiple Node.js versions.

  • How to install Kali Linux 2020.4 - YouTube

    In this video, I am going to show how to install Kali Linux 2020.4.

  • How to make your own personal VPN in under 30 minutes

    In the Distribution box, choose the newest available Ubuntu LTS release — as of the time of writing, that's 20.04 LTS. Below that, pick the region you want your VPN to be located in. It's possible to change the location later, but you'll have to contact Linode support. For the plan, select 'Nanode 1GB' from the list of Shared CPU options. VPNs don't need much processing power, so this low-spec option will work just fine.

  • Use nnn as a File Manager for Linux Terminal - Make Tech Easier

    If you have used the Linux terminal for an extended period of time, you probably know some of the useful commands, like cd to move into and out of folders, create new ones, and copy or move files. Still, you may prefer how desktop file managers are more user-friendly and quicker for some tasks. In that case, you’ll love nnn. nnn is the equivalent of a desktop file manager for the terminal. Although not an ultra-complex solution like Midnight Commander, nnn is light on resources, fast, and allows you to navigate your file system without having to type commands.