Clear Linux 29590 Clear Linux is a rolling release distro that places a strong emphasis on performance. The distribution focuses on providing optimizations for Intel (and compatible) CPU platforms and often scores well in benchmark tests.



I previously experimented briefly with Clear Linux in 2017 and found it to be very minimal in its features. The distribution presented users with a command line interface by default and, while it was possible to install a desktop environment from the project's repositories, it was not focused on desktop computing. These days Clear Linux is available in several editions. There are separate builds for command line and desktop editions, along with cloud and specially tailored virtual machine builds.



I downloaded the distribution's live desktop edition which was a 2.2GB compressed file. Expanding the download unpacks a 2.3GB ISO. It actually took longer for me to decompress the file than it would have to download the extra 100MB so the compression used on the archive is probably not practical.



Trying to boot from the live desktop media quickly resulted in Clear Linux running into a kernel panic and refusing to start. This was done trying version 29410 of the distribution and, since new versions come along almost every day, I waited a while and then downloaded another version: Clear Linux 29590. The new version had an ISO approximately the same size and, after it passed its checksum, it too failed to boot due to a kernel panic.



I have used Clear Linux on this system before and, though it technically utilizes an AMD CPU, that was not an issue during my previous trial. The current situation does make me wonder if Clear Linux might have optimized itself so much that it is no longer capable of running on previous generation processors. * * * * * Guix System 1.0.1 Since my time with Clear Linux was cut short, I decided to experiment with another operating system, this time turning to Guix System. Guix is a package manager in the same family as Nix and Guix System (formerly Guix System Distribution) is built around the Guix package manager. Through Guix, the operating system provides advanced package management features such as transactional upgrades and roll-backs, reproducible build environments, unprivileged package management, and per-user profiles. It uses low-level mechanisms from the Nix package manager, but packages are defined as native Guile modules, using extensions to the Scheme language.



The Guix System project recently published version 1.0.0 which introduced a new installer as previously the distribution was set up manually from the command line.. The developers then published an update, version 1.0.1, to fix a path error which prevented the Xfce desktop from loading in some situations. I downloaded version 1.0.1 which, when compressed, was a 244MB download. Once the ISO was decompressed, it took up 1.3GB of space.



Installing



Booting from the Guix System (hereafter simply referred to as Guix) media brings up a series of text-based menus. These menus ask us to select our preferred language and our region of the world from lists. We are then given the choice of installing the distribution manually from the command line or using a guided installer. I went with the guided option.



We are then asked to select our time zone and keyboard layout from more lists. The text-based installer then asks how we would like to handle partitioning: guided, guided with encryption, or manual. I went with the manual option and discovered the installer itself cannot be used to create, delete or resize existing disk partitions. If we need to change the disk's layout we can switch to a terminal shell and run the cfdisk utility, or run a live distribution with a partitioning tool prior to working with Guix. Once the disk is partitioned the installer then guides us through assigning partitions to mount points and, optionally, formatting partitions with the Btrfs, ext4, or FAT filesystems. We can also assign a partition to be used as swap space.



Next, the installer asks us to make up a hostname for the system, create a password for the root account and create at least one username/password combination. We can create additional user accounts if we wish. We are then asked to pick one or more desktop environments to install with options including GNOME, Xfce, MATE, Enlightenment, Openbox, awesome, i3, and ratpoison. I decided to go with MATE. The last step asks what extras we would like to enable with the three options being OpenSSH, Tor and Mozilla NSS certificates. I stuck with just the certificates.



The installer then disappeared and the screen went blank for a while, then printed a message which read: "shepherd: Service cow-store has been started." Then it looked like the installer was downloading packages and the system displays progress as packages are copied to the hard drive. In my case the copy process took a little over an hour. Once the installer finishes we can reboot the computer to get started using Guix.



Early impressions



The first time I loaded Guix the boot process took an unusually long time. At one point the system appeared to lock up for about five minutes before continuing. In the end, from boot menu to graphical login screen, the start-up time totalled about ten minutes. Curiously, after the first boot, Guix started up considerably faster, generally taking less than a minute to arrive at the login screen.



Signing into my account from the login screen brought up the MATE desktop. The interface uses a two-panel layout with the Applications, Places and System menus in the upper-left corner of the screen. The system tray is placed in the upper-right. The second panel houses the task switcher and sits at the bottom of the display.





Guix system 1.0.1 -- Running the Icecat web browser

(full image size: 211kB, resolution: 1280x1024 pixels)



Guix System currently runs version 1.22.0 of the MATE desktop. I found the desktop was generally responsive and presented with default settings and themes. This makes the interface somewhat less appealing to look at than MATE on other distributions, but familiar and easy to navigate.



Hardware



When I ran Guix inside a VirtualBox virtual machine I found the system did not automatically integrate with the host system. In particular, resizing the VirtualBox window would not resize the MATE desktop. However, I could go into the MATE settings panel and manually adjust the display to fit my monitor. The MATE desktop worked smoothly and performance tended to be good. There was some sluggishness when moving or resizing windows, but this could be fixed by disabling compositing in the MATE settings.



When running on a workstation, Guix generally performed well. Most of my hardware was detected and the distribution ran quickly on my physical hardware. My one issue when testing Guix on a physical machine was the operating system could not detect my computer's wireless card. I suspect the wireless card requires non-free firmware which the GNU project does not wish to distribute.



An issue I ran into in both test environments was I could not shut down or reboot the computer from within the MATE session. I could logout of the MATE desktop and shutdown or reboot from the graphical login screen, but I could not poweroff the machine while logged in.



When signed into the desktop, Guix used about 375MB of RAM and a fresh install consumed 3.8GB of disk space. These resource requirements are a little on the low end, but the distribution also ships with few applications and services, and resource requirements naturally climbed as I added more features.



Applications



Guix ships with a small collection of desktop utilities, including a document viewer, dictionary, text editor, archive manager and the Caja file manager. NetworkManager is included to help us get on-line, and there is a system monitor and the MATE settings panel. I did not find any web browser, media player or productivity software on the system. The basic GNU command line tools and manual pages are available. In the background we find Guix runs the Shepherd init software and version 5.1.2 of the Linux kernel.



For the most part the default applications worked well. One of the few issues I ran into was with the screen lock functionality. If I left the computer alone for half an hour, the screen would lock. When I came back, sometimes the screen would show me a password prompt and allow me to login. Other times the screen would remain blank and not respond to input. In these instances, I could switch to a text terminal using Ctrl-Alt-F2 and then switch back to the desktop (Ctrl-Alt-F7). At that point the password prompt would appear and I could access my MATE session again.



Package management



A complication some users of Guix System may have is the distribution does not have a graphical front-end to its Guix package manager, and local guides can be hard to find. The MATE help files do not extend to package management, the Guix manual page simply refers us to the Info page, and there is no web browser. This makes it is somewhat challenging to learn about this distribution's centrepiece, its advanced package manager. Even the command "guix --help" only lists the commands the package manager recognizes without any explanation. This makes it difficult to find out, for instance, what the difference is between "guix archive", "guix pack" and "guix package". In short, we should either already know how to use Guix or have a second computer available to look up documentation and examples.



I experimented a little with the package manager, usually following examples in the on-line documentation, but sometimes just running commands which looked familiar to see what they would do. For instance, running "guix refresh" appears to download package data, but then stopped with an error, reporting the user needed to set a token environment variable, which could be found on GitHub. This seemed like a poor arrangement since the distribution doesn't ship with a web browser or Git client.



The "guix upgrade" command can be used to upgrade installed packages. Sometimes this command completed silently and, one assumes, successfully. Other times the command would print a message saying the user should run two other commands: "Consider running 'guix pull' followed by 'guix package -u' to get up-to-date packages and security updates." This seems strange since "guix upgrade" is an alias to "guix package -u". This advice is printed even if the last two commands to be run were "guix pull" followed by "guix upgrade".





Guix system 1.0.1 -- Asked to run update after updating

(full image size: 654kB, resolution: 1280x1024 pixels)



I further discovered that "guix search <word>" could be used to locate packages by name or description. Then the "guix install <package>" would download and install the package. I found "guix search" tends to return a lot of unrelated programs and the results typically were not helpful. Usually I had better luck using "guix package --list-available | grep <word>" to list all available packages and then filter down the ones I might want by keywords.



It is worth noting that the package manager installs programs into the path of the user who runs the package manager. In other words, if I install the Icecat web browser, the browser is in my path, but not visible to other users. Each user gets their own collection of applications. At first this may seem complicated and problematic as it means each user needs to install their own copy of programs. However, it also allows for some flexibility. I can install cutting-edge browsers and development tools while another user installs long-term support versions and conservative tools. Guix allows each user to set up their applications independently.



While Guix, in theory, allows for some very flexible and powerful package management, including roll-backs on transactions, isolated package stores for each user, and generational package versions we can move through, forwards or backwards, I ran into several problems in practise. For example, when I first installed the Icecat browser ("guix install icecat") the download appeared to have completed successfully. But then I could not launch the browser; it was not in my path. I re-ran "guix install icecat" and it again appeared to complete successfully and then I could launch the browser.



Similar issues cropped up often. For instance, after installing Icecat, I installed a few other desktop programs and then found Icecat had disappeared from my path again. The new programs worked, but the web browser did not. I simply downloaded the browser again and then it worked, along with my other applications. This happened a few times with various programs, like the GNU Image Manipulation Program and LibreOffice seemingly disappearing from my path and working again once I had run "guix install <package>" again.



A less significant problem was newly installed programs were not added to my application menu until I had rebooted the computer. I tried logging out and signing back into MATE, but that was not enough to make programs like LibreOffice show up in my menu. Rebooting though did make freshly installed programs appear in the menu.





Guix system 1.0.1 -- LibreOffice running, but not showing up in application menu yet

(full image size: 215kB, resolution: 1280x1024 pixels)



Last, and probably least, I found the Guix package manager to be slow. Granted, it has a lot of extra things to do, but installing even small applications which would take a matter of seconds using pacman or apt could take a few minutes. Guix offers us a lot of flexibility and power, but it comes with a performance trade off.



Conclusions



I only played with Guix System for a few days, but the big issue which kept leaping out at me was the distribution's unpredictability. I was never sure from one hour to the next if a package I had installed would still be available, or if programs were still going to be in my application menu, or if software had been properly updated after running "guix pull; guix upgrade" since the system would immediately tell me to run those same commands over again. These concerns, along with the performance impact of using Guix for package management, make me think most users will not find this distribution has a practical approach.



My own findings surprised me somewhat as I have used, and enjoyed, NixOS in the past and appreciated Nix's many advanced package manipulation features without experiencing the same problems. In fact, I have recommended people run Nix on other distributions as the package manager can be dropped onto other systems like Debian and work smoothly and independently of the host system's default package manager. Nix and Guix share a lot of the same goals and designs, but the practical results were, for me, like night and day. The underlying concepts were similar, but the practise of using Nix and Guix were entirely different and the latter, in my experiments this week, was unreliable. * * * * * Hardware used in this review



My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: Processor: Dual-core 2.8GHz AMD A4-3420 APU

Storage: 500GB Hitachi hard drive

Memory: 6GB of RAM

Networking: Realtek RTL8111 wired network card, Ralink RT5390R PCIe Wireless card

Display: AMD Radeon HD 6410D video card * * * * * Visitor supplied rating



Guix System has a visitor supplied average rating of: 8/10 from 21 review(s).

Have you used Guix System? You can leave your own review of the project on our ratings page.



