Current desktop innovation

Distro Walk – Pop!_OS

© Photo by Jason Leung on Unsplash

© Photo by Jason Leung on Unsplash

Article from Issue 259/2022

Pop!_OS, known for its innovation, customization, and user-friendliness, features one of the easiest tiling desktop options available.

The years 2008-2012 marked an era of innovation for the Linux desktop: Gnome and KDE introduced radically new desktops, and Ubuntu developed Unity. However, the innovations were too much for many users. By the time development of Unity stopped altogether in October 2017, desktop developers had long since become more cautious. The age of bold experimentation seemed to be over. However, Ubuntu's switch from Unity back to Gnome immediately inspired the creation of Pop!_OS by System76, a company best-known for its Linux laptops and workstations [1]. Now, five years later, Pop!_OS has gained a reputation for innovation, particularly for the small enhancements in its installer, the modifications of Gnome and Ubuntu, and, most importantly, an option for the easiest tiling desktop yet.

Jeremy Soller, Pop!_OS's principal engineer, remembers: "When Ubuntu transitioned from Unity to Gnome Shell, the result was something we felt could be improved upon. Creating a new distribution was required due to the large number of changes we wanted to apply to Ubuntu." Over the past five years, this intent has evolved into the COSMIC desktop (which stands for Computer Operating System Main Interface Components, although the full name is rarely used these days), a graphic environment influenced by Unity, elementary OS, and tiling desktops such as awesome and XMonad, with an emphasis on user-friendliness that consists of a variety of small, thoughtful touches (Figure 1).

Figure 1: Pop!_OS's COSMIC desktop showcases its emphasis on user-friendliness.

Sophie Coffey, System76's marketing director, writes that, "Pop!_OS is an operating system for STEM and creative professionals who use their computer as a tool to discover and create. Developers, engineers, and AI/Machine Learning professionals can benefit from Pop!_OS as readily as gaming enthusiasts."

Unlike most modern distributions, Pop!_OS is not a community-driven distribution. Because the code was posted to GitHub, Soller says, "we have community members who do from time to time contribute changes, but this is a minority of the changes that make it into Pop!_OS. Planning is done in our Mattermost instance. Most of the time, this is in a private chat between System76 employees." However, their development system notwithstanding, you can download Pop!_OS for free, and it is mostly free software, aside from some proprietary drivers. Software is available in both DEB and Flatpak formats.

Installing Pop!_OS

The Pop!_OS installer is built around eye-candy graphics reminiscent of pulp science fiction magazines, a theme used throughout the desktop giving it an informal feel that users unaccustomed to installing operating systems might appreciate (Figure 2). More practically, help is hard-coded into the window – for instance, entering a short password produces the message "Not 8 letters," although you are not prevented from using the unrecommended password. In addition, when a choice is made, the titles on navigation buttons change, and, wherever possible, small shortcuts are offered, such as an option to use the same password for the user account and to unencrypt. All these are simple changes, but they should go a long way towards helping users.

Figure 2: Eye-candy graphics give the installer an informal, friendly look.

When Pop!_OS boots for the first time, it starts with the Welcome app, a configuration wizard (Figure 3). Some of its screens, such as the location and time zone, could easily be part of the installer. Others, however, are a useful guide to configuration, such as whether to use a dock, where to place buttons on the top panel, which themes to use, and which social media apps to set up. Given that customization can take much longer than the bare installation, the Welcome app is a guide that I'd like to see more distributions use.

Figure 3: At first boot, Pop!_OS runs a configuration wizard.

Ubuntu and Gnome Tweaks

Like any derivative, Pop!_OS remains closely tied to its parent distribution. However, according to Soller, Pop!_OS differs from Ubuntu in several ways:

  • Mainline – not modified – kernels are used.
  • Mesa updates are backported regularly.
  • Snap is replaced by Flathub for universal package support.
  • The installer has NVIDIA drivers preloaded and usable in a live session.

Even more extensive are the differences between the COSMIC desktop environment and Gnome:

  • Virtual workspaces that are arranged horizontally, rather than vertically
  • A default dock, with several choices for positioning
  • Pop!_Shop, a fork of elementary OS's AppCenter (Figure 4)
Figure 4: Pop!_Shop offers a sweeping collection of packages.

Another major difference is the software selection. Pop!_OS includes standard applications such as Firefox and LibreOffice, but some of its software, such as Geary, is less common. Many utilities are written especially for Pop!_OS, such as the Notifications tool, which is combined with a calendar and has a Do Not Disturb option (Figure 5). The result is a much more unified look than a theme alone can provide – although Pop!_OS also includes its own themes and icon sets. More importantly, Pop!_Shop contains numerous items tailored to the intended audience of engineering professionals. At the top of the entries is a list of services, ranging from general services such as Steam and Slack to more specific services such as Atom and Mattermost for developers. In Pop!_Shop's categories, the selection is equally original. The Graphics category is atypical in its diversity, including such apps as Aeskulap, a medical imaging tool; Birdfont, a font editor; and Cura for 3D printing. You will also find more common apps such as Krita and Gimp and Plasma apps such as Gwenview and Okular, which are not usually found on Gnome installations. Even if you think you know Linux applications, this carefully curated selection is certain to contain choices you have never heard of before.

Figure 5: The Notification window is a good example of how Pop!_OS rethinks standard features.

Probably the greatest difference is that Pop!_OS adds considerably to Gnome's settings (Figure 6). While many of the section headings are the same on both desktops, Pop!_OS has general settings for purposes such as setting the super key, enabling hotspots, and positioning buttons on the top panel. Similarly, the contents and placement of both the dock and workspaces each have several options. As well, under Privacy, Ubuntu's single setting for Connectivity Checking is further enhanced in Pop!_OS with Location Services, Thunderbolt support, and File History & Trash. File History & Trash is especially welcome, with File History acting much like the command history in a terminal and Trash Settings offering the deletion of temporary files and an expiration date. Differences in content make comparisons difficult, but not since Plasma have I seen a desktop with so many practical customization choices. Individual windows can even be customized separately.

Figure 6: Pop!_OS makes extensive changes to Gnome's settings.

Tiling Made Modern

By far the greatest buzz around Pop!_OS is its implementation of tiling. Unlike most desktops, which stack new windows on top of each other, tiling desktops arrange windows in a grid and are designed to be navigated by keyboard. They are almost as old as Linux itself and often used by developers, so at first, Linux veterans might wonder – as I did – what the fuss is about.

So what makes Pop!_OS's implementation so noteworthy? Levi Portenier, System76's QA team lead, comments that "Pop!_OS strives to streamline your workflow, so it only made sense that a user benefit driven feature like auto-tiling would eventually make its way into our desktop design. Pop Shell is built into Gnome, so it doesn't feel quite so foreign for those already accustomed to Gnome (which most Pop users likely are). Tiling in Pop Shell can be toggled on and off very quickly, so experimentation does not have to impact workflow. Plus, users that prefer normal floating mode can just leave tiling turned off."

Without tiling, Pop!_OS, like Unity, encourages users to open one window at a time. Most apps open full-screen, or nearly so, and although windows can be resized with the mouse, doing so can be awkward. This arrangement, I suspect, means that most users will eventually want to try tiling. Tiling is turned on by a slider on the upper right (Figure 7). When tiling is turned on, opening windows are automatically placed on a grid and can be dragged manually to other positions as needed. Practically speaking, any more than four open windows makes each too small to use, but other windows can be added to a virtual workspace or else dragged by the titlebar to be free of the grid and stacked on top of the others.

Figure 7: With a careful choice of controls, the tiled desktop is accessible even to new users.

To make tiling easier, Pop!_OS has several options. Should an application fail to tile properly, it can be set not to tile. Titlebars can display to make navigation easier, and visibility can be improved by setting the size of the gap between windows on the grid. Most useful of all, a hint window displays the keyboard controls for changing the position of the current window on the grid and for changing the size of windows (Figure 8). Any regular user will probably want to learn at least a few of the keyboard controls, just as with other tiling desktops. All the same, Pop!_OS has generally succeeded in making tiling accessible to the average user.

Figure 8: A list of hints makes learning to tile by keystrokes easier.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters