Hello and welcome to the fifteenth edition of Linux++, a weekly dive into the major topics, events, and headlines throughout the Linux world. This issue covers the week starting Monday, April 27, 2020 and ending Sunday, May 3, 2020.
This is not meant to be a deep dive into the different topics, but more like a curated selection of what I find most interesting each week with links provided to delve into the material as much as your heart desires.
If you missed the last report, Issue 14 from April 26, 2020, you can find it here. You can also find all of the issues posted on the official Linux++ Twitter account here or follow the Linux++ publication on the Destination Linux Network’s Front Page Linux platform here.
In addition, there is a Telegram group dedicated to the readers and anyone else interested in discussion about the newest updates in the GNU/Linux world available to join here.
For those that would like to get in contact with me regarding news, interview opportunities, or just to say hello, you can send an email to email@example.com. I would definitely love to chat!
There is a lot to cover so let’s dive right in!
If you don’t care what I’ve been up to over the past week, feel free to skip ahead to the Community News section 🙂
Thank You for the Amazing Response, Arch Users!
Last week, I announced the launch of an Arch Users Questionnaire in order to gain a better understanding of the Arch community for an article that I am writing that details the greater Arch ecosystem. I do have to say, at first I was a bit worried that we wouldn’t get more than a handful of responses, however, I’m happy to report that the opposite happened. We got responses. We got responses in spades!
Over one hundred and fifty Arch and Arch-based users responded to the survey with the vast majority coming from three different distributions — Arch Linux, Manjaro, and Endeavour OS. There were a ton of incredibly thoughtful and detailed responses to the questionnaire and I think it truly gave me a special peek into the Arch community in a way that would just not have been possible otherwise.
So, I want to say THANK YOU to everyone who took the time to respond to the questionnaire and share their perspective on the phenomenon that is Arch Linux. And yes, I still have Arch, Manjaro, and Endeavour OS on my three different testing machines and I am definitely still enjoying them immensely. This venture even has me looking at going off into even more specialized distributions such as Void Linux or NixOS. Or, maybe I’ll just stick to playing around with Arch…who knows at this point!
Thank you for your continued support, I hope you enjoy this week’s issue, and, as always, long live GNU/Linux!
Fedora 32 Officially Released!
Another week, another massive release from an extremely popular Linux distribution. Yes, that’s right folks, Fedora 32 has been released to the public after approximately a month worth of beta testing. Though Fedora provides a semi-rolling release schedule, there are still a few new features in the latest release.
Fedora Workstation has always been a professional Linux distribution targeted at developers who need something that “just works” out-of-the-box. So, one of the major alterations of this particular release is the updating of some key programming languages that come with the system, namely GCC 10, Ruby 2.7, and Python 3.8. With the death of Python 2 (you can read about that in last week’s Linux++ article here), Fedora has almost completed their migration to complete Python 3 support except for two packages. Consequently, a legacy Python 2.7 package is still included on the system for developers and users who still require it, even after thirteen years ;).
Moreover, Fedora 32 ships with EarlyOOM enabled by default. EarlyOOM is a service that will supposedly help to “improve user experience in low-memory situations”. The benefits of EarlyOOM are described in the Fedora Project Wiki:
“There are two major benefits to Fedora [regarding EarlyOOM]:
- improved user experience by more quickly regaining control over one’s system, rather than having to force power off in low-memory situations where there’s aggressive swapping. Once a system becomes unresponsive, it’s completely reasonable for the user to assume the system is lost, but that includes a high potential for data loss
- reducing forced poweroff as the main work around will increase data collection, improving understanding of low memory situations and how to handle them better
- EarlyOOM first sends SIGTERM to the chosen process, so it has a chance of proper shutdown, unlike the kernel’s oom-killer”
In addition, there is a new “lab” available with Fedora 32 called the Comp Neuro Lab, which was developed by the Fedora Project’s Neuroscience Special Interest Group. This lab from Fedora ships with a wide variety of computational modeling tools for Neuroscience.
I would really like to say congratulations to the Fedora team on all their hard work and dedication to putting out one of the most polished distributions in the Linux world. Keep up the great work and onward to Fedora 33!
If you would like to read the official announcement post from the Fedora Project Lead, Matthew Miller, you can find it here. In addition, if you would like to try out Fedora 32 (Workstation) yourself, you can find the ISO images here.
In more news coming out of the Fedora world, it appears that the Fedora team will be hosting an “ask me anything” (AMA) session on their Fedoraama telegram group, which will be bridged to #fedora-ama on Freenode IRC. The AMA will take place at 2:00 PM Eastern Standard Time (6:00 PM UTC) on Wednesday, May 6.
The session is set to take place over approximately an hour and a half and will include major contributors to the Fedora project including Matthew Miller (Fedora Project Leader), Ben Cotton (Fedora Program Manager), Jiri Eischmann (Mentor & Treasurer for EMEA Ambassadors), Ankur Sinha (NeuroFedora SIG), Jona Azizaj (Mentor for EMEA Ambassadors & Diversity & Inclusion Group), Igor Raits (Rust SIG founder), and Peter Šabata (Package Maintainer).
So, if you have any questions regarding Fedora or the future of the operating system, make sure to save the date! More information about the Fedora AMA can be found here.
Pop!_OS 20.04 Out Now
Right on schedule, the increasingly popular (had to) Pop!_OS distribution by the wonderful folks over at the Linux-based hardware and software manufacturer, System76, was released exactly a week after the monumental release of Ubuntu 20.04, of which it is based on. Pop!_OS has grown from what many considered nothing more than a reskinned Ubuntu into its own, unique distribution over the years. Originally, Pop!_OS was designed to specifically work more efficiently with System76’s hardware, however, the System76 developers have worked extremely hard to ensure that the in-house distribution works seamlessly on an increasing amount of hardware configurations, allowing a much wider user base to gain the niceties provided by Pop!_OS.
Of course, many of the improvements in Pop!_OS 20.04 come from the extensive work done by Canonical on the base Ubuntu 20.04 system as well as the immense upgrades implemented by the GNOME Project on their upstream GNOME 3.36. However, Pop!_OS also benefits from the implementation of quite a few new, exciting, and innovative features, which have seen extensive work by the developers for quite some time now.
The headline feature in Pop!_OS 20.04 is one that Linux++ (and basically every major Linux news source) has been covering for quite a while now — the Pop!_Shell. This feature includes a new extension that is baked into the GNOME Shell of Pop!_OS itself, which includes a toggle to provide i3-like tiling window functionality inside the default GNOME 3 desktop.
This new feature has been received incredibly well by the Pop!_OS community and will likely continue to gain popularity as the System76 developers iterate and improve it going forward. If you would like to learn more about the Pop!_Shell, check out the article about it in the March 8, 2020 issue of Linux++ here or you can peep the official introduction video produced by System76 below:
In addition to the integration of the Pop!_Shell, there are a number of other improvements worked on by System76 for Pop!_OS 20.04. For starters, Pop!_OS 20.04 ships with newer Linux kernel 5.4 LTS by default, which should give better support to newer hardware out-of-the-box.
Moreover, System76 have implemented a new application switcher and launcher that is meant to be a lightweight replacement for the Activities Overview as well as the usual
Super + Tab to switch between applications. This new tool can be utilized by simply using
Super + / instead and should bring up a KRunner-like search bar, which can be used for opening new applications, switching to already open applications, and even triggering system commands.
Also, System76 has chosen to make the universal packaging system, Flatpak, available by default through the Flathub application repository. Even with Flatpak integration out-of-the-box, System76 promises to continue natively packaging the most important and commonly used programs for Pop!_OS.
Some smaller additions to Pop!_OS 20.04 include the ability to perform offline upgrades, the addition of application indicators in the Top Bar, improvements to the selection in the Pop!_Shop, the Pop-dark theme enabled by default, and a new default desktop wallpaper.
Congratulations to System76 and the Pop!_OS community on another smashing release. Keep up the hard work and I can’t wait to see what the rest of 2020 has in store for you!
If you would like to check out the release notes for Pop!_OS 20.04, you can find them here. Additionally, if you would like to download and check out Pop!_OS 20.04, you can find the both the AMD/Intel and NVIDIA ISO images here.
elementary OS 5.1.4
With the release of Ubuntu 20.04 LTS last week, many downstream distributions will begin the path to upgrading to the newest LTS base. One such distribution is elementary OS — an extremely popular and user-friendly distribution that will certainly be pushing towards version 6. This week, Cassidy James Blaede, the co-founder of elementary OS, wrote a blog post detailing the updates that are shipping with the most recent iteration of the Mac-like distribution, 5.1.4.
elementary OS has always been an interesting distribution in that they use their own customized Pantheon desktop environment and have their own AppCenter, where developers can build and distribute applications built by following the elementary OS style guidelines. This allows for a distribution that features a much more consistent look across the environment and applications it ships compared to others.
Though this update is labeled as a point release, it probably should have been labeled as elementary OS Hera 5.2 considering the vast amount of changes that were implemented. Let’s take an in depth look at what has changed since the last elementary OS release.
One area that saw a bit of revamping was the Parental Controls section in the System Settings. The first major change was the renaming of the section to “Screen Time & Limits”. In addition, the newly named settings will now be able to be used by your own account along with other non-administrator accounts on the device. This will allow users to set their own rules around screen time, Internet access, and application use time. It appears that this revamp was inspired by the Metered Data & Parental Controls hackfest that took place with GNOME developers in London in May of last year.
Another area that saw drastic improvements is the Applications Menu, a launcher which allows users to quickly search for and find applications and application actions that they want to run. With elementary OS 5.1.4, increased support and usability for touchpads and touchscreens was implemented for the laptop users out there. In addition, the layout of the Applications Menu has changed quite dramatically, with a categorized view of the applications being implemented instead of the GNOME-style application grid, making it appear like a more traditional application launcher than in the past. Also, keyboard navigation and performance were greatly enhanced with the new release.
Similar to the revamp of the Applications Menu, the System Settings search feature has also found its default layout to be altered a bit. The search feature now supports deep searching for individual settings and shows the navigational path to get to the specific setting menu. Not only does this increase the speed at which one can navigate their system, but can also teach exactly how the settings system is configured.
There were also some changes pushed to different areas of the system settings menu including Desktop Settings, Display Settings, Mouse and Touchpad Settings, and User Account Settings. Included in the Desktop Settings is the improved visualization of dock icon sizes. In addition, search result terms have been updated to include accessibility settings like text size, window animations, and panel translucency.
Display Settings saw the fix of a problem with one-pixel gaps between different displays. Also, rotated displays are now properly centered. Moreover, the elementary developers fixed an issue with stretched switches in the Mouse & Touchpad settings, specifically when large text was being utilized.
In an effort to unclutter the UI, the elementary developers are actively moving away from authentication info bars toward a more comprehensive and lightweight authentication system. The first change that was implemented in 5.1.4 includes showing more accurate reasoning for settings being locked and only requiring administrator permission on demand when enabling or disabling different user accounts.
The last major change comes from one of the shining jewels of elementary OS — their AppCenter software store. This month, improvements to performance, extensions, keyboard navigation, and a number of other fixes were implemented.
In order to improve the performance, the elementary developers changed the AppCenter to check for updates only at device startup or login and only once daily. This will help to free up some of the unusual CPU usage that comes along with the AppCenter, while still ensuring that users will have their systems upgraded in a timely manner.
In addition, the extensions section has been cleaned up. To do this, only the extensions that require an update are shown. Also, when selecting a particular extension from an app info page, it will take you to an info page for that extension. Lastly, the main and overlay icons for different extensions are now altered to clearly display the apps that are associated with each extension.
For keyboard-centric users, the down arrow will now allow you to move through the different search results and select the one you are looking for. Also, a global search keybinding was created by using
Ctrl + F, which will bring the search bar into focus no matter where you are in the AppCenter.
These are definitely some really nice improvements to elementary OS that should make the operating system even more intuitive and appealing for new users or those coming from macOS or Windows. Congrats to the elementary OS development team on the hard work and specifically for refusing to let the tiny details go unnoticed. These details are often what separates the good distributions from the great ones. I know that I can’t wait to see what they cook up for the next major release, elementary OS 6!
If you would like to check out the full release notes via Cassidy’s blog post, you can find those details here. If you would like to try out elementary OS 5.1.4 for yourself, you can find the download link on their homepage here.
Parrot OS Launches 4.9 Update
Parrot OS is an intriguing Linux distribution aimed at the cybersecurity and penetration testing world. Next to Kali Linux, Parrot OS is the next most popular distribution for penetration testing. One thing that makes Parrot OS unique is that it is based on the testing branch of Debian, which gives it a rolling release nature compared to the fixed release schedules of other penetration testing distributions like Kali and Backbox Linux.
In addition, Parrot OS doesn’t see itself as a penetration testing only distribution like Kail Linux does. In fact, their website describes Parrot OS as an “all-in-one framework for Cyber Security, Software Development, and Privacy Defense.” Consequently, there are two separate versions, aptly name “Home” and “Security”, where the “Home” version doesn’t include any of the penetration testing packages by default.
Earlier this week, the developers behind Parrot OS announced an ISO refresh (since it is a rolling release) as version 4.9. There are quite a few significant updates from the last version including an upgrade to the Linux kernel 5.5 branch that allows for better hardware support as well as fixes to some WiFi and Intel GPU bugs in the previous version. Also, there is much better support for newer hardware with the kernel update.
In addition, cleanup of the Parrot Menu was accomplished by the developers who fixed the missing icon in the brisk menu, removed duplicate launchers in other categories or Debian packages, fixed the icons from some security tools, fixed airgeddon execution path, and improved the update-launcher.
One of the most intriguing tools built by the Parrot OS developers is Anonsurf, which is described as “Parrot’s anonymous mode to force connections through tor and/or the i2p network.” This is an incredibly powerful tool considering that the first step to performing penetration testing is to anonymize the system. This process can be lengthy and difficult, however, the Anonsurf tool makes it immensely simpler to do (and with a single tool to boot!). In fact, this tool was so powerful that users of Kali Linux created a port of it so that they could benefit from its usage on their own systems.
This latest release included some major bug fixes and improvements in the functionality of Anonsurf. In fact, the Parrot OS developers reported that they are working on a completely new design of Anonsurf that will introduce a graphical user interface for the tool, however, they only introduced a curated selection of updates to include in version 4.9, mostly in order to fix the bugs.
Some of the integrated improvements include the software now running as a daemon, fixes to DNS issues, implementation of an autostart at boot, a fix that closes it automatically when the system is shut down, removal of the ability to start it more than once, altering the status commands to use nyx, support for bash-completion commands, and better support for dnstool.
Moreover, Parrot OS is now shipping with the Calamares installer that is used in Manjaro and many other Linux distributions. The Debian installer will still be shipped for those who need it, but the Calamares installer is a huge improvement over the latter as far as ease of use and functionality is concerned. This should make the installation process much quicker, as Calamares works on system setup and partitioning first and then allows the user to be configured while the installation runs in the background.
In some unfortunate news, the deprecation of Python 2 seems to have had a bit of an effect on the distribution as some pentesting tools that were written in Python 2 were never ported to Python 3 and so they were forced to be deprecated as well. The Parrot developers are currently searching for replacements and even suggest that they might write the tools themselves in the future.
Of course, along with all these improvements come the upstream updates from Debian testing and all the newer software that they provide.
Parrot OS is one distribution that fascinates me because for a long time Kali was truly the only player in the pentesting field. Now, the friendly competition between Parrot OS and Kali Linux should breed some great innovation like some that we have already seen. I wish nothing but the best for the Parrot developers and can’t wait to see what they come up with in the future (like the new Anonsurf interface!).
If you would like to check out the official release notes for Parrot OS 4.9, you can find them here. If you would like to try out the newest Parrot OS for yourself, you can find the download links for both the “Home” and “Security” versions here.
GNOME Connections: New Application for 3.38
With the successful launch of GNOME 3.36 LTS in the rear-view mirror, the developers at GNOME now have their sights set on the next release of the popular desktop environment. Even though much of the attention will shine on improvements to Mutter (the default window manager) and the GNOME Shell itself, the GNOME ecosystem is massive and keeps growing by the day. Updates to the application ecosystem will no doubt be a highlight of the desktop environment’s next iteration.
Speaking of GNOME’s application ecosystem, earlier this week it was announced by Red Hat employee and GNOME contributor, Felipe Borges, on his personal blog, that there will be a new addition dropping into the GNOME application ecosystem as part of version 3.38 —GNOME Connections. From Felipe’s annoucement post:
“Yes! Connections is a brand new app that I put together in the last month. It is a remote desktop client for VNC and RDP protocols on top of the same backend code that we were already using in GNOME Boxes: gtk-vnc and gtk-frdp.
The main motivation to write this application is to have a drop-in replacement for Vinagre that is modern, easier to maintain and follows the HIG. Besides, we want to have a GNOME app to point users to when they ask for more/advanced remote-connection options in Boxes.
[…] It basically has the same code base as GNOME Boxes for the protocol/display specific code, so you will likely get the same experience as with remote connection in Boxes today. Of course, the plan is for later to add more and more remote connection specifics to empower our users without cluttering our interface.”
Of course, this project is only in the very early stages of development, so much so that right now it is really only being used for testing some simple remote connection tasks. Even though GNOME Connections is available to download as a Flatpak from Flathub, it is not yet recommended for downstream packagers to distribute the application since it will see significant changes before the 3.38 release. Flatpak allows the GNOME developers more control over what is available to provide the most complete and up-to-date experience to their users as possible.
I think that this is some really exciting news for the GNOME project considering how successful their Boxes application is. I can’t wait to see how deep they run with this one!
If you would like to read the full annoucement post from Felipe, you can find it on his personal blog here. If you would like to download and test the Flatpak version of GNOME Connections, you can find it on Flathub here.
Nitrux 1.2.8 Available for Download
One of the most intriguing entries into the Linux desktop space is none other than Nitrux OS. Nitrux is an Ubuntu-based distribution that follows the LTS release cycle. However, that is where most of the comparatives stop. Nitrux ships with its own desktop environment called the NX Desktop, which is a customization layer built on top of the popular KDE Plasma desktop environment in order to modernize the look and feel of the distribution and simplify the user interface somewhat.
The unique idea behind Nitrux is to use the universal Linux packaging format, AppImage, as the main software delivery mechanism for the distribution.
So, with a little bit of background out of the way, the team behind Nitrux announced the release of their next iteration, version 1.2.8 earlier this week. Some of the most important changes include an update to Linux kernel version 5.6.7, an update to KDE Plasma version 5.18.4, KDE Frameworks 5.69.0, KDE Applications 20.04.0, and Qt 5.14.1, an update to NVIDIA driver version 440.64, an update to all Maui applications and the MauiKit framework itself, the addition of of Feral Interactive’s GameMode daemon, and the addition of tmate, which is a fork of the tmux terminal multiplexer.
On top of all of those improvements comes an even more exciting tool — appimage-builder. appimage-builder is a new and unique tool with the sole purpose of making the creation of AppImages even easier and more intuitive. From the official Nitrux 1.2.8 release notes:
“appimage-builder uses the system package manager to resolve the application dependencies and creates a complete bundle. It can be used to pack almost any kind of applications including those made using C/C++, Python, and Java.”
This is definitely a much needed tool for AppImage, as one of the glaring downsides of utilizing it compared to the other universal packing formats, namely Snaps and Flatpaks, is that it has historically been slightly more complicated to package software using its traditional tooling. Now, with Nitrux’s contribution of the appimgae-builder, it is likely that we may see more widespread adoption of the AppImage format in the future.
Rapid innovation is one of the key factors that allows free and open source software, like Linux, to gain a massive advantage over proprietary alternatives. Though many people complain about the vast choice of distributions in the Linux world — and I agree to some extent — it is also important for developers to explore different avenues beyond the norm of what Linux is to figure out what Linux could be. For this reason, Nitrux is at the forefront of the list of distributions experimenting with structural design choices and is in good company with others like Solus, Void Linux, NixOS, Clear Linux, Qubes OS, and a handful more.
I wish nothing but the best of luck to the Nitrux developers as they continue to explore, iterate, and improve on their novel approach to a Linux-based operating system. Congratulations on the new release and I look forward to watching the Nitrux project with great interest!
If you would like to check out the release notes for Nitrux 1.2.8, you can find them here. If you would like to read more about the appimage-builder tool, you can find the documentation here. In addition, if you would like to download and try out the new version of Nitrux, you can find the ISO images here.
Ubuntu Cinnamon Remix Launches Official Website
In early December of last year, a new project was announced that attempted to bring the Cinnamon desktop environment to the standard Ubuntu base. That project is the Ubuntu Cinnamon Remix and it has gained quite a bit of traction since its initial release. For those unfamiliar with Ubuntu and its “flavors”, today there are seven official flavors — Kubuntu, Xubuntu, Lubuntu, Ubuntu Studio, Ubuntu MATE, Ubuntu Budgie, and Ubuntu Kylin.
Though Ubuntu Cinnamon Remix is not an official flavor just yet, it is making good progress to become the eighth official flavor recognized by Canonical and the greater Ubuntu community. At that time, the project would be able to drop the “Remix” portion of their name and officially become Ubuntu Cinnamon.
However, even with the growth of the distribution, one thing has been critically lacking — an official website. That is, until now! Previously, communication between developers and the community was performed through the official Telegram groups, the official Twitter account, and the GitHub repository. Searching for the website would lead to the SourceForge page that hosts the ISO files.
I’m happy to announce that the new Ubuntu Cinnamon Remix website is up-and-running and also features a very modern design that makes it obvious that a lot of effort went into its implementation. So, congrats to the Ubuntu Cinnamon developers for building their new home on the Internet.
In addition, the website includes a place to donate to the project for the first time via Patreon. So, if you are a fan of the project and have the means to do so, throw them some money to pay for the costs of hosting the website as well as the incredible amount of time spent making the distribution come to life!
I wish nothing but the best of luck to the Ubuntu Cinnamon Remix developers on their quest to receive official flavorship. I have no doubt that it won’t be long until they are included in that group.
If you would like to check out the new Ubuntu Cinnamon Remix official website, you can find it here. If you would like to try out their latest 20.04 build, you can find the ISO image here.
GhostBSD 20.04 Update
Yes, I know, this is a Linux publication…so what’s up with the BSD content? Well, the Berkeley Software Distribution (BSD) is another open source operating system that shares quite a bit in common with GNU/Linux and derives from the same UNIX family tree. In fact, the popular macOS from Apple is an extremely close relative to the different BSD operating systems out there. And, in all honesty, GhostBSD appears to be the most approachable desktop-focused BSD when coming from a Linux user’s perspective, so I figured I’d give it a shout.
For those who know nothing about the project, GhostBSD was originally based on another desktop-oriented BSD known as TrueOS. In turn, TrueOS was forked from FreeBSD, the most popular BSD in existence, in an attempt to make it more friendly for desktop users. However, in June 2018, the team behind TrueOS announced that it would no longer be developing the project, in order to focus their efforts on more server-oriented BSD projects like FreeNAS and TrueNAS CORE. Although the project was canned, in true FOSS fashion, they chose to leave the TrueOS source code up so that others could use it in whatever way they see fit.
Some projects, like Project Trident, switched their base to something else, in this case, Void Linux. GhostBSD decided to base their project off of FreeBSD itself, which required a bit of work to get going. Today, however, they are seen as a mature and often talked about project, even within the Linux community. For brevity, I won’t go into the differences between Linux and BSD, however, that may be a good topic to explore in a future issue of Linux++.
Earlier this week, the GhostBSD developers announced the release of their next snapshot of the rolling release operating system, 20.04. There have been some significant improvements since the last 20.03 release. Of course, this release comes with an updated kernel as well as various updates to different software applications utilized within GhostBSD. It appears that the developers attempted to create more stability with a variety of different filesystems by switching out gnome-mount and hald with FreeBSD’s Vermaden automount and devd.
In addition, there were numerous improvements regarding the BSD operating system (mostly focused on the installer) including fixing the ZFS forced 4k option on ZFS full disk encryption, adding 4k to the default when creating a ZFS partition with the installer, fixing pool cleanup when deleting a ZFS partition with the installer, fixing the update manager, fixing duplicate software repository config, an updated installer slideshow, improving the auto-create partition functionality, adding a bootloader option to disable syscons for AMD Radeon GPUs, adding a bootloader option to disable boot mute, changing NetworkMgr to set SYNCDHCP by default, improving the visibility of the Software Station’s progress bar, altering config to force X and boot directly to the desktop on installation, adding the ability to the installer to set hw.setcons.disable=1 if disable syscons is selected when booting the LiveCD, and, finally, the developers fixed the ntpd service.
To upgrade your GhostBSD system to the latest release, you can use the following commands:
# Check the version (should output 1201513) #
~$ uname -U
# Sync repositories #
~$ sudo pkg update -f
# Perform upgrade #
~$ sudo pkg upgrade -f
The developers also note that if you perform updates through the Software Station, then you should already be on the latest version of GhostBSD.
Even though GNU/Linux is the absolutely dominant open source operating system throughout the world, BSD is definitely an interesting project with some great ideas and I’d urge anyone that is curious to check it out. Of course, there are always middle-of-the-road projects, like Void Linux, that can give you a taste of some BSD software while still utilizing the Linux kernel and popular GNU software.
So, congrats to the GhostBSD developers on what appears to be a very important release with many upgrades to make it even friendlier to new users. I wish you nothing but the best of luck on all future versions of GhostBSD!
Xfce Moves to GitLab & Xubuntu’s New Video
Coming on the heels of an announcement by the Fedora project stating that they would be moving all of their source code to GitLab, the Xfce project has followed suit. Xfce was previously maintained using a combination of cgit and Gitolite as their web front-end.
For Xfce users, nothing will change regarding how you use your system. You will simply be switched from pulling packages from the old archive to the new one. For developers of Xfce, there are quite a few changes considering the change in the Git URL as well as the fact that many might not have GitLab accounts at this time. However, it appears that all of that is being sorted out by the project lead at this time. One aspect that will not change (yet) is the use of Bugzilla as the issue tracker. The Xfce developers hope to be able to transfer their bugs to GitLab at some time in the future, but that will require some additional planning and infrastructural changes.
This is an interesting move by Xfce and one that I am quite happy about. Usually, we hear about projects leaving the Microsoft-owned GitHub for greener pastures with the open source GitLab. However, this is not the case here and it appears that the move may have something to do with increasing interest in development of Xfce and needing to scale up.
If you would like to read the official announcement post, you can find it here. In addition, if you would like to read a more in depth conversation on the subject, you can find it on the Xfce Mailing List here. If you would like to check out Xfce’s new GitLab page, you can find that here.
In other Xfce news, the team behind the popular Xfce-flavored version of Ubuntu, Xubuntu, have released a new video regarding new features and functionalities included in their milestone 20.04 LTS release, which became available just last week. If you would like to check out what the Xubuntu developers had to say, you can check out the official video below:
Community Voice: Douglas Berdeaux
This week Linux++ is very excited to welcome Douglas Berdeaux, CEO of WeakNet Labs and creator of Demon Linux, a relatively new and interesting distribution focused on penetration testing. Being an expert in cybersecurity, Douglas brings a very unique perspective to the table regarding the Linux ecosystem and the FOSS movement as a whole — one that hasn’t been explored much in Linux++ so far. So, without further ado, I’m happy to present my interview with Douglas:
How would you describe Linux to someone who is unfamiliar with it, but interested?
“To fully describe desktop Linux to someone unfamiliar with it, the process shouldn’t be as easy as simply comparing it to Microsoft Windows, but I must. I would assume that even if the “someone” used Microsoft Windows on a daily basis, they may not be familiar with the components. In some ways this is good. The ‘operating system’ should be transparent. When we say ‘operating system’ in the media and in general contexts, we usually aren’t referring to the UX/UI of the system.
Now, with that said, let’s touch upon just 3 aspects of the ‘OS’. First we have the operating system, which is the kernel. Then we have applications which live outside of the operating system. Some of these applications allow us to interact with hardware and services via the kernel, such as the window manager, network supplicant software, or the file manager.
After describing the functionalities of those components, I would compare them to ‘Windows’ (the actual window manager) and to ‘File Explorer’ if the ‘someone’ was a daily Windows driver. Then, I would express that the operating system should be transparent — meaning the differences that a typical user would notice are in the UI/UX or the Window Manager, such as Xfce, GNOME, KDE [Plasma], etc, and the File Manager software, like Thunar, PCManFM, etc.
One important thing to note is the fact that these are open sourced software and being so, they generally have a lot of actual user-desires (functionality and aesthetics) built into them. Microsoft tends to lean to the opposite by brewing a curious, indistinguishable phase of bugs and features that are meant for a very targeted group of thinker — one that I have never personally met. A lot of developers that I know who code software, web software, artists, video editors, etc., use Linux because of this fact. It makes the job of the creator much more seamless when you can quickly whip up user-defined shortcuts and user-targeted necessities.
It is fully customizable (hence the boom of ‘distros’ in the mid-to-late 2000s) and you, as the user, are commander of your ship. Microsoft Windows is more like a video game or simulation in this regard — you cannot destroy your own ship. In Linux, you have full control over your hardware, software, and services. It’s a much better experience when you can kill off zombie applications without your window manager complaining and/or denying you, or when you issue a ‘reboot’ and your system actually reboots rather than the window manager complaining or denying you.
Also, you cannot inform a newbie on the Linux desktop without mentioning the shell. This is an application which provides you with much power. In fact, more power than most people may realize. See, Linux treats everything as a file, including hardware, input devices, output devices, network devices, etc. The shell (speaking specifically of the Bourne Again Shell or Bash) has a powerful set of applications which manipulate files — awk, sed, and grep, specifically. It also comes with a built-in programming language in which functions are programs that can be used individually with the shell! So, if everything is a file and the shell allows you to manipulate files easily, then you have a very powerful tool at your finger tips.”
What got you hooked on the Linux operating system and why do you continue to use it?
“The power to control my own ship, so to speak. I honestly don’t like Windows or macOS and I honestly couldn’t tell you what they are meant to be used for on computers, but I can certainly tell you what Linux can be used for — everything. The drivers built into the kernel allow much more control over the hardware, the security being built into the kernel offers stronger, more reliable and sane security.
I mean, yeah, it’s not perfect, but it’s open sourced, meaning that is our own fault. There are kernel bugs that are really devastating, but we move on and as a community we disclose and fix them right away. Most of those bugs become the focus of CTF [“Capture the Flag”] or offensive and defensive security trainings, so they still benefit the community in some way.”
What do you like to use Linux for? (Gaming, Development, Casual Use, Tinkering/Testing, etc.)
“I primarily use Linux for development, teaching my students, and penetration testing. I develop applications and even environments used for penetration testing and red-teaming at my consulting job for Schneider Downs, I present and demonstrate cybersecurity and networking concepts to my students at Duquesne University, and even develop my own distribution of Linux (Demon Linux). So, I use it, at the very least, every single work-week day.”
Do you prefer a particular desktop environment(s) or tiling window manager for your workflow and why?
“I prefer to use whatever window manager is lightweight (size and system resources), customizable, and still feels like home. I started using Linux around 2001 and was really into KDE because it probably reminded me of Windows. When I started my own distro, around 2008 — WeakNet Linux Assistant — I used Fluxbox. I eventually moved to GNOME and quickly to Enlightenment, and kept it as the window manager until I decommissioned the distro in favor of WeakNet Linux, which returned back to Fluxbox.
Finally, when I decommissioned WeakNet Linux — around 2 years ago for Demon Linux — I decided to use something more user friendly and I chose Xfce 4, which I am currently in love with. Another great aspect to the Linux Desktop: you get so many choices! I still haven’t used them all, I’m sure. Also, I eat my own dog food, so to speak. I use whatever is currently the default in Demon Linux, as the distro is a ‘scratch your own itch’ kind of product.”
What is your absolute favorite aspect about being part of the Linux and open source community?
“Honestly, the development has to be number one — I love to code and distribute it to my users. My wife says to me, ‘How can you use a computer all day long at work, then come home and use one all night?’. I can’t answer that and it frustrates me. Maybe it’s passion, I don’t know. But, I get sometimes up to multiple emails a day from folks all over the world asking me for help with my code or how to use Linux and I answer every single one that I can with more than just a ‘give a man a fish’ worth of advice. I always educate people how to do good triage research with search engines and famous websites.
If I don’t answer emails, I will dwell on them. If I don’t answer the emails then I am also not contributing back to the community. I love to teach and build things with my hands. The community accepts what I am building and feeds me with complements, criticisms, and even life-long Internet friends. So, maybe it’s symbiosis?”
What is one FOSS project that you would like to bring to the attention of the community?
“Tilix. I LOVE a good terminal emulator and I have to say, Tilix captured my attention straight away. I was using GNOME Terminal, which, when fully loaded, is a hefty package. GNOME Terminal dropped transparency support and I said to myself that I would fork it one day and bring it back, but I am just far too busy over the years with the projects that I have now, so when I heard of Tilix, I snatched it up right away and after using it for a while, released it with Demon Linux as the default terminal emulator. Multiple panes, stylist, and lots of great features!”
Do you think that the Linux ecosystem is too fragmented? Is fragmentation a good or bad thing in your view?
“I wasn’t aware of fragmentation. I’m sorry, I can’t answer that.”
What do you think the future of Linux holds?
“The future of Linux holds flying cars, hoverboards, and jetpacks for all! No, seriously, it can be anything. Linux can drive so much hardware, it’s ridiculous. TVs, phones, desktops and laptops, network appliances…you name it. So, whatever hardware humans create, even aforementioned flying machines, I’m sure that Linux will follow right along to power and secure it.
An operating system as customizable as Linux also means flexible, efficient, and adaptable as well — maybe this topic stems back to your previous question about fragmentation — Linux may be used by so many different professionals and hackers in so many fields that fragmenting the community may make sense to make a more targeted, solid experience for anyone who relies on it for work.
For instance, why would a medical professional need a protocol analyzer? Why would a piece of medial equipment need kernel network drivers patched for packet injection? They might or might not, but rather than make one huge bloated mess, like Microsoft Windows, make it lightweight, speedy, secure, and efficient.”
How did your adventure into developing for Linux come about?
“In a dumpster. Around 2007, I was hacking a lot (check out RAIDING the Wireless Empire on Amazon). I decided that I wanted to stop being paranoid and that I was going to build my own lab. It was going to be called ‘Bell Labs’, but that name was already taken. So, I would take computers out of dumpsters in the city of Pittsburgh and bring them back to life using a live OS (no HDD installation). I wanted all the systems to match up and look uniform in my rooms, so I eventually made my very first version of Linux called ‘WeakNet Linux Assistant’ (as a ‘lab assistant’) and called the lab WeakNet Labs because ‘Our Network is Weak!’.
Once I uploaded it to my website and folks started downloading it, I started to get a few messages here and there asking to add tools and odd things into the distribution. I was running out of bandwidth from the downloads, so I submitted it to ‘Distrowatch’, but they put me on a 90-day probationary period. Then, 13 years later…?”
Where did the idea for a distribution such as Demon Linux come from?
“The live distributions were quick and easy to spin up when they were knocked offline from hacking. Again, I couldn’t afford all the hard disks and every system I pulled off of garbage piles on the side of the road or in dumpsters had optical drives, so that’s how I booted them and used them on the network. I added accounts, configured everything to start up and run with services and such, and even changed the fancy background images to WeakNet Labs logos, etc. Then, I burned a CD or DVD, stuck it in the drive and fired it up.”
Are there any Demon-specific features that you think sets it apart from other distributions, especially those targeted at penetration testing?
“Coming with the Demon App Store, The Demon Pentest Shell, all of my online resources built into the browser, all of the tools for penetration testing, and I guess my artwork (I designed all of the white icons used in the Cybersecurity menu, all wallpapers, logos, start screens, etc.).
Also, the fact that I only add tried and tested default applications makes sense to me. Some distros that I use have a lot of default applications that are clunky, screw with the clipboards, don’t scroll properly, are missing key features (like ALT+mouse click and drag of a window), etc., and that aggravates me when I am relying on them during a penetration test engagement.”
What is your absolute favorite part of working on a project like Demon Linux?
“Trains. When I get on a roll with updates, I can just lose myself in the development. It’s pretty rad. Also, the art. I have been an aspiring artist my whole life and I love using Adobe Photoshop to create all the UI stuff.”
Is there anything exciting planned for the future of Demon Linux, without giving too much away?
“Yes. ‘Scrum Red Team’. I designed an easy-to-spin-up, template-able, cloud-hosted kanban board for penetration testers. This is a full-blown PHP/MariaDB web application with an API to boot. It will be added to the ISO and Demon App Store soon, hopefully. I develop in chunks and create deliverables with my code, so I have it staged and ready, but every now and then I add to it or update it. I haven’t told anyone about it yet, besides one of my coworkers. I even built an operation name generator, using two wordlists, adjectives and nouns, to keep client data out of the Tasks database. The last one it made for me was ‘Silky Meatball’.
Say, for instance, you are red teaming on an engagement and you are all on the same network. You can spin this up and everyone can log in and in real time (using the API) manage tasks to ensure no re-work or wasted time happens on the client’s dime. It’s a pretty neat-looking app. Wanna see it?”
Do you have any major personal goals that you would love to achieve in the near future?
“Oh, I don’t know…maybe raise chitlins — the chitlin market as high as it is. They’re mean little animals, but their coats are worth a fortune!”
I just want to wholeheartedly say thank you to Douglas for taking time out of his extremely busy schedule to prepare an interview with Linux++. With the Cybersecurity industry blowing up, it is always awesome to gain a unique perspective from someone who not only uses Linux, but employs an entire suite of specialized software tools on an everyday basis. I want to thank Douglas for being an extremely friendly interviewee and I wish him, WeakNet Labs, and Demon Linux all the good fortune in their future!
If you would like to follow along with the latest news from Douglas and WeakNet Labs, you can follow him on Twitter, Instagram, or check out the official website here.
Explore the Command Line
It has been quite a while since I posted an exploration of the command line, maybe even since the second issue of Linux++. So, with that in mind its long overdue to get some more command line love out there. Again, since this publication focuses on all levels of user, this information might seem trivial to some, but probably not everyone. This week, I’ll be exploring a very useful command to organize output from the terminal in a more human-readable format — the
An Organized Way to Display Terminal Output
Sometimes, the default format that certain commands display queried information in the terminal can range from decent to practically unreadable due to overcrowded text. This is where the
column command comes into play to make your life easier (your eyes will thank you).
column command will output the data in a much easier to read format. In this particular use of the
column command, we will display information in a table-like format. Go ahead and try it for youself using the above example with only the
mount command (make sure to expand your terminal window for this one):
# Try the normal `mount` command #
You should receive an output that looks something like this (in other words, unreadable):
Now, pipe in the
column command to change your output to look more like the example shown at the head of the section:
~$ mount | column -t
Well, that’s much better! The
-t option is used to tell the
column command that you want the output in a table-like format.
However, this command only works in this specific example because the
mount command separates data using a blank space. What happens if we were to look at different output that uses a separator other than a blank space? Let’s check out the
/etc/passwd file which uses a colon (“:”) as the delimiter:
# First use the normal `cat` command #
~$ cat /etc/passwd
You should see the output displayed in an extremely messy format similar to the image below:
Now let’s try to make this output a bit more human-readable. Due to the separator being something other than a space, we have to provide the
-s option and pass an argument of the particular separator (in this case a colon) to the
~$ cat /etc/passwd | column -t -s :
Now, you should get some much better formatted output similar to the image below:
Wow, what a difference! These are just a couple elementary examples: the
column command can be extremely powerful to achieve more advanced actions like sending well-formated system information to a text file or converting a CSV file to a much easier to parse output. To find out more about what is possible with the column command, check out the manual pages or info pages, which you can do from your terminal by typing:
# Using the help option for column #
~$ column -h
# OR #
~$ column --help
# The manual page for column #
~$ man column
# The info page for column #
~$ info column
I hope that this might bring some benefit to people out there who are learning how to effectively use the command line, I know that this command helped me out significantly when I first started out!
Linux Desktop Setup of the Week
This week’s selection was presented by u/il_trek_ in the post titled [LeftWM] space-ish rice. Here is the screenshot that they posted:
And here are the system details:
OS: Arch Linux
Wallpaper: Space Voyager
Thanks, u/il_trek_, for an awesome, unique, and well-themed LeftWM desktop!
If you would like to browse, discover, and comment on some interesting, unique, and just plain awesome Linux desktop customization, check out r/unixporn on Reddit!
See You Next Week!
I hope you enjoyed reading about the on-goings of the Linux community this week. Feel free to start up a lengthy discussion, give me some feedback on what you like about Linux++ and what doesn’t work so well, or just say hello in the comments below.
In addition, you can follow the Linux++ account on Twitter at @linux_plus_plus, join us on Telegram here, or send and email to firstname.lastname@example.org if you have any news or feedback that you would like to share with me.
Thanks so much for reading, have a wonderful week, and long live GNU/Linux!