Linux Archive

System76 unveils Thelio, a custom Linux workstation

System76, the company making and selling Linux laptops, has unveiled the Thelio, a fully custom designed and built desktop machine. Everything about the machine is custom - from the case to the special IO board that monitors temperatures all across the case and optimizes airflow accordingly. This IO board and the case design are fully open source, so anyone can improve upon the designs or tinker with them.

The Thelios comes in three sizes, and can be specced with anything from basic Ryzen or Core CPUs all the way to Threadripper and dual Xeon processors, accompanied by the usual assortment of Radeon or GeForce video cards. You can add multiple video cards, including the brand new RTX cards. The biggest machine goes up to 768 GB of ECC memory, and if you add all the most expensive bells and whistles, the Thelio Massive will go beyond the €80,000 price point. Luckily, the smallest model starts at a more reasonable €1099.

I like this. This goes way beyond just slapping a few standard components in an off-the-shelf box - this is actually designing a beautiful and airflow-optimized computer running Linux, and that's exactly what we need more of. I'm keeping an eye on this machine, because even though I have no intention of replacing my current workstation, I have to say I am very much tempted by what System76 has done here.

Nitrux: Linux, KDE Plasma 5, Qt and Nomad Desktop

Nitrux is a Linux distribution based on Ubuntu suitable for laptops and desktop computers. Nitrux provides all the benefits of the Ubuntu operating system combined with a focus on portable, redistributable application formats like AppImages. Nitrux uses the LTS branch of Ubuntu as a basis using only the core system and then slowly building up to ensure a clean user experience. Nitrux is suitable for newcomers to Linux as well as *nix experienced users. Nitrux uses KDE Plasma 5 and KDE Applications; we also use our in-house software suite Nomad Desktop adding to the user experience.

This sounds very similar to Elementary OS, but instead of Gnome and Gtk+-oriented, it's built around Qt and KDE technologies. I like distributions that try to do something more interesting than being just another random Gnome or KDE distribution, and I especially like how the open source Linux community seems to be focusing more and more on polish, design, and simplicity lately. Very welcome additions to the Linux world.

Linux 4.19 released

Linux 4.19 has been released. This release adds support for the CAKE network queue management to fight bufferbloat, support for guaranteeing minimum I/O latency targets for cgroups, experimental support for the future Wi-Fi 6 (802.11ax-drafts), memory usage for overlayfs users has been improved, a experimental EROFS file system optimized for read-only use, a new asynchronous I/O polling interface, support for avoiding unintentional writes to an attacker-controlled FIFO or regular files in world writable sticky directories, support for a Intel feature that locks part of the CPU cache for an application, and many other improvements and new drivers. For more details, see the complete changelog.

elementary OS 5 Juno released

Elementary OS, a rather interesting Linux distribution with a very heavy focus on usability, has released its latest release.

elementary OS is made up of two main parts: the "desktop" which includes the core user experience, look and feel, and system pieces; and the apps that come with the OS out of the box. elementary OS 5 Juno includes major updates across several of these core apps.

Elementary OS is sometimes regarded as the macOS of the Linux world, as it aims to pretty much streamline and hide all the less user friendly aspects of using Linux to higher degree than even systems like Ubuntu or Linux Mint. They also consider design a central aspect, which does seem to bear fruit - Elementary looks incredibly attractive.

Snap, Flatpak and AppImage, package formats compared

In recent years, three different distribution independent package formats have gained a lot of popularity. There are already a few Linux distributions like Endless OS and Fedora Silverblue that depend solely on distribution independent packages to run desktop applications. Are these package formats ready to become main packages formats for Linux distributions?

In this article we will take a look at the advantages and disadvantages of each package format individually, and of distribution independent package formats in general.

I haven't really been keeping up with this relatively recent development of new distribution-independent package formats, so I was unpleasantly surprised when, after installing Linux Mint on my laptop, I would often find two different installable packages of the same program in the software manager. Often, these would have different versions.

Regardless of technical merit, that's not exactly a friendly user experience.

What’s a CPU to do when it has nothing to do?

It would be reasonable to expect doing nothing to be an easy, simple task for a kernel, but it isn't. At Kernel Recipes 2018, Rafael Wysocki discussed what CPUs do when they don't have anything to do, how the kernel handles this, problems inherent in the current strategy, and how his recent rework of the kernel's idle loop has improved power consumption on systems that aren't doing anything.

I had no idea doing nothing was this complex.

Killing processes that don’t want to die

Suppose you have a program running on your system that you don't quite trust. Maybe it's a program submitted by a student to an automated grading system. Or maybe it's a QEMU device model running in a Xen control domain ("domain 0" or "dom0"), and you want to make sure that even if an attacker from a rogue virtual machine manages to take over the QEMU process, they can't do any further harm. There are many things you want to do as far as restricting its ability to do mischief. But one thing in particular you probably want to do is to be able to reliably kill the process once you think it should be done. This turns out to be quite a bit more tricky than you'd think.

Linus apologises for his years of abrasive behaviour

Linus Torvalds on the lkml:

This is my reality. I am not an emotionally empathetic kind of person and that probably doesn't come as a big surprise to anybody. Least of all me. The fact that I then misread people and don't realize (for years) how badly I've judged a situation and contributed to an unprofessional environment is not good.

This week people in our community confronted me about my lifetime of not understanding emotions. My flippant attacks in emails have been both unprofessional and uncalled for. Especially at times when I made it personal. In my quest for a better patch, this made sense to me. I know now this was not OK and I am truly sorry.

The above is basically a long-winded way to get to the somewhat painful personal admission that hey, I need to change some of my behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely.

I am going to take time off and get some assistance on how to understand people’s emotions and respond appropriately.

Actions speak louder than words, so we'll see if this sudden realisation will lead to anything tangible.

PowerShell launches as a snap

PowerShell Core from Microsoft is now available for Linux as a Snap. Built on the .NET Framework, PowerShell is an open source task-based command-line shell and scripting language with the goal of being the ubiquitous language for managing hybrid cloud assets. It is designed specifically for system administrators and power-users to rapidly automate the administration of multiple operating systems and the processes related to the applications that run on those operating systems.

Linux Mint 19 released

Linux Mint 19 is a long term support release which will be supported until 2023. It comes with updated software and brings refinements and many new features to make your desktop experience more comfortable.

In Linux Mint 19, the star of the show is Timeshift. Although it was introduced in Linux Mint 18.3 and backported to all Linux Mint releases, it is now at the center of Linux Mint's update strategy and communication.

Thanks to Timeshift you can go back in time and restore your computer to the last functional system snapshot. If anything breaks, you can go back to the previous snapshot and it's as if the problem never happened.

This new release is jampacked with new features and improvements, and I must say this looks mightily intriguing.

A broad overview of how modern Linux systems boot

For reasons beyond the scope of this entry, today I feel like writing down a broad and simplified overview of how modern Linux systems boot. Due to being a sysadmin who has stubbed his toe here repeatedly, I'm going to especially focus on points of failure.

I always find it fascinating to read about how computers boot - it's often a very intricate process, built atop decades of backwards compatibility.

C gfx library for the Linux framebuffer with parallelism support

FBGraphics was made to produce fullscreen pixels effects easily with non-accelerated framebuffer by leveraging multi-core processors, it is a bit like a software GPU (much less complex and featured!), the initial target platform is a Raspberry PI 3B and extend to the NanoPI (and many others embedded devices), the library should just work with many others devices with a Linux framebuffer altough there is at the moment some restrictions on the supported framebuffer format (24 bits).

FBGraphics is lightweight and does not intend to be a fully featured graphics library, it provide a limited set of graphics primitive and a small set of useful functions to start doing framebuffer graphics right away with or without multi-core support.

Neat project.

There’s real reasons for Linux to replace ifconfig, netstat, et al.

One of the ongoing system administration controversies in Linux is that there is an ongoing effort to obsolete the old, cross-Unix standard network administration and diagnosis commands of ifconfig, netstat and the like and replace them with fresh new Linux specific things like ss and the ip suite. Old sysadmins are generally grumpy about this; they consider it yet another sign of Linux's 'not invented here' attitude that sees Linux breaking from well-established Unix norms to go its own way. Although I'm an old sysadmin myself, I don't have this reaction. Instead, I think that it might be both sensible and honest for Linux to go off in this direction. There are two reasons for this, one ostensible and one subtle.

Living in a Docker world

Have you ever tried to install Minecraft and seen an error message like, "This application requires a Java Runtime Environment 1.6.0"? Or you try to install something on Windows, and you get an error that says some .NET framework is missing? Or, as a more basic example, have you ever spent a couple hours setting up a new computer with all your applications and preferences?

Those are the kinds of problems Docker, and "containers" more broadly (Docker is kind of the Kleenex of containers), are meant to solve. Docker makes it easy to install Linux applications on servers, along with their required dependencies and whatever preferences you might have for those applications. And, as an added bonus, conflicting dependencies between applications (maybe one app relies on Python 2, and another app relies on Python 3) aren't an issue, because everything is isolated in different containers.

Google brings Linux applications to Chromebooks

Support for Linux will enable you to create, test and run Android and web app for phones, tablets and laptops all on one Chromebook. Run popular editors, code in your favorite language and launch projects to Google Cloud with the command-line. Everything works directly on a Chromebook.

Linux runs inside a virtual machine that was designed from scratch for Chromebooks. That means it starts in seconds and integrates completely with Chromebook features. Linux apps can start with a click of an icon, windows can be moved around, and files can be opened directly from apps.

It's official now.

Bring your own Linux to Windows

After starting with Ubuntu, Microsoft has added a number of Linux distributions to its Windows Subsystem for Linux (WSL) Linux runtime environment. A Windows machine can simultaneously offer an Ubuntu, SUSE, Debian, and Kali "personality," providing users with a choice of the different distributions' preferences and package management.

But if your distribution isn't yet available or if you want a Linux installation that's customized just the way you like it, there's now an answer: Microsoft has an open source tool for building your own Linux package. The tool is aimed at two groups: distribution owners (so they can produce a bundle to ship through the Microsoft Store) and developers (so they can create custom distributions and sideload them onto their development systems).

Neat.

Linux ported to Nintendo Switch

There are two major reasons I can think of to hack a game console. The first one is obvious: so you can play cracked copies of games. That’s why modern consoles are so difficult to hack, because millions of dollars are on the line.

But some people just want to run any software they choose on the hardware they own. And for those people, Linux on the Switch is a huge achievement.

I'm surprised it even took this long.

The oldest x86 processor still supported by a modern Linux kernel?

What is the oldest x86 processor that is still supported by a modern Linux kernel in present time?

I asked the above quiz question during the Geekcamp tech conference in Nov 2017 during my emcee role. The theoretical answer as you can glean from the title of this post is the 486 which was first released in 1989. I determined that fact from this article where support for the 386 was dropped in Dec 2012.

To get you interested, here is the result of my effort.

Cool project.

Interactive X Linux desktop rendered to TTY and streamed over SSH

I'm travelling around the world and sometimes I don't have very good Internet. If all I have is a 3kbps connection tethered from my phone then it's good to SSH into my server and browse the web through elinks. That way my server downloads the web pages and uses the limited bandwidth of my SSH connection to display the result. But it lacks JS support and all that other modern HTML5 goodness. Texttop is simply a way to have the power of a remote server running a desktop, but interfaced through the simplicity of a terminal and very low bandwidth.

Why not VNC? Well VNC is certainly one solution but it doesn't quite have the same ability to deal with extremely bad Internet. Texttop uses MoSH to further reduce the bandwidth and stability requirements of the connection. Mosh offers features like automatic reconnection of dropped connections and diff-only screen updates. Also, other than SSH or MoSH, Texttop doesn't require a client like VNC. But of course another big reason for Texttop is that it's just very cool geekery.