Ubuntu Core Desktop: new arrival in the immutable space is expected to launch in early 2024

It's immutable, but Ubuntu...
17 November 2023

Will the Ubuntu Core Desktop distinguish itself in the immutable market?

• Ubuntu Core Desktop due for launch in 2024.
• The immutable desktop is expected to deliver more stable operation.
• The Ubuntu Core Desktop is expected to eventually run on standard machines.

We’ve been eagerly awaiting further updates regarding Canonical’s upcoming immutable core desktop. During Ubuntu’s conference (November 3-5), Canonical’s product manager, Oliver Smith, and its engineering manager, Ken VanDine, finally gave some updates and introduced the world to Ubuntu Core Desktop.

They shared insights into what we can expect to see from this desktop distro. A desktop distro is what we call it when the root filesystem is in a read-only state, and there is no traditional package manager in place).

The Ubuntu Core Desktop now has an expected launch date in April 2023.

This Core Desktop has been mistaken as a new version of Ubuntu, but this is not the case. Ubuntu’s next release, codenamed Noble Numbat and numbered 24.04, will come equipped with all the usual bells and whistles. The new release will also implement an immutable Linux system, containing supplementary software from Ubuntu’s containerized software packages and snaps.

Ubuntu Core Desktop is not a fresh new product. As mentioned, Ubuntu Core is Canonical’s Internet of Things (IoT) distro. The intention is to embed it on various edge devices, including smart displays and digital signs.

Immutable desktop explained

An immutable operating system (OS) has certain properties. Firstly, it is read-only. This means that the running system can’t be modified directly by applications or users. When an update has been implemented, it is done atomically. In other words, all updates are applied successfully at once or not at all. The operating system that is most commonly updated is Google’s Linux-based ChromeOS.

Immutable OS applications are typically isolated from one another and the core operating system. This is generally achieved through containerization, ensuring any modifications made by applications do not affect other applications or the core system.

This design of an immutable desktop does not allow users to unintentionally or maliciously change crucial system components. That way, it enhances security, stability, and consistency. This system is favored in certain scenarios, especially for critical systems or those requiring high levels of control and predictability.

Examples of immutable desktops

NixOS, Void OS, and Fedora SilverBlue are a few notable examples of immutable desktop environments.

NixOS adopts a declarative approach, letting users precisely define system configurations and manage packages with the Nix package manager.

Void OS is renowned for its simplicity. It embraces an independent package management system (XBPS) and a runit init system, which provides a lightweight and efficient user experience.

Ubuntu Core Desktop - what will you do with it?

Ubuntu Core Desktop – what will you do with it?

Fedora SilverBlue, a variant of Red Hat’s Fedora, employs an immutable OSTree-based system. Like Ubuntu Core Desktop, Fedora SilverBlue enhances overall stability and security.

These immutable desktops provide users with consistent and secure computing environments. At the same time, they experiment with distinct methodologies and package management systems to align with a user’s unique requirements.

Pros and cons of immutable OS

Immutable operating systems come with benefits and drawbacks. They are well suited to applications that prioritize predictability, security, and stability (think loT devices, high-security environments, and servers), and have become particularly useful in the mobile OS sector, as well as the PC space.

Pros of Immutable Operating Systems:

  • Offers robust security – Immutable desktops make it extremely challenging for dangerous, malicious software to make any alterations to the operating system. Its design also makes it difficult to spread malicious software between different applications.
  • Easier to test – An immutable OS is identical from boot to boot. Therefore, it is simpler to audit, test, and verify the entire system. It is also easier to troubleshoot certain issues.
  • Simplified manageability – Each OS instance is uniform. Therefore, administrators don’t need to stress when there are unexpected alterations or disparities among various systems. The utilization of rollbacks and atomic updates streamline the application of system updates and resolution of issues.
  • Provides good stability – System updates will not leave the OS in an unstable state thanks to atomic updates. Also, users can rest assured that their system files cannot be deleted or changed by accident.

Cons of Immutable Operating Systems:

  • Has limited compatibility – The immutable OS’ isolated or containerized environments are not compatible with all services or applications.
  • Image snapshot storage required – There are particular storage requirements associated with an immutable OS, such as image snapshot storage. Such isolated applications can result in a redundancy in the storage of application dependencies.
  • Not as flexible as a traditional OS – Users are unable to modify their system files in the same manner as they could with a classic OS.

Ubuntu Core Desktop and Snaps: an answer to complex challenges?

Canonical’s Ubuntu Core Desktop is the culmination of innovation spanning a decade in the loT sector. The primary aim is to increase the solid foundation of Ubuntu’s Core into a robust, complete desktop experience. It has been designed to tackle intricate issues as it evolves. Its early incarnation started with single-purpose or thin-client applications, eventually developing into a system that can be used by gamers, homeowners, and software developers.

Oliver Smith announced, “We’re not just building Ubuntu Core Desktop. We’re building a series of components that people can use to build products.” He went on to give an example. “An enterprise IT shop may need to build something that’s custom for them, that has a set of apps that they need to deliver to their users. So we think about this in a modular approach, where all the little pieces they might need are ready to be put together.”

Using such an approach, Smith stated that they have a “gadget snap.” Ultimately, even the Linux kernel is distributed as a snap package. This “defines things like the bootloader, security settings, and encryption.” Ultimately, the Snap Daemon, known as Snapd, will manage all application updates across the whole system.

Snap still has many critics, but there is no doubt it holds some advantages over its rivals, such as Red Hat’s tooling and SUSE. For instance, SUSE needs a snapshot-capable filesystem. This means Btrfs are required by its immutable distros. Yes, there are many fans of this, but reservations remain with Btrfs.

Image of a finger snap.

Get the apps you need in a snap?

Users can update applications automatically when using Snaps. It is also possible to run multiple versions and/or revert applications to the original format if you’re not a fan of the newest version. In addition, the system’s modular feature is expected to help third-party applications to run smoothly.

This remains to be seen, but Ubuntu Core Desktop could play a crucial role in gaining wider acceptance for Canonical’s Snap format. Take Snap’s single-file distribution format, for example. This simplifies installation with transactional capabilities, including rollback, without the need for complex filesystems or distribution methods like libostree.

A GNOME desktop session can be used by the Core Desktop, too, but this is ultimately up to the user. From here, users will be able to tailor their computer experience. For instance, it will be possible to choose from various kernels that have been optimized for unique desktop environments (MATE, KDE, etc) or gaming. Users will have the ability to define what is specifically included in their OS.

Ubuntu Core Desktop: streamlining development

The Ubuntu Core Desktop focuses on privacy and security measures, with features such as full-disk encryption and a snap confinement system for isolating potentially malicious software. For developers, the integration of LXD containers could be a game-changer, helping users streamline their workflows. For gamers, work is ongoing to support Proton and native games.

Ubuntu Core Desktop will be an immutable desktop - which avoids careless overwrites of core data.

“It looks like you’re about to overwrite something incredibly crucial – stop that at once.” – The central principle of the immutable desktop.

With broad peripheral support and driverless printing, Ubuntu Core Desktop aims to be user-friendly. Right now, the developers are in the final stages of testing, documentation, and perfecting its installation.

While no exact release date has been provided, the potential for wider adoption, even on mainstream laptops, was suggested by community manager Alan Pope, after running it on a Steam Deck. Pope said, “I can envisage a future where laptops from well-known vendors ship with Ubuntu Core Desktop by default. These might target developers initially, but I suspect eventually, ‘normie’ users will use Ubuntu Core Desktop.”

Canonical believes it has unique angles with the Ubuntu Core Desktop. There’s no doubt that being a single packaging system from kernel to application, this immutable desktop promises to ensure system integrity for users worldwide.