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 projectin 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.
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.
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:
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 Mint.
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.
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
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.
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!
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 Version
Release
End of Life
Ubuntu 18.04 (LTS)
April, 2018
April, 2023 (5 years)
Ubuntu 18.10
October, 2018
July, 2019 (9 months)
Ubuntu 19.04
April, 2019
January, 2020 (9 months)
Ubuntu 19.10
October, 2019
July, 2020 (9 months)
Ubuntu 20.04 (LTS)
April, 2020
April, 2025 (5 years)
Ubuntu 20.10
October, 2020
July, 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:
ubuntu-security-status
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 https://ubuntu.com/advantage
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.
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.
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 “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:
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 may have the option to upgrade to Linux Mint 20.
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 18.3 to 19. I am guessing the steps should be the same for Mint 20 as well. It’s FOSS team will be doing some tests for Mint 19.3 to Mint 20 upgrade and update this guide as applicable.
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.
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.
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
Conclusion
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.