Language Selection

English French German Italian Portuguese Spanish


Syndicate content It's FOSS
A Linux and Open Source Web Portal
Updated: 2 hours 20 min ago

espanso: An Open Source Cross-Platform Text Expander That Will Help You Type Faster and be More Productive

Monday 13th of July 2020 12:08:28 PM

Brief: espanso is a cross-platform text expander tool written in Rust. A text expander lets you use shortcuts instead of typing long words and sentences.

If you’re using keyboard macros or mouse macros, you’re probably already saving a lot of time to get things done.

But, you can’t just use macros to type everything. Yes, maybe a thing or two, but not a lot of things. And, for that very reason, a text expander should come in very handy.

In this article, I’ll take a look at espanso, which is an open-source text expander.

espanso: Open Source Text Expander

espanso is an interesting open-source text expander tool with cross-platform support that’s written in Rust programming language.

It doesn’t offer a GUI (Graphical User Interface) to customize or control. You’ll have to resort to terminal or changing YML files for any configuration change. The default settings make it pretty easy to use it.

Basically, it lets you utilize short codes or keywords to quickly write a piece of text. To start with, it offers one basic short code to type the date.

For instance, when you type “:date”, espanso will replace quickly replace it by adding the date as “07/13/2020“. By default, the date format is in the form of MM/DD/YYYY — but you can easily change it (we’ll take a look at it later in this article).

Similarly, you can have any custom keywords or short codes like “:sayhello” to type “Hi there! My name is Ankush Das”

Features of espanso

Here’s what espanso offers to get you more productive:

  • Supports text expansions when using a shell to help you keep things faster
  • Execute custom scripts with the help of espanso’s keywords
  • Supports adding emojis (needs additional installation)
  • Save code snippets and re-use them with espanso
  • System-wide integration
  • Application-specific configuration option
  • Cross-platform support

In addition to the features I’ve listed, you can actually get a lot more things done if you explore more use-cases and try it out on your system.

Installing espanso on Linux

You can get the DEB package from its GitHub releases section to install it on any Ubuntu-based distribution. Even though most of you know how to install a .deb package, if you’re new, you may take a look at the ways to install DEB files in Ubuntu.

For Ubuntu-based distros, if you encounter an error to launch it from the terminal, make sure to type in the command below to ensure that you have the necessary packages for it to work:

sudo apt update sudo apt install libxtst6 libxdo3 xclip libnotify-bin

You can also install it on your Arch system / Manjaro distribution through AUR.

For other Linux distribution, you can use the snap package to get it installed.

If you didn’t know about installing snaps, I’d recommend you to refer our guide on installing and using snaps on Linux.

For installation and download instructions, you can refer to espanso’s official installation instructions.

Download Espanso How To Use espanso?

Because there’s no GUI, some of you may need some time to figure out how it works. So, to save you the trouble, let me share a few tips to get started using espanso.

Launching & Setting it up

Once you’ve successfully installed espanso, you need to launch it to set it up.

To do that, simply type in the following in the terminal:

espanso start

It should ask you to add the process to launch when your computer boots up, you can allow it to proceed if you want it that way. If you hit no, you will have to manually start espanso manually every time you log in to your system.

You can always register the service to systemd later by typing the following command:

espanso register

To verify if it’s running, you may want to type in:

espanso status

Sometimes the shortcodes might conflict with your regular usage. So, when you need to stop it, just hit the following in the terminal:

espanso stop

You can explore more commands and options for espanso by typing “espanso” or “espanso -h” in the terminal to get the details.

Basic Configuration of Expanded Texts

You might want to refer the official documentation if you’re using Windows or macOS. Here, I’ll show you how to customize or add custom expanded texts on Linux.

To get started, navigate your way through the home directory (by enabling the hidden files) and head into the /.config/espanso folder.

Once you’re here, you’ll find a default.yml file as shown in the screenshot above. This is the default configuration file of espanso.

You have to open it with your default text editor. It should look something like this:

If you look close enough, you can notice the preset texts and the short codes or keywords for it.

You can choose to edit the existing ones (just like I modified the format of the date in the screenshot above) or add new ones as required.

When you want to add a new keyword for text expansion, you can do that by simply copy-pasting the following format right below the existing matches:

- trigger: ":YourKeywordHere" replace: "Text That You Want To Be Replaced With The Keyword"

You need to add your custom keywords and text as needed and save the modifications to the file and it’s done!

You may get a notification of a successful configuration re-load. If you don’t, simply head to the terminal and restart espanos to see refresh the new configuration.

If it gives you an error, you might want to adjust the spacing of what you wrote and make sure it’s correct. To give you an idea, here’s how it looks after adding new keywords:

Espanso Modified Configuration file

Here, I’ve pointed out an example of basic customization. You can also perform application-specific matches and other advanced configuration by following the official documentation.

Wrapping Up

While I didn’t know about this amazing tool before covering it – but now that I do, it’s proving to be a very useful tool that could save me a lot of time.

What do you think about espanso? Let me know your thoughts in the comments below!

Top 5 Open Source Video Conferencing Tools for Remote Working and Online Meetings

Sunday 12th of July 2020 05:52:26 AM

You will find several video conferencing tools available online. Some are tailored for professional use and some for daily casual conversations.

However, with hundreds of options to choose from, security and privacy is often a concern when picking a video conferencing app or service. Among the list of options, what’s usually the best and the most secure service?

Well, all (or most of them) claim to provide the best possible security and privacy. But you know that this cannot be taken at face value.

Fortunately, at It’s FOSS, we focus on open-source solutions and privacy-friendly options. So, let’s take a look at a list of open-source video conferencing tools that you can utilize.

Top Open Source Video Conferencing Solutions

Most of the video conferencing solutions can be installed on your own servers if you are a small business or enterprise.

For normal, non-sysadmins, some of these solutions also provide ready-to-use, free, web-based video conferencing service. I’ll mention this information in the description of each item on the list.

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

1. Jitsi Meet

Jitsi Meet is an impressive open-source video conferencing service. You can easily find out more about it on our separate coverage on Jitsi Meet.

To give you a head start, it offers you free official public instance to test it and use it for free as long as you need it.

If you need to host it on your server while customizing some options for your requirements, you can download it from its official website for your server.

Even though they offer an electron-based app on Linux, you don’t need to download an app on your desktop to set it up. All you need is a browser and you’re good to go. For mobile, you will find apps for both Android and iOS.

Jitsi Meet 2. Jami

Jami is a peer-to-peer based open-source video conferencing solution. It’s good to see a distributed service that does not rely on servers but peer-to-peer connections.

Of course, a distributed service has its pros and cons. But, it’s free and open-source, that’s what matters.

Jami is available for Linux, Windows, macOS, Android, and iOS, So, it’s a pure cross-platform solution for secure messaging and video conferencing. You can take a look at their GitLab page to explore more about it.

Jami 3. Nextcloud Talk

Nextcloud is undoubtedly the open-source Swiss army of remote working tools. We at It’s FOSS utilize Nextcloud. So, if you already have your server set up, Nextcloud Talk can prove to be an excellent video conferencing and communication tool.

Of course, if you don’t have your own Nextcloud instance, you will require some technical expertise to set it up and start using Nextcloud Talk.

Nextcloud Talk 4. (soon going to be rebranded) is already one of the best open source alternatives to slack.

It gives you the ability to create communities, send text messages, and start video conferences in a group/community. You can use it for free by using any of the public Matrix servers available.

If you want your own dedicated decentralized Matrix network, you can also opt for paid hosting plans on 5. BigBlueButton

BigBlueButton is an interesting open-source video conferencing option tailored for online learning.

If you are a teacher or running a school, you might want to try this out. Even though you can try it for free, there will be limitations for the free demo usage. So, it’s best to host it on your own server and you can also integrate it with your other products/services, if any.

It offers a good set of features that let you easily teach the students. You can explore its GitHub page to know more about it.

BigBlueButton Additional mention: Wire

Wire is a quite popular open-source secure messaging platform tailored for business and enterprise users. It also offers video calls or web conferencing options.

If you wanted a premium open-source option dedicated for your business or your team, you can try Wire and decide to upgrade it after the 30-day trial expires.

Personally, I love the user experience, but it comes at a cost. So, I’d recommend you to give it a try and explore its GitHub page before you decide

Wire Wrapping Up

Now that you know some popular open-source web conferencing options, which one do you prefer to use?

Did I miss any of your favorites? Let me know your thoughts in the comments below!

How to Use the eopkg Commands to Manage Packages in Solus Linux

Friday 10th of July 2020 06:41:59 AM

As a distribution built from scratch, the number of packages available in Solus repositories is limited, unlike Arch-based distributions that have AUR. But Solus compensate it with the support for Flatpak and Snap packages.

The package manager for Solus Linux is eopkg which is based on PiSi (Packages Installed Successfully as Intended), the package manager developed for Pardus, a distribution based on Debian that has support from the Turkish government.

In this tutorial, I’ll show you some of the common usage of the eopkg that you can use to manage packages in Solus Linux.

Using eopkg package manager in Solus Linux

If you prefer to use a GUI application to manage the installed software, there’s a Software Center, that you can open from the menu. I’ll briefly touch upon it in later parts of this section.

Installing software

You can install one or more packages with eopkg in the following way:

sudo eopkg install package_1 package_2 Uninstalling software

You can remove one or more installed packages using:

sudo eopkg remove package_name Reinstalling software

If there is an issue with an installed software, you can reinstall the package using:

sudo eopkg install --reinstall package_name Search for an available package

You can search whether a package is available in Solus repository.

sudo eopkg search term

Notice that you don’t need to search for a specific software name, although you can do that. It search summaries and software names by default.

Get information on software (before or after installing them)

You can also get some additional information on a software, such as its description, version, installation size etc.

It is like apt show command in Ubuntu.

sudo eopkg info package_name Updating a specific package or all of them together

You can update your system by using:

sudo eopkg upgrade

If you want to only update a specific piece of software on your system, you can specify is like below:

sudo eopkg upgrade package_name Third Party Applications

Solus has a Third Party Repository, it contains applications that cannot be included in the primary repository due to licensing issues.

Solus Third Party Apps

Here’s a list of some of the applications available in this repository:

  • Google Chrome
  • Skype
  • Slack
  • Spotify
  • TeamViewer
  • Microsoft Core Fonts
  • Android Studio
Snap and Flatpak for additional software

As mentioned earlier, Solus supports Snap packages. Commencing with Solus 3 and above, Snap is already installed and ready to go.

sudo snap install packagename

Flatpak packages

To install Flatpak, run the following command in the terminal:

sudo eopkg install flatpak xdg-desktop-portal-gtk

To enable Flathub repository:

flatpak remote-add --if-not-exists flathub

Restart your system, and you can install flatpak packages.

Bonust Tip: Installing LTS kernel in Solus

By default, Solus utilizes the Linux current kernel. If you run Solus on older hardware or stability is your priority you can install the LTS kernel as following.

Keep in mind that Solus still maintains the 4.9 LTS kernel (from 2016), not the latest 5.4 LTS.

Solus Mate 4.1 with LTS kernel

To Install the LTS kernel, use:

sudo eopkg install linux-lts

Now reboot.

By default, EFI installs will not show the boot menu and boot directly into Solus. By hitting space bar repeatedly during boot, the boot menu will appear.

After choosing the LTS kernel from the boot menu, use the following command to make the booted kernel the default boot option.

sudo clr-boot-manager update

If you cannot access Solus in a dual-boot scenario, typically applies to “legacy boot” (non-UEFI), can be resolved by accessing the other operating system and running the following command:

sudo update-grub Conclusion

Solus is a simple and reliable operating system. I’m a fan of the rolling release model and Solus user for quite a long time.

If you are not willing to dive deep into every Linux system parameter like you do with Arch Linux installation, then Solus is for you.

Snap and flatpak support won’t let you have limited software options, so it could be an ideal OS for the average desktop user as you won’t be bothered by point releases.

If you have tried Solus already please let me know your thoughts at the comments below.

Google’s Flutter Apps are Coming to Desktop Linux Thanks to Ubuntu

Thursday 9th of July 2020 01:35:52 PM

Flutter is Google’s open-source UI toolkit that helps developers build native apps tailored for Web, Android, iOS, and macOS (alpha stage). You might want to check out their GitHub page and documentation to learn more.

As of now, there’s no proper support for Windows — but it’s something in-progress.

But, the good news is — Canonical and Google are going to closely work together to bring Flutter app support to Linux distributions as per the official announcement:

Today we are happy to jointly announce the availability of the Linux alpha for Flutter alongside Canonical, the publisher of Ubuntu, the world’s most popular desktop Linux distribution.

In this article, we shall discuss more about it and how could it potentially help the Linux desktop community.

Flutter Apps Via Snap Store

While we’re perfectly aware that snap isn’t something everyone likes, it’s still good to see Canonical making it as easy as possible for developers to publish their apps for Linux distributions through the Snap Store.

Of course, it’s obvious that Canonical will push for snap format. But, it may not be a requirement for Flutter apps on Linux.

You can get the Flutter SDK on Snap Store or get the archived file from the official Flutter SDK page for Linux.

You might want to follow our guide on using snaps if you didn’t know that already.

So, that’s a good thing for every user, no matter if you prefer snap packages or not.

Linux as a First-Class Flutter Platform

With Linux’s market share constantly growing, it would be a good idea to have Linux as a first-class flutter platform.

Not just because Flutter is an open-source UI framework, but a lot of brands like eBay, Tencent, Philips, and others have started to embrace Flutter for their apps.

And, as per the announcement post, Canonical is well-prepared to do that:

By making Linux a first-class Flutter platform, Canonical is inviting application developers to publish their apps to millions of Linux users and broaden the availability of high quality applications available to them.

Without a doubt, the availability of more cross-platform applications on Linux using Flutter is a great way to encourage more users to start using Linux or build using Linux.

Not to forget the advantages of Linux over Windows — but having applications with cross-platform support is always a breeze. You don’t really need to look for alternative applications when you switch using a different platform (even if it’s not Linux).

Flutter Apps in Action

Before you dive in to the Flutter documentation in setting up the environment and building Flutter apps, you can go ahead and try some sample desktop apps available on Linux.

Here’s a video that showcases a sample app (Flokk Contacts) for Linux:

You can get it on Snap Store or just head to their GitHub page to explore more about it.

To give you an idea, Grant Skinner (who led the team behind Flokk Contacts) shared his experience with Flutter on Linux:

Building the Flokk Contacts app was a breeze! We were able to apply all our previous expertise in Flutter to target Linux with virtually no adjustments, and the app runs fantastically. Working with the Canonical team was a wonderful experience; they were enthusiastic, engaged, and passionate about making Flutter better not just for Linux, but for every platform. It was an amazing project, and I’m thrilled to be able to target another major OS with Flutter.

You can find more information on getting started with building apps and testing sample apps using Flutter in the official announcement.

Wrapping Up

What do you think about building apps for Linux desktop using Flutter? Have you tried the SDK yet?

Feel free to let me know your thoughts in the comments below!

BLM Effect: Linux Kernel to Adopt an Inclusive Code Language, Blocks Terms like Blacklist-Whitelist and Master-Slave

Thursday 9th of July 2020 06:12:01 AM

You probably are aware of the Black Lives Matter (BLM) movement that started in the US. After the George Floyd case, the BLM movement has gone global.

This recent wave of BLM movement has inspired people to erase terms, names, statues that have racist legacy.

Some businesses have change their product names. Aunt Jemima, Mrs Butterworth’s, Uncle Ben’s, Eskimo Pie are some of the examples.

Movies trivializing or casually bypassing racism are being removed from the streaming websites. That includes classic movies like Gone With the Wind.

The tech industry is not behind. They have started to adapt for more inclusive language, even in their coding style.

What is inclusive language?

Inclusive language aims to avoid expressions and terms that are racist, sexist, biased, prejudiced or demeaning to any particular group of people.

Inclusive language encourages the use of terms like staffing instead of manpower, homemaker instead of housewives, differently abled instead of disabled, health care consumer instead of patient, pet parent instead of pet owner.

Inclusive language in tech industry

Using inclsuive language in code in not a recent phenomenon. Open source Drupal has replaced master-slave with primary-replica four years ago. Python also dropped master-slave terminology two years back.

But thanks to the BLM movement, more organizations in the tech industry are considering to change their policies to adopt the inclusive language.

Microsoft’s GitHub is replacing terms like master-slave, blacklist-whitelist. Twitter has gone ahead and shared a list of their list of inclusive language that even replaces terms like ‘sanity check’.

We’re starting with a set of words we want to move away from using in favor of more inclusive language, such as:

— Twitter Engineering (@TwitterEng) July 2, 2020

Calls for replacing the blackhat, whitehat, man in the middle terms in hacking industry is also gaining momentum.

Black hat and white hat are terms that need to change. This has nothing to do with their original meaning, and it’s not about race alone – we also need sensible gender-neutral changes like PITM vs. MITM.

— David Kleidermacher (@DaveKSecure) July 3, 2020 Linux kernel is implementing inclusive coding language

The Linux Kernel is not behind in adopting the new industry trend. Linux kernel maintainer from Intel, Dan Williams, has shared a proposal to introduce inclusive terminology in Linux kernel’s official coding-style document.

The guideline suggests avoiding terms like slave and blacklist. The suggested replacement for the term slave are secondary, subordinate, replica, responder, follower, proxy or performer. Recommended replacements for blacklist are ‘blocklist’ or ‘denylist’.

The guideline will be applicable to the new code being pushed to the kernel with hope of changing existing code to remove noninclusive terminology in the future.

Exceptions for introducing new usage is to maintain a userspace ABI, or when updating code for an existing (as of 2020) hardware or protocol specification that mandates those terms.

The proposal is already signed off by senior kernel maintainers Chris Mason and Greg Kroah-Hartman.

Update: Linus Torvalds has also signed off to the change. It means that it is now part of Linux kernel development code of conduct to use inclusive language.

Blacklist? Is it really a racist term?

People do wonder if blacklist is really a racist word. As Dan Williams point out in the proposal, etymologically, the term doesn’t have a racist connection. He points out:

Realize that the replacement only makes sense if you have been socialized with the concepts that ‘red/green’ implies ‘stop/go’. Colors to represent a policy requires an indirection. The socialization of ‘black/white’ to have the connotation of ‘impermissible/permissible’ does not support inclusion.

This is true. If you look deeply, it indirectly implies black = bad, white = good. Black magic is bad magic, white noise is good noise, black hat hacker is an evil person, white hat hacker is a good person. Of course, this is more to do with darkness rather than the color itself.

Changing the words alone won’t help

Changing names only won’t make a difference. Just changing the term physically disabled to differently abled won’t make the lives better for people with wheelchair if the buildings and streets don’t provide accessible infrastructure.

Big corporate and organizations are more focused on improving their image by changing their brand names and dropping supposedly noninclusive words. This is being pointed by activists as well:

Real problem: realtors don't show black people all the properties they qualify for. Fake problem: calling the master bedroom the master bedroom. Fix the real problem, realtors.

— John Legend (@johnlegend) June 27, 2020 What do you think?

I wonder if one day someone starts a proposal to change man page to people page in order to make it more inclusive by removing the gender-specific term ‘man’.

The only problem is that the ‘man’ in man page doesn’t indicate a man. Man is short for manual and that word originates from Latin word manus meaning hand.

What are your views on adapting inclusive language in coding guidelines? Do you think it’s a step in the right direction? Will it help bring equality and inclusivity? Do share your views in the comment section.

I understand that it is a controversial topic. When you are expressing your views in the comment section, please don’t use abusive words, don’t use racist slurs. Let’s keep the discussion civil.

Btrfs to be the Default Filesystem on Fedora? Fedora 33 Starts Testing Btrfs Switch

Wednesday 8th of July 2020 01:11:35 PM

While we’re months away from Fedora’s next stable release (Fedora 33), there are a few changes worth keeping tabs on.

Among all the other accepted system-wide changes for Fedora 33, the proposal of having Btrfs as the default filesystem for desktop variants is the most interesting one.

Here’s what Fedora mentions for the proposal:

For laptop and workstation installs of Fedora, we want to provide file system features to users in a transparent fashion. We want to add new features, while reducing the amount of expertise needed to deal with situations like running out of disk space. Btrfs is well adapted to this role by design philosophy, let’s make it the default.

It’s worth noting that this isn’t an accepted system-wide change as of now and is subject to tests made on the Test Day (8th July 2020).

So, why is Fedora proposing this change? Is it going to be useful in any way? Is it a bad move? How is it going to affect Fedora distributions? Let’s talk a few things about it here.

What Fedora Editions will it Affect?

As per the proposal, all the desktop editions of Fedora 33, spins, and labs will be subject to this change, if the tests are successful.

So, you should expect the workstation editions to get Btrfs as the default file system on Fedora 33.

Potential Benefits of Implementing This Change

To improve Fedora for laptops and workstation use-cases, Btrfs file system offers some benefits.

Even though this change hasn’t been accepted for Fedora 33 yet – let me point out the advantages of having Btrfs as the default file system:

  • Improves the lifespan of storage hardware
  • Providing an easy solution to resolve when a user runs out of free space on the root or home directory.
  • Less-prone to data corruption and easy to recover
  • Gives better file system re-size ability
  • Ensure desktop responsiveness under heavy memory pressure by enforcing I/O limit
  • Makes complex storage setups easy to manage

If you’re curious, you might want to dive in deeper to know about Btrfs and its benefits in general.

Not to forget, Btrf was already a supported option — it just wasn’t the default file system.

But, overall, it feels like the introducing of Btrfs as the default file system on Fedora 33 could be a useful change, if implemented properly.

Will Red Hat Enterprise Linux Implement This?

It’s quite obvious that Fedora is considered as the cutting-edge version of Red Hat Enterprise Linux.

So, if Fedora rejects the change, Red Hat won’t implement it. On the other hand, if you’d want RHEL to use Btrfs, Fedora should be the first to approve the change.

To give you more clarity on this, Fedora has mentioned it in detail:

Red Hat supports Fedora well, in many ways. But Fedora already works closely with, and depends on, upstreams. And this will be one of them. That’s an important consideration for this proposal. The community has a stake in ensuring it is supported. Red Hat will never support Btrfs if Fedora rejects it. Fedora necessarily needs to be first, and make the persuasive case that it solves more problems than alternatives. Feature owners believe it does, hands down.

Also, it’s worth noting that if you’re someone who does not want btrfs in Fedora, you should be looking at OpenSUSE and SUSE Linux Enterprise instead.

Wrapping Up

Even though it looks like the change should not affect any upgrades or compatibility, you can find more information on the changes with Btrfs by default in Fedora Project’s wiki page.

What do you think about this change targeted for Fedora 33 release? Do you want btrfs file system as the default?

Feel free to let me know your thooughts in the comments below!

On the Personal Edition Controversy, LibreOffice Board Assures the Community That it Will Remain Free Software Forever

Wednesday 8th of July 2020 07:10:00 AM

LibreOffice 7.0 will be released in soon and you may see it labelled as Personal Edition. This labelling and its tagline have created a sort of controversy.

LibreOffice Personal Edition? What’s the issue?

LibreOffice is working on the major release of version 7.0. An alert beta user noticed that LibreOffice 7.0 is labelled as Personal Edition and the user opened a bug report seeking clarification on the ‘Personal Edition’ term.

Libre Office Personal Edition

This created some sort of controversy as some people pointed out that terms like “personal edition” and “intended for individual use” could hamper the growth and use of LibreOffice.

You can read in the bug report that many users were confused over the term “intended for individual use”. One user wrote:

I’m clearly against any of “personal use”, “individual use” or “private use” or similar. With such terms LibreOffice cannot be used in education and non-profit organization.

Another LibreOffice user a wrote a blog post expressing his displeasure over this.

LibreOffice clarification on “Personal Edition” label

The outrage forced the LibreOffice board to release an official statement.

The board assures that LibreOffice is not opting for a new license and users won’t lose any functionality.

None of the changes being evaluated will affect the license, the availability, the permitted uses and/or the functionality. LibreOffice will always be free software and nothing is changing for end users, developers and Community members.

They further clarify that this Personal Edition tagline is part of their upcoming marketing plan. They want to differentiate between “the current, free and community-supported LibreOffice from a LibreOffice Enterprise set of products and services provided by the members of our ecosystem”.

What is this LibreOffice Enterprise edition?

Today, LibreOffice is developed by volunteers and ecosystem companies (companies that use or sell product/services based on LibreOffice). Out of that, 68% of the contribution to source code if from the ecosystem companies, 28% from volunteers and only 4% from actual The Document Foundation (LibreOffice’s governing organization) developers.

Image Credit: Italo Vignoli

As per TDF marketing person Italo Vignoli’s presentation, the proposal (not confirmed yet) is to “to reduce the perception that The Document Foundation (TDF) is a software vendor, providing support and other services.”

So, he proposes using the term LibreOffice Engine for the core LibreOffice. LibreOffice Personal Edition becomes the community supported version.

The LibreOffice Enterprise is basically LibreOffice Personal edition with support offered by the ecosystem.

At the same time, effort is put to improve LibreOffice the ecosystem of members. These members may have “certified by LibreOffice” kind of stamp, and they could provide the “Libreoffice Enterprise” to their business customers.

The proposal is to let ecosystem brand their own product based on LibreOffice Enterprise. So let’s say an XYZ ecosystem member starts offering “XYZ Office Suite” based on “LibreOffice Enterprise edition” to its customers.

What do you think of LibreOffice Personal and Enterprise segregation?

The long-term plan to have an enterprise ecosystem model is a good thinking. However, using a tagline like “volunteers supported, not suggested for production environments or strategic documents” gives a negative impression.

It could be perceived as if LibreOffice Personal is an unstable product not safe for important works. This tagline must be rephrased.

What do you think of the entire episode? Are you satisfied with the explanation of LibreOffice board? How do you see the segregation of LibreOffice Personal and Enterprise edition.

How to Enable Snap Applications Support in Linux Mint 20 (If You Really Need to Use Snap)

Tuesday 7th of July 2020 04:14:20 AM

The newly released Linux Mint 20 doesn’t have Snap support enabled by default.

Sooner or later, you may encounter a situation where an application version is only available as Snap package and then you need to enable Snap support.

If you go about enabling Snap in Mint 20 like you do in other Linux distributions, you’ll encounter an error like this:

E: Package 'snapd' has no installation candidate Snap installation needs slight extra effort in Linux Mint 20

Normally, this error means that the package is not available in the repository but that’s not the case here. Snap is explicitly blocked here and you have to remove this block by removing the /etc/apt/preferences.d/nosnap.pref file.

If you are comfortable with Linux command line, you can easily delete this file and enable snap support.

If you are not comfortable with the terminal, I discuss a slightly safer way of doing it and that is to move the file instead of removing it.

Enable snap support in Linux Mint 20

In a terminal, type the following command to move the nosnap preference file to your home directory:

sudo mv /etc/apt/preferences.d/nosnap.pref ~

Now you can go on and install the snapd daemon like always:

sudo apt install snapd

Once the snap support is enabled in Linux Mint, you can use the snap commands to install applications in Snap format.

You can use the Nemo file browser and delete the file you copied in the home directory. Safer this way, if you are afraid of the rm command in terminal.

Why Linux Mint explicitly disabled Snap support?

Snap is a universal package format that can be installed in any distribution that supports snapd. This is one of the biggest advantage of snap packages.

These snap packages are ‘containerized’ meaning that these packages contain all the dependency within the package and they don’t rely on and interact with the system’s installed packages and libraries (mostly). Snap packages are automatically updated to newer versions.

But snap packages have some negative points as well. They are huge in size. If an apt package is 100MB in size, the snap package of the same application may have 1 GB of size.

Apart from that, snap applications take longer to load and they also take more disk spaces.

But that’s not the reason why snaps are banished from Linux Mint 20.

Linux Mint team took a hard decision of blocking Snap by default after Ubuntu went on to blurring the line between apt packaging system and snap packaging system.

When you use apt to install an application, you expect an apt package to be installed. But that’s not the case in Ubuntu 20.04 (Mint 20 is based on this Ubuntu version). In Ubuntu 20.04, if you use apt to install Chromium browser, it installs a snap version of this browser.

Mint team is clearly not happy with this violation:

A year later, in the Ubuntu 20.04 package base, the Chromium package is indeed empty and acting, without your consent, as a backdoor by connecting your computer to the Ubuntu Store. Applications in this store cannot be patched, or pinned. You can’t audit them, hold them, modify them or even point snap to a different store. You’ve as much empowerment with this as if you were using proprietary software, i.e. none. This is in effect similar to a commercial proprietary solution, but with two major differences: It runs as root, and it installs itself without asking you.

And hence they decided to explicitly blocked snap support from Mint 20.

To snap or not snap, that is the question

As always, there is a way in Linux to get what you want. So, you can bypass this blockage and enable snap package support in Linux Mint 20.

As I mentioned in the beginning, you may face certain situations where an application is only available as Snap and then you may need Snap support. But till then, you can enjoy Linux Mint 20 without snap.

What about you? Are you going to use snap or not? What do you think of the overall ‘no snap in my distro’ approach?

Meet RecApp, a New Screen Recording App for Linux Desktop

Monday 6th of July 2020 09:25:57 AM

Brief: RecApp is a simple open-source screen recorder tool. It doesn’t boast of huge features but gives you enough to record your screen with a simple user interface.

We have plenty of screen recorders available for Linux. Abhishek prefers to use Kazam while I like using SimpleScreenrecorder. Neither of us use the GNOME’s built-in screen recorder.

Recently we were contacted by the developer of RecApp, a new screen recording tool. Since I like experimenting with different applications, I took it upon myself to cover RecApp as this week’s open source software highlight.

RecApp: A fairly simple screen recorder for Linux desktop

RecApp is an interesting open-source screen recorder tool that does not depend on FFmpeg and utilizes free GStreamer modules. If you’re curious, it’s written in GTK.

If you were looking for a simple and open-source solution to record your desktop screen, RecApp could be a solution.

Features of RecApp

Even though RecApp doesn’t offer a lot, it does have the necessary features to record a desktop screen. Here’s what it lets you do:

  • Tweak frames per second settings
  • Add a delay to the recording
  • Select the screen region to record
  • Toggle between high quality and compressed quality.
  • Ability to record audio from apps
  • Toggle to record the cursor or not
  • Choose the folder for saving the video
  • Supports mp4, webm, and mkv formats

The best thing about RecApp is that you don’t have a separate preference box to tweak settings., which makes things less confusing. You get everything in just a single screen and that’s all you have to follow.

Installing RecApp on Linux

Primarily, it offers a Flatpack package. So, you can simply refer to It’s FOSS guide on using Flatpak to install it.

For Fedora, you can utilize the terminal and type in the command to install it:

sudo dnf install recapp Download RecApp Conclusion

Though RecApp is a fairly new project but it worked mostly fine in my usage on Pop OS 20.04. So, take that with a pinch of salt.

RecApp has a simple interface and is easy to use. However, the aspect ratio of the video recorded wasn’t perfect in my case. It was not completely 1080p and I couldn’t find a way to change that. Other than that, I didn’t have any other issues recording my screen.

What do you think about RecApp? What screen recorder do you use to capture your desktop?

How to Make a Transparent Background in GIMP [Step by Step Guide]

Sunday 5th of July 2020 04:14:33 AM

Removing the background is one of the most used graphic design procedures. There could be many reasons why you would want to do that.

For example, you don’t like the background, you want to add the image to another background, or you simply want to make the image transparent.

When you make the image background transparent, you can use the colour according to the background of the new image. If you put a transparent image on top of a blue image, the image will now have a blue background. This is quite handy in graphic designing.

You can use GIMP to remove the background from an image. I am going to show you how to do that step-by-step in this GIMP tutorial.

How to Make a Transparent Background in GIMP Step 1: Open up the image as a layer

As I have mentioned before, you need to get used to isolate different images and actions as layers. This tutorial is so simple that if you just open your image, it will still be fine. Although I want to maintain a good habit and open my image as following.

File -> Open as Layers

Open As Layers Step 2: Use the Fuzzy select tool

The Fuzzy Select tool is designed to select areas of the current layer or image based on colour similarity. This tool will help us to select the unwanted background with one click.

Step 3: Add Transparency

An alpha channel is automatically added into the Channel Dialog as soon as you add a second layer to your image. It represents the transparency of the image.

If your image has only one layer (like our example), this background layer has no Alpha channel. In this case, to Add an Alpha channel.

Layer -> Transparency -> Add Alpha Channel

Step 4: Delete the background

Press the Delete keyboard button to remove the background.

If you have other different coloured regions that you need to remove, click on them and delete them.

You might have to repeat the steps 2 to step 4 if necessary. I have to remove the blue background in this example.

Step 5: Export the image

To export the image go to File -> Export As, choose PNG file format and click on Export. All done!

Advanced tutorial: Removing the complex background of an image in GIMP

If you have a complex background to remove, you need to take a different approach to do your job.

For the second part of this tutorial, I will demonstrate how to remove the background by adding a transparent layer and how to add a layer of your preference.

Step 1: Add a transparency layer

Once you open your image, right click on the image layer and click “Add Alpha Channel“. This needs to be done, to ensure that there is transparency at this layer.

Step 2: Select the foreground

Next you need to select the foreground by using the foreground select tool. You may wish to copy my settings as shown at the example below and before you start outlining your object make sure that the draw foreground option is selected at the settings.

Once you have adjusted your settings, draw a rough outline of your object and hit the enter key when done. Precision is not important at this step.

Adjust the stroke width at the settings panel and draw your object by clicking and dragging your mouse, like you paint it with a brush. You can adjust the stroke width near the outline of your object to get a more accurate result.

You can also change the foreground colour prior to selecting the foreground, to be more obvious whilst go through the process. My personal choice is a red colour.

When you release your mouse it should show up like the example.

Step 3: Fine tune your selection

You can fine tune the process by selecting the draw background option, to adjust the initial rough outline. Again, you don’t need to as far as you can with the precision.

You may need to go a bit back and forth between the draw foreground and draw background adjustment to minimize the work for the next step. A result as per below will be fine.

Hit the enter key when satisfied.

Step 4: Final adjustment

To get a more accurate result, you can refine even further the outline by working with the path nodes. This is what you can also use to outline text in GIMP.

To see the path nodes follow the steps as shown.

  • Make sure that you are at the paths dialog
  • Click the selection to path option
  • Unhide the path > Click Ctrl+Shift+A to deselect the path
  • Choose the paths tool
  • Click on the path

Focus on the outline precision

Adjust the outline to be nearly tangent to your desired foreground shape.

To add a node: To add a node point to a segment, and click where the node you want to be.

To adjust the outline curvature: Click the Ctrl key and drag the node. The node handles will be revealed to increase the precision to maximum.

To delete a node: Click the ctrl+shift key and click on a node to remove it.

When the path is refined to a final shape, click the “Select from Path” option.

Step 5: Add a layer mask

Finally, you need to add a layer mask to “reveal” the transparency, that you created in the initial step.

To add a layer mask, right click on the current layer > Add Layer Mask > Selection and click Add.

If you have followed all the steps correctly, the background will now be masked and you can import or create the background that you like.

Step 6: Add a new background

To create a new background, you have to create a new layer. If you are a regular reader of It’s FOSS, you already know how to create a new layer as it is shown in several GIMP tutorials.

As the difficult part is done, I will let you explore different ways to add a new background. If you already have an image that you want to add as a background, you need to open it as layers from the file drop menu, so you don’t have to create the layer manually.

Either way, you may need to re-order your layers to achieve the final result.

My preference for this example is to use the gradient tool, and yes I picked the colours from Ubuntu!

Final result with complex background removed and replaced by another Conclusion

There are many different ways to add transparency to an image, depending on the complexity of the background. There is not an absolute path to follow for every occasion and the more hours you spend with GIMP the more efficient user you become.

Don’t forget to subscribe to the newsletter and let me know what you created following this tutorial at the comments below.

Purism’s Ultra-Secure Linux Machine is Now Available in a New Size

Friday 3rd of July 2020 11:58:43 AM

Purism is well-known for its privacy and security focused hardware and software while utilizing open-source technologies. Not to forget the latest Purism Librem Mini.

After a good success with Librem 15 and 13 series laptops, Purism has unveiled Librem 14.

Librem 14 looks like a perfect laptop for an open-source enthusiast who’s concerned about the security and privacy of a laptop.

In this article, we will talk about Librem 14 specifications, pricing, and its availability.

Librem 14: Overview

Similar to other variants in the series, Librem 14 offers all the essential security features like the hardware kill switch to disable webcam/microphone and its secure PureBoot boot firmware.

Librem series is one of the rare few laptops that come preloaded with Linux. Purism uses its own custom distribution called PureOS. If you’re curious, you can also browse the source code for it.

As a key highlight of Librem 14 laptop, here’s what Purism mentions:

The most distinctive feature of the Librem 14 is the new 14″ 1080p IPS matte display which, due to the smaller bezel, fits within the same footprint as the Librem 13.

Even though that’s not something mind-blowing, it is good to see that they’ve made the laptop fit within the same footprint as its predecessor.

It’s a great decision targeted for users who do not want a lot of changes with their laptop upgrade or may appreciate a compact dimension of the laptop.

Librem 14: Specifications

Along with the key highlight, Purism’s Librem 14 offers an impressive set of specifications. Here’s what you get:

  • Intel Core i7-10710U (Comet Lake)
  • 14″ Matte (1920×1080) Display
  • Intel UHD Graphics
  • RAM Up to 32GB, DDR4 at 2133 MHz
  • 2 SATA + NVMe-capable M.2 slots
  • 1 HDMI Port (4K capable @60Hz max)
  • USB Type-C Video Out (4K capable)
  • 3.5mm AudioJack
  • Gigabit Ethernet Adapter with Integrated RJ45 Connector
  • Atheros 802.11n w/ Two Antennas
  • USB-C Power Delivery Port
  • Weight: 1.4 kg

It’s slightly disappointing to see Intel chipsets in 2020 — but considering the presence of PureBoot and other features that Librem 14 offers, an Intel-powered secure laptop makes sense.

Nevertheless, it’s good to see them including USB Type-C video port. Without dedicated graphics, it may not be a steal deal for power users but it should get a lot of work done.

Also, it’s worth noting that Purism offers anti-interdiction services to detect tampering during shipments for high-risk customers. Of course, that wouldn’t prevent tampering — but it’ll help you know about it.

Librem 14: Pricing & Availability

For now, Librem 14 laptop is available for pre-orders with an early big base price of $1199 ($300 off from its regular price) that features 8 Gigs of RAM and 250 GB of M.2 SATA storage.

Depending on what you prefer, the price might go up to $3,693.00 with the maxed out configuration with anti-interdiction services included.

You can expect the orders to start shipping in the early Q4 2020.

Pre-Order Librem 14

What do you think about Purism’s Librem 14 laptop? Feel free to let me know your thoughts in the comments.

openSUSE Leap 15.2 Released With Focus on Containers, AI and Encryption

Thursday 2nd of July 2020 12:20:49 PM

openSUSE Leap 15.2 has finally landed with some useful changes and improvements.

Also, considering the exciting announcement of Closing the Leap Gap, the release of openSUSE Leap 15.2 brings us one step closer to SLE (SUSE Linux Enterprise) binaries being integrated to openSUSE Leap 15.3 next.

Let’s take a look at what has changed and improved in openSUSE Leap 15.2.

openSUSE Leap 15.2: Key Changes

Overall, openSUSE Leap 15.2 release involves security updates, major new packages, bug fixes, and other improvements.

In their press release, a developer of the project, Marco Varlese, mentions:

“Leap 15.2 represents a huge step forward in the Artificial Intelligence space, “I am super excited that openSUSE end-users can now finally consume Machine Learning / Deep Learning frameworks and applications via our repositories to enjoy a stable and up-to-date ecosystem.”

Even though this hints at what changes it could involve, here’s what’s new in openSUSE Leap 15.2:

Adding Artificial Intelligence (AI) and Machine Learning packages

Unquestionably, Artificial Intelligence (AI) and Machine Learning are some of the most disruptive technologies to learn.

To facilitate that to its end-users, openSUSE Leap 15.2 has added a bunch of important packages for new open source technologies:

Introducing a Real-Time Kernel

With openSUSE Leap 15.2, a real-time kernel will be introduced to manage the timing of microprocessors to efficiently handle time-critical events.

The addition of a real-time kernel is a big deal for this real. Gerald Pfeifer (chair of the project’s board) shared his thoughts with the following statement:

“The addition of a real time kernel to openSUSE Leap unlocks new possibilities. Think edge computing, embedded devices, data capturing, all of which are seeing immense growth. Historically many of these have been the domain of proprietary approaches; openSUSE now opens the floodgates for developers, researchers and companies that are interested in testing real time capabilities or maybe even in contributing. Another domain open source helps open up!”

Inclusion of Container Technologies

With the latest release, you will notice that Kubernetes is included as an official package. This should make it easy for end-users to automate deployments, scale, and manage containerized applications.

Helm (the package manager for Kubernetes) also comes baked in. Not just limited to that, you will also find several other additions here and there that makes it easier to secure and deploy containerized applications.

Updates to openSUSE Installer

openSUSE’s installer was already pretty good. But, with the latest Leap 15.2 release, they have added more information, compatibility with right-to-left languages like Arabic, and subtle changes to make it easier to select options right at the time of installation.

Improvements to YaST

While YaST is already a pretty powerful installation and configuration tool, this release adds the ability of creating and managing a Btrfs file-system and enforcing advanced encryption techniques.

Of course, you must be aware of the availability of openSUSE on Windows Subsystem for Linux. So, with Leap 15.2, YaST compatibility with WSL has improved as per their release notes.

Desktop Environment Improvements

The desktop environments available have been update to their latest versions that include KDE Plasma 5.18 LTS and GNOME 3.34.

You will also find an updated XFCE 4.14 desktop available for openSUSE Leap 15.2.

If you’re curious to know all the details for the latest release, you may refer to the official release announcement.

Download & Availability

As of now, you should be able to find Linode cloud images of Leap 15.2. Eventually, you will notice other cloud hosting services like Amazon Web Services, Azure, and others to offer it as well.

You can also grab the DVD ISO or the network image file from the official website itself.

To upgrade your current installation, I’d recommend following the official instructions.

openSUSE Leap 15.2

Have you tried openSUSE Leap 15.2 yet? Feel free to let me know what you think!

How to Create a Pareto Diagram [80/20 Rule] in LibreOffice Calc

Thursday 2nd of July 2020 03:59:34 AM

Brief: In this LibreOffice tip, you’ll learn to create the famous Pareto chart in Calc.

The Pareto Principle, also known as the 80/20 Rule, The Law of the Vital Few and The Principle of Factor Sparsity, illustrates that 80% of effects arise from 20% of the causes – or in layman’s terms – 20% of your actions/activities will account for 80% of your results/outcomes.

Although the original observation is related to economics, it can be widely adopted and used across all aspects of business, economics, mathematics, and processes. In computer science, the Pareto principle can be used in software optimization.

Let me show you how to create a Pareto diagram in LibreOffice spreadsheet tool, i.e. Calc.

Creating Pareto diagram in LibreOffice Calc

To be able to create a Pareto diagram, you need these three basic elements:

  • The factors, ranked by the magnitude of their contribution
  • The factors expressed numerically
  • The cumulative-percent-of-total effect of the ranked factors

First, enter the data in a spreadsheet. Now let’s get started!

Step 1: Sort the data

Mark all rows from first to the last and at the Data tab click on the Sort option. At the Sort Criteria tab choose Sort key 1 and change the entry to Number of Errors or whichever name you choose. Make sure to tick Descending and finally OK.

Step 2: Create the Cumulative Percentage values

To calculate the cumulative percent of a total, you will need one formula for the first cell (C5) and a different formula for cells C6 and below.

Generic formula for the first cell


In the example shown, the formula in C5 is: =B5/$B$15

Generic formula for the remaining cells:

=(amount/total)+previous cell result

In the example shown, the formula in C6 is: =(B6/$B$15)+C5

By dragging the fill handle down, you will get the correct formulas for the remaining cells.

Step 3: Create the Pareto diagram

To create the chart go to Insert tab and then click on the Chart option.

In the upcoming Chart Wizard choose the chart type Column and Line with Number of lines set to 1 and click Next.

Select the correct data range $A$4:$C$14 by either using your mouse in the data range selector or by entering it manually. Leave the settings Data series in columns, First row as label, First column as label and click Next.

The following Data Series window should have everything filled in correctly, click Next.

In the last window enter titles and remove the legend:

  • Title: Pareto chart
  • X axis: Error Type
  • Y axis: Number of Errors
  • Untick Display legend
  • click Finish.

And this is the result:

If the red line appears without any value, select it, then right click > Format Data Series > Align Data Series to Secondary y-Axis > Click OK.

Step 4: Fine tune the chart

The range of the secondary y-axis is set to 0 – 120 , it needs to be up to 100.

Double click on the secondary y-axis . In the Scale tab, untick Automatic and enter 100 as the maximum value. Then click ok.

All done!


Using a Pareto chart to analyze problems in a business project allows focusing efforts towards the ones offering the most considerable improvement potential.

This is one of the many real-life scenario where I have used LibreOffice instead of other proprietary office software. I hope to share more LibreOffice tutorials on It’s FOSS. Meanwhile, you can learn these rather hidden LibreOffice tips.

Which LibreOffice functionality do you use the most? Let us know at the comments below!

Ex-Solus Dev is Now Creating a Truly Modern Linux Distribution Called Serpent Linux

Wednesday 1st of July 2020 04:06:15 AM

Ikey Doherty, the developer who once created the independent Linux distribution Solus has announced his new project: Serpent OS.

Serpent OS is a Linux distribution that DOES NOT want to be categorized as “lightweight, user-friendly, privacy-focused Linux desktop distribution”.

Instead, Serpent OS has “different goals from the mainstream offering”. How? Read on.

Serpent OS: The making of a “truly modern” Linux distribution

Serpent takes distro-first, compatibility-later approach. This lets them take some really bold decisions.

Ikey says that it this project will not tolerate for negative actors holding Linux back. For example, NVIDIA’s lack of support for accelerated Wayland support on their GPUs will not be tolerated and NVIDIA proprietary drivers will be blacklisted from the distribution.

Here’s a proposed plan for the Serpent Linux project (taken from their website):

  • No more usrbin split
  • 100% clang-built throughout (including kernel)
  • musl as libc, relying on compiler optimisations instead of inline asm
  • libc++ instead of libstdc++
  • LLVM’s binutils variants (lld, as, etc.)
  • Mixed source/binary distribution
  • Moving away from x86_64-generic baseline to newer CPUs, including Intel and AMD specific optimisations
  • Capability based subscriptions in package manager (Hardware/ user choice / etc)
  • UEFI only. No more legacy boot.
  • Completely open source, down to the bootstrap / rebuild scripts
  • Seriously optimised for serious workloads.
  • Third party applications reliant on containers only. No compat-hacks
  • Wayland-only. X11 compatibility via containers will be investigated
  • Fully stateless with management tools and upstreaming of patches

Ikey boldly claims that Serpent Linux is not Serpent GNU/Linux because it is not going to be dependent on a GNU toolchain or runtime.

The development for Serpent OS project starts by the end of July. There is no definite timeline of the final stable release.

Too high claims? But Ikey has done it in the past

You may doubt if Serpent OS will see the light of the day and if it would be able to keep all the promises it made.

But Ikey Doherty has done it in the past. If I remember correctly, he first created SolusOS based on Debian. He discontinued the Debian-based SolusOS in 2013 before it even reached the beta stage.

He then went out to create evolve OS from scratch instead of using another distribution as base. Due to some naming copyright issues, the project name was changed to Solus (yes, the same old name). Ikey quit the Solus project in 2018 and other devs now handle the project.

Solus is an independent Linux distribution that gave us the beautiful Budgie desktop environment.

Ikey has done it in the past (with the help of other developers, of course). He should be able to pull this one off as well.

Yay or Nay?

What do you think of this Serpent Linux? Do you think it is time for developers to take a bold stand and develop the operating system with the future in the mind rather than holding on to the past? Do share your views.

13 Things To Do After Installing Linux Mint 20

Tuesday 30th of June 2020 09:34:23 AM

Linux Mint is easily one of the best Linux distributions out there and especially considering the features of Linux Mint 20, I’m sure you will agree with that.

In case you missed our coverage, Linux Mint 20 is finally available to download.

Of course, if you’ve been using Linux Mint for a while, you probably know what’s best for you. But, for new users, there are a few things that you need to do after installing Linux Mint 20 to make your experience better than ever.

Recommended things to do after installing Linux Mint 20

In this article, I’m going to list some of them for to help you improve your Linux Mint 20 experience.

1. Perform a System Update

The first thing you should check right after installation is — system updates using the update manager as shown in the image above.

Why? Because you need to build the local cache of available software. It is also a good idea to update all the software updates.

If you prefer to use the terminal, simply type the following command to perform a system update:

sudo apt update && sudo apt upgrade -y 2. Use Timeshift to Create System Snapshots

It’s always useful have system snapshots if you want to quickly restore your system state after an accidental change or maybe after a bad update.

Hence, it’s super important to configure and create system snapshots using Timeshift if you want the ability to have a backup of your system state from time to time.

You can follow our detailed guide on using Timeshift, if you didn’t know already.

3. Install Useful Software

Even though you have a bunch of useful pre-installed applications on Linux Mint 20, you probably need to install some essential apps that do not come baked in.

You can simply utilize the software manager or the synaptic package manager to find and install software that you need.

For starters, you can follow our list of essential Linux apps if you want to explore a variety of tools.

Here’s a list of my favorite software that I’d want you to try:

4. Customize the Themes and Icons

Of course, this isn’t something technically essential unless you want to change the look and feel of Linux Mint 20.

But, it’s very easy to change the theme and icons in Linux Mint 20 without installing anything extra.

You get the option to customize the look in the welcome screen itself. In either case, you just need to head on to “Themes” and start customizing.

To do that, you can search for it or find it inside the System Settings as shown in the screenshot above.

Depending on what desktop environment you are on, you can also take a look at some of the best icon themes available.

5. Enable Redshift to protect your eyes

You can search for “Redshift” on Linux Mint and launch it to start protecting your eyes at night. As you can see in the screenshot above, it will automatically adjust the color temperature of the screen depending on the time.

You may want to enable the autostart option so that it launches automatically when you restart the computer. It may not be the same as the night light feature on Ubuntu 20.04 LTS but it’s good enough if you don’t need custom schedules or the ability to the tweak the color temperature.

6. Enable snap (if needed)

Even though Ubuntu is pushing to use Snap more than ever, the Linux Mint team is against it. Hence, it forbids APT to use snapd.

So, you won’t have the support for snap out-of-the-box. However, sooner or later, you’ll realize that some software is packaged only in Snap format. In such cases, you’ll have to enable snap support on Linux Mint 20.

Just because Linux Mint forbids the use of it, you will have to follow the commands below to successfully install snap:

sudo rm /etc/apt/preferences.d/nosnap.pref sudo apt update sudo apt install snapd

Once you do that, you can follow our guide to know more about installing and using snaps on Linux.

7. Learn to use Flatpak

By default, Linux Mint comes with the support for Flatpak. So, no matter whether you hate using snap or simply prefer to use Flatpak, it’s good to have it baked in.

Now, all you have to do is follow our guide on using Flatpak on Linux to get started!

8. Clean or Optimize Your System

It’s always good to optimize or clean up your system to get rid of unnecessary junk files occupying storage space.

You can quickly remove unwanted packages from your system by typing this in your terminal:

sudo apt autoremove

In addition to this, you can also follow some of our tips to free up space on Linux Mint.

9. Using Warpinator to send/receive files across the network

Warpinator is a new addition to Linux Mint 20 to give you the ability to share files across multiple computers connected to a network. Here’s how it looks:

You can just search for it in the menu and get started!

10. Using the driver manager Driver Manager

The driver manager is an important place to look for if you’re using Wi-Fi devices that needs a driver, NVIDIA graphics, or AMD graphics, and drivers for other devices if applicable.

You just need look for the driver manager and launch it. It should detect any proprietary drivers in use or you can also utilize a DVD to install the driver using the driver manager.

11. Set up a Firewall

For the most part, you might have already secured your home connection. But, if you want to have some specific firewall settings on Linux Mint, you can do that by searching for “Firewall” in the menu.

As you can observe the screenshot above, you get the ability to have different profiles for home, business, and public. You just need to add the rules and define what is allowed and what’s not allowed to access the Internet.

You may read our detailed guide on using UFW for configuring a firewall.

12. Learn to Manage Startup Apps

If you’re an experienced user, you probably know this already. But, new users often forget to manage their startup applications and eventually, the system boot time gets affected.

You just need to search for “Startup Applications” from the menu and you can launch it find something like this:

You can simply toggle the ones that you want to disable, add a delay timer, or remove it completely from the list of startup applications.

13. Install Essential Apps For Gaming

Of course, if you’re into gaming, you might want to read our article for Gaming on Linux to explore all the options.

But, for starters, you can try installing GameHub, Steam, and Lutris to play some games.

Wrapping Up

That’s it folks! For the most part, you should be good to go if you follow the points above after installing Linux Mint 20 to make the best out of it.

I’m sure there are more things you can do. I’d like to know what you prefer to do right after installing Linux Mint 20. Let me know your thoughts in the comments below!

What is End of Life in Ubuntu? Everything You Should Know About it

Monday 29th of June 2020 11:58:54 AM

If you have been following It’s FOSS for some time, you might have noticed that I publish news articles like Ubuntu XYZ version has reached end of life (EoL).

This end of life is one of those essential concepts that every Ubuntu user should be aware of.

This is why I decided to write this detailed guide to explain what does an Ubuntu release reaching end of life means, why it matters to you and how to check when your Ubuntu install has reaches end of life.

What is end of life in Ubuntu?

First thing first, end of life is not really an Ubuntu-specific concept. It is a generic term widely used in the software industry.

The end of life of a software means the software has reached the end of its predefined support period. Beyond this date, the software won’t get any feature, maintenance or security updates.

You may continue using the software past its end of life date but at your own risk. If there are security vulnerability, your system and data will be at risk.

Compare it to the use by date or the expiry date on a food item. You may consume the yogurt one day after its use by date but can you eat it after a week or a month?

Why end of life?

Software is not a living being then why they have an end of life? Why doesn’t Ubuntu just keep on supporting one version forever?

It is to maintain a balance between stability and features. You want new features in your system but you don’t want it to break your system. Software compatibility is complex and testing takes time.

So what Ubuntu does is to give you a release and takes the responsibility of maintaining it by providing security and other updates for a certain time period.

Ubuntu team and volunteers also work on the new release in parallel to add new features to the future release.

Support life cycle of Ubuntu releases

Ubuntu has two new version releases every year. These releases can be categorized into:

  • Regular release with 9 months of support period
  • Long-term support (LTS) release with 5 years of support period

A new LTS version is released every two years while the regular releases come every six months.

This table should give you a better understanding:

Ubuntu VersionReleaseEnd of LifeUbuntu 18.04 (LTS)April, 2018April, 2023 (5 years)Ubuntu 18.10October, 2018July, 2019 (9 months)Ubuntu 19.04April, 2019January, 2020 (9 months)Ubuntu 19.10October, 2019July, 2020 (9 months)Ubuntu 20.04 (LTS)April, 2020April, 2025 (5 years)Ubuntu 20.10October, 2020July, 2021 (9 months)

The long-term support release focus on providing stability for a longer period. You probably know that Linux distributions like Ubuntu are also responsible for providing applications to you. These distributions have thousands of applications/packages in their repositories.

The LTS versions often hold on to software versions as they cannot test every new version of so many software in the five years of support period.

When Ubuntu releases a new LTS version, it also updates a number of software to a newer version. For example, Ubuntu 18.04 LTS has PHP 7.2 whereas Ubuntu 20.04 LTS has PHP 7.4 available.

The regular release are short-live, but they bring new features (like newer versions of software like file managers, desktop environments, newer kernels etc).

Personally, I think of these regular releases as a stepping platform for the next LTS releases. For examples, the features introduced in Ubuntu 18.10, 19.04, 19.10 will eventually be added in Ubuntu 20.04 (but not in 18.04).

How to check how long your Ubuntu system will be supported?

The simplest way to check the end of life support in Ubuntu is using this command in the terminal:

hwe-support-status --verbose

It will show an output that mentions the support period of your Ubuntu version.

You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2025.

The Hardware Enablement Stack in Ubuntu allows you to receive the latest generic Linux kernel supported by Ubuntu. The important part is the support status date.

If you want a detailed overview of how many software packages you have got and how long those packages will be supported, you can use the ubuntu-security-status command:


In older versions of Ubuntu, the same command is known as ubuntu-support-status. For both commands, the output is nearly identical:

abhishek@itsfoss:~$ ubuntu-security-status 2242 packages installed, of which: 1695 receive package updates with LTS until 4/2025 510 could receive security updates with ESM Apps until 4/2030 30 packages are from third parties 7 packages are no longer available for download Packages from third parties are not provided by the official Ubuntu archive, for example packages from Personal Package Archives in Launchpad. For more information on the packages, run 'ubuntu-security-status --thirdparty'. Packages that are not available for download may be left over from a previous release of Ubuntu, may have been installed directly from a .deb file, or are from a source which has been disabled. For more information on the packages, run 'ubuntu-security-status --unavailable'. Enable Extended Security Maintenance (ESM Apps) to get 0 security updates (so far) and enable coverage of 510 packages. This machine is not attached to an Ubuntu Advantage subscription. See

As you can see in the above output, my system will majorly get supported till April 2025. Ubuntu can provide maintenance support for 510 packages till April 2030 but you’ll have to purchase the ESM.

The ESM is more useful to mission-critical business infrastructure where upgrading to a newer version of the OS will impact the business. For desktop users, upgrading to a newer version is easier and more sensible thing to do.

What happens when your Ubuntu install reaches end of life? What if you continue using Ubuntu even after its end of life?

When your Ubuntu install reaches end of life, it stops getting system updates including any security updates. There won’t be updates for installed software as well.

Without the security updates your system will become vulnerable to hacking attacks (if you connect to internet). Suppose a vulnerability gets discovered in one of the software you use or even in Linux kernel. You don’t get the update so this vulnerability is not patched and some malicious hackers take advantage of it to steal your data.

Eventually, you’ll not be able to use the Ubuntu repositories. If you try to install a new application, you’ll see ‘unable to locate package error‘.

So, basically, you won’t be able to install new software and your system will be at risk. Not a pretty scenario.

The worst part is that if you wait way too long, you won’t be able to upgrade to the newer version. For example, a system running 17.04 can no longer update to 17.10 because even 17.10 is not supported anymore. A fresh new Ubuntu installation is the only suggested option in such case.

What should you do when your Ubuntu install reaches end of life?

Ubuntu doesn’t just abandon you after your system reaches end of life. It notifies you either in terminal or on the desktop that your system is no longer supported.

Ubuntu No Longer Supported

It even provides a mechanism to upgrade your current Ubuntu version to the newer version. Most of the software you have currently installed and your pictures, videos and other documents remain as it is. Making a backup of your important data on an external disk is still recommended.

Upgrade to Ubuntu 20.04 From 18.04

The rule of thumb is:

  • if you are using an LTS release, you should upgrade when the next LTS version is available.
  • if you are using a regular release, you should upgrade whenever the next version is available.
Still confused?

I wrote this article because this is one of the most common confusion for It’s FOSS readers. I hope it clears the air and you have a better understanding of Ubuntu release cycle.

If you still have doubts, please feel free to ask your question in the comment section. I’ll be happy to answer your queries.

Linux Mint 20 is Officially Available Now! The Performance and Visual Improvements Make it an Exciting New Release

Saturday 27th of June 2020 05:49:02 PM

Linux Mint 20 “Ulyana” is finally released and available to download.

Linux Mint 19 was based on Ubuntu 18.04 LTS and Mint 20 is based on Ubuntu 20.04 LTS — so you will find a lot of things different, improved, and potentially better.

Now that it’s here, let’s take a look at its new features, where to download it, and how to upgrade your system.

Linux Mint 20: What’s New?

We have made a video about the initial visual impressions on Linux Mint 20 to give you a better idea:

Subscribe to our YouTube channel for more Linux videos

There’s a lot of things to talk about when it comes to Linux Mint 20 release. While we have already covered the new key features in Linux Mint 20, I’ll mention a few points here for a quick glance:

  • Performance improvements in Nemo file manager for thumbnail generation
  • Some re-worked color themes
  • Linux Mint 20 will forbid APT from using Snapd
  • A new GUI tool to share files using the local network
  • Improved multi-monitor support
  • Improved hybrid graphics support for laptops
  • No 32-bit releases anymore

In addition to all these changes, you will also notice some visual changes with Cinnamon 4.6 desktop update.

Here are some screenshots of Linux Mint 20 Cinnamon edition. Click on the images to see in full screen.

Upgrading to Linux Mint 20: What you need to know

If you are already using Linux Mint, you will have the option to upgrade to Linux Mint 20 in the first week of July.

  • If you are using Linux Mint 20 beta version, you can upgrade to Mint 20 stable version.
  • If you’re using Linux Mint 19.3 (which is the latest iteration of Mint 19), you can upgrade your system to Linux Mint 20 without needing to perform a clean installation.
  • There is no 32-bit version of Linux Mint 20. If you are using 32-bit Mint 19 series, you won’t be able to upgrade to Mint 20.
  • If you are using Linux Mint 18 series, you’ll have to upgrade through Mint 19 series first. A fresh install of Mint 20 would be less time-consuming and troublesome in my opinion.
  • If you are using Linux Mint 17, 16, 15 or lower, you must not use them anymore. These versions are not supported anymore.

It’s FOSS has a detailed guide showing the steps to upgrade Linux Mint version from 19.3 to 20.

Before you go on upgrading make sure to backup your data and create system snapshots using Timeshift.

Download Linux Mint 20

You can simply head on to its official download page and grab the latest stable ISO for yourself. You’ll find the ISO for the officially supported desktop environments, i.e. Cinnamon, MATE and Xfce.

Torrent links are also available for those who have slow or inconsistent internet connection.

Download Linux Mint 20

If you just want to try it out without replacing your main system, I suggest installing Linux Mint 20 in VirtualBox first and see if this is something you would like.

Have you tried Linux Mint 20 yet? What do you think about the release? Let me know your thoughts in the comments section below.

How to crop images in GIMP [Quick Tip]

Saturday 27th of June 2020 02:12:29 PM

There are many reasons you may want to crop an image in GIMP. You may want to remove useless borders or information to improve your image, or you may want the focus of the final image to be a specific detail for example.

In this tutorial, I will demonstrate how to cut out an image in GIMP quickly and without compromising the precision. Let’s see.

How to crop images in GIMP Method 1

Cropping is just an operation to trim the image down to a smaller region than the original one. The procedure to crop an image is straightforward.

You can get to the Crop Tool through the Tools palette like this:

Use Crop Tool for cropping images in GIMP

You can also access the crop tool through the menus:

Tools → Transform Tools → Crop

Once the tool is activated, you’ll notice that your mouse cursor on the canvas will change to indicate the Crop Tool is being used.

Now you can Left-Click anywhere on your image canvas, and drag the mouse to a location to create the cropping boundaries. You don’t have to worry about the precision at this point, as you will be able to modify the final selection before actually cropping.

Crop Selection

At this point hovering your mouse cursor over any of the four corners of the selection will change the mouse cursor, and highlight that region. This allows you to now fine-tune the selection for cropping. You can click and drag any side or corner to move that portion of the selection.

Once the region is good enough to be cropped, you can just press the “Enter” key on your keyboard to crop.

If at any time you’d like to start over or decide not to crop at all, you can press the “Esc” key on your keyboard.

Method 2

Another way to crop an image is to make a selection first, using the Rectangle Select Tool.

Tools → Selection Tools → Rectangle Select

You can then highlight a selection the same way as the Crop Tool, and adjust the selection as well. Once you have a selection you like, you can crop the image to fit that selection through

Image → Crop to Selection


Cropping precisely an image can be considered a fundamental asset for a GIMP user. You may choose which method fits better to your needs and explore its potential.

If you have any questions about the procedure, please let me know in the comments below. If you are “craving” more GIMP tutorials, make sure to subscribe on your favorite social media platforms!

Learn Shell Scripting for Free With These Resources [PDF, Video Courses and Interactive Websites]

Friday 26th of June 2020 07:18:50 AM

So, you want to learn shell scripting? Or perhaps you want to improve your existing bash knowledge? I have collected a few resources that will help you learn shell scripting for free.

A shell is a command-line interpreter that lets you type in commands to get an output. You’re already looking at a shell when you’re using the terminal.

Yes, a shell is a command-line interface that you can interact with to give some type of instructions to the operating system. While there are different types of shells, bash (GNU Bourne-Again Shell) is the popular one used by almost every Linux distro out there.

When talk about shell scripting, that means — a user wants to execute multiple commands to get an output using a script.

You may need to learn shell scripting as part of your course curriculum or as part of your job. Knowing shell scripting also helps you automate certain repeated tasks in Linux.

Whatever be the reason for learning shell scripting, let me show you the resources.

Top Free Resources to Learn Shell Scripting

Don’t have Linux installed on your system? No, worries. There are various ways of using Linux terminal on Windows. You may also use online Linux terminals in some cases to practice shell scripting.

1. Learn Shell [Interactive web portal]

If you’re looking for an interactive web portal to learn shell scripting and also try it online, Learn Shell is a great place to start.

It covers the basics and offers some advanced exercises as well. The content is usually brief and to the point – hence, I’d recommend you to check this out.

Learn Shell 2. Shell Scripting Tutorial [Web portal]

Shell scripting tutorial is web resource that’s completely dedicated for shell scripting. You can choose to read the resource for free or can opt to purchase the PDF, book, or the e-book to support it.

Of course, paying for the paperback edition or the e-book is optional. But, the resource should come in handy for free.

Shell Scripting Tutorial 3. Shell Scripting – Udemy (Free video course)

Udemy is unquestionably one of the most popular platforms for online courses. And, in addition to the paid certified courses, it also offers some free stuff that does not include certifications.

Shell Scripting is one of the most recommended free course available on Udemy for free. You can enroll in it without spending anything.

Shell Scripting – Udemy 4. Bash Shell Scripting – Udemy (Free video course)

Yet another interesting free course focused on bash shell scripting on Udemy. Compared to the previous one, this resource seems to be more popular. So, you can enroll in it and see what it has to offer.

Not to forget that the free Udemy course does not offer any certifications. But, it’s indeed an impressive free shell scripting learning resource.

5. Bash Academy [online portal with interactive game]

As the name suggests, the bash academy is completely focused on educating the users about bash shell.

It’s suitable for both beginners and experienced users even though it does not offer a lot of content. Not just limited to the guide — but it also used to offer an interactive game to practice which no longer works.

Hence, if this is interesting enough, you can also check out its GitHub page and fork it to improve the existing resources if you want.

Bash Academy 6. Bash Scripting LinkedIn Learning (Free video course)

LinkedIn offers a number of free courses to help you improve your skills and get ready for more job opportunities. You will also find a couple of courses focused on shell scripting to brush up some basic skills or gain some advanced knowledge in the process.

Here, I’ve linked a course for bash scripting, you can find some other similar courses for free as well.

Bash Scripting (LinkedIn Learning) 7. Advanced Bash Scripting Guide [Free PDF book]

An impressive advanced bash scripting guide available in the form of PDF for free. This PDF resource does not enforce any copyrights and is completely free in the public domain.

Even though the resource is focused on providing advanced insights. It’s also suitable for beginners to refer this resource and start to learn shell scripting.

Advanced Bash Scripting Guide [PDF] 8. Bash Notes for Professionals [Free PDF book]

This is good reference guide if you are already familiar with Bash Shell scripting or if you just want a quick summary.

This free downloadable book runs over 100 pages and covers a wide variety of scripting topics with the help of brief description and quick examples.

Download Bash Notes for Professional 9. Tutorialspoint [Web portal]

Tutorialspoint is a quite popular web portal to learn a variety of programming languages. I would say this is quite good for starters to learn the fundamentals and the basics.

This may not be suitable as a detailed resource — but it should be a useful one for free.

Tutorialspoint 10. City College of San Francisco Online Notes [Web portal]

This may not be the best free resource there is — but if you’re ready to explore every type of resource to learn shell scripting, why not refer to the online notes of City College of San Francisco?

I came across this with a random search on the Internet about shell scripting resources.

Again, it’s important to note that the online notes could be a bit dated. But, it should be an interesting resource to explore.

City College of San Francisco Notes Honorable mention: Linux Man Page

Not to forget, the man page for bash should also be a fantastic free resource to explore more about the commands and how it works.

Even if it’s not tailored as something that lets you master shell scripting, it is still an important web resource that you can use for free. You can either choose to visit the man page online or just head to the terminal and type the following command to get help:

man bash Wrapping Up

There are also a lot of popular paid resources just like some of the best Linux books available out there. It’s easy to start learning about shell scripting using some free resources available across the web.

In addition to the ones I’ve mentioned, I’m sure there must be numerous other resources available online to help you learn shell scripting.

Do you like the resources mentioned above? Also, if you’re aware of a fantastic free resource that I possibly missed, feel free to tell me about it in the comments below.

The New macOS Big Sur Looks Like…Deepin Linux

Wednesday 24th of June 2020 08:31:09 AM

Deepin Linux has been considered a macOS look alike Linux distribution for a long time. But it seems that design inspiration has taken the full circle here.

The upcoming macOS Big Sur has an uncanny resemblance to the upcoming Deepin Linux version 20.

I am not kidding. See it yourself. This is macOS Big Sur screenshot shared by Apple at WWDC recently:

And this is Deepin desktop version 20:

Both have same kind of application window styling with rounded corners. Emphasis on white background with blue accent. The dock/launcher at the bottom also look similar.

Apple’s macOS Big Sur has new visual approach. They have made the icons bigger. The icons also have plenty of space between them. This is probably their attempt to make macOS more touch friendly.

The new macOS icons also resemble iOS icons. This should give a uniform look to all the operating systems in the Apple ecosystem.

Moving on to Deepin Linux now. The upcoming Deepin version 20 is drop dead gorgeous. The developers have put a lot of focus on the design this time as well. I am not a UI designer so it is difficult for me to put it in correct technical terms. But the new design looks more clean and aesthetic.

Here are some more Deepin 20 pictures to gorge on:

With Deepin, you don’t have to put special efforts to make your Linux system look like macOS.

So, does this mean Apple is preparing a lawsuit against Deepin for ‘copying their design’? Considering that Deepin is based in China, Apple won’t take such action against them. Jokes apart, if Deepin was US-based, it could have been a possibility.

It is difficult to say who is inspiring whom. Like Netflix’s Dark web series, things are going in circle here as well.

Frankly, it doesn’t matter if macOS look like Deepin or not. I thought maybe it would be fun little news for the readers to read and smile.