DistroWatch Weekly, Issue 810, 15 April 2019

Feature Story (by Jesse Smith)

SolydXK 201902 "Xfce" SolydXK is a Debian-based desktop distribution available in Xfce and KDE Plasma flavours. The distribution takes Debian's Stable branch and attempts to build a user friendly desktop experience on top of it. The latest version of the project adds new file system support for flash drives (offering f2fs and nilfs2 file systems). There have also been some changes in the arena of web browsers: We changed the SolydXK Firefox settings even further to improve user privacy and also comply with Mozilla's distribution policies. This is done in the firefox-solydxk-adjustments package which can be purged if you don't need it.



Waterfox is now packaged and distributed by the SolydXK repository. You can install Waterfox with this command: apt install waterfox waterfox-solydxk-adjustments. The official versions of SolydXK run on 64-bit (x86_64) machines only. There are 32-bit x86 ISO files provided by the community and there is a build for Raspberry Pi 3 computers. I opted to try the official Xfce edition which is a 1.5GB download.



The live media boots to the Xfce desktop. The live environment features bright orange wallpaper and offers a single icon on the desktop for launching the system installer. The desktop's panel, with the application menu and system tray, sit at the bottom of the screen.





SolydXK 201902 -- The default desktop and application menu

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



Installing



When I tried launching the installer, at first nothing seemed to happen. Then, after about five seconds, a window opened which appeared to indicate the installer was being updated. Then the installer window opens. The SolydXK installer looks to be a modified version of the Linux Mint Debian Edition installer, which would make sense since the two distributions have some shared history. The installer walks us through selecting our preferred language from a list, confirming our time zone and choosing our keyboard's layout from another list. We are asked to create a username and password for ourselves and, optionally, we can enable auto-login for our user.



Partitioning is a little unusual. We are shown a visual representation of our disk with a list of partitions. We can right-click on partitions to assign them mount points. If we want to create or change a partition we can click a button that opens the GParted partition manager. Once we have finished working with GParted and returned to the installer, we need to click a Refresh button so the installer will see the new disk layout. When I first tried installing SolydXK, the installer refused to proceed past the partitioning screen, reporting my swap partition was the wrong size: it had to be larger than 1GB and no bigger than 4GB. This seems like an odd restriction since many people do not need swap space at all, but I changed my swap space assignment and managed to proceed. The installer then copied its files to my hard drive and completed its work successfully.



Early impressions



SolydXK boots to a graphical login screen that features a bright, orange background. When I first started using SolydXK the distribution took over two minutes to boot. When I looked into this I found that the FreshClam service was running during the boot process. FreshClam is a tool for updating the ClamAV anti-virus software. FreshClam was consuming all available CPU for several minutes and was set to run 24 times per day, starting when the system was booting.



Disabling the FreshClam service reduced boot times to under a minute (less than half what they were originally). The system was still slower than most to boot and further investigation revealed SolydXK was checking for software updates before reaching the login screen which consumed both disk and CPU resources.



When we first sign into SolydXK a welcome screen appears. It gives a short overview of what the distribution is. The welcome screen has multiple pages with most of them listing popular software packages which we can mark to download. The welcome screen offers to install extra multimedia support, bittorrent software, VirtualBox, games, Valve's Steam client, and PlayOnLinux to help us run Windows applications. I like that the welcome screen warns us about potential licensing and security concerns with some of the popular software items.



At first I went through the welcome pages and selected software I wanted to use. Then I clicked the window's Install button. I was told nothing was selected. Then I realized that the Install button only downloads selected items on the current page. We need to treat each page separately, selecting packages and then clicking Install for each page. I started over, queuing up applications to download. On the third page the welcome window crashed, which also stopped the install process running in the background. The next time I signed into my account the welcome window returned and I was able to use it to download a couple of applications.





SolydXK 201902 -- The welcome window

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



The Xfce desktop places its panel at the bottom of the screen. The application menu uses a two-pane layout with categories on the right and specific launchers on the left. The desktop is pleasantly responsive and I had no problems navigating it.



I did run into two problems while using Xfce. The first was that the mouse pointer's image did not always match its context. Specifically, when the mouse pointer was over a pane edge which could be dragged left/right, the pointer displayed the up/down drag symbol. When hovering over a pane edge that could move up/down, the mouse pointer displayed the left/right drag symbol. This happened in both of my test environments.





SolydXK 201902 -- Mouse showing incorrect pointer

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



The other issue was I wanted to change the wallpaper to something less intense. However, the wallpaper switching tool disables browsing into directories, effectively blocking us from changing the background to anything other than one of the wallpapers that ships with SolydXK. I settled for disabling wallpaper and using a solid background colour.



Applications and services



The distribution ships with many popular open source applications, including the Firefox web browser, Thunderbird, the X11VNC remote desktop server and LibreOffice. The Evince document viewer is included along with the VLC multimedia player, the Xfburn disc burning software, an image viewer and a simple scanning tool. There are some other useful items such as a font manager (for installing and removing fonts), a bulk file rename utility and the GNU Privacy Assistant (GPA). The luckyBackup tool is available to help us create archives of our files. Thunar is the distribution's default file manager.



I found the GNU Compiler Collection is installed along with Java. The distribution uses systemd for its init implementation, Network Manager to help us get on-line, and version 4.9 of the Linux kernel.





SolydXK 201902 -- Running LibreOffice and configuring the firewall

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



Some of the included packages are little older than those we find on other desktop distributions. This is due to SolydXK using Debian Stable as its base, which is now about two years old. This means we start off with an older kernel and LibreOffice 5 instead of version 6. Practically this did not impact me, but people who want the latest and great software will probably want to want to enable a backports repository or consider getting newer versions of packages through a portable format such as Flatpak. Flatpak is not installed by default, but it is available in the repositories. It requires some manual setting up, we cannot just go to Flathub.org and click the install buttons of the programs we want; a bit of command line work is required to enable and download Flatpak applications. Flatpaks are not added to the application menu either which means we need to manually create short-cuts or launch Flatpak programs from the command line. This not at all user friendly, but it works and allowed me to run newer versions of applications.



One problem I ran into while web browsing was there were some websites where Firefox would not display images. On most sites, images were displayed, but on a few I would just see broken image outlines. At first I thought this might be a side effect of one of Firefox's extensions SolydXK enables. (Firefox ships with Privacy Badger, HTTPS Everywhere and uBlock enabled.) However, I turned all of these extensions off and the missing images still did not load. Installing another browser (Chromium in this case) did show the images on the same pages so the issue appears to be specific to just Firefox on SolydXK, since the sites worked perfectly on another system running Firefox. I thought Firefox's issues might relate to the comment in the release announcement about the firefox-solydxk-adjustments package, which is installed. I found that removing this package and restarting the browser fixed my issues.



Chromium came with its own frustrations since the browser regularly pops up prompts for our keyring password. This is something which can be worked around or disabled, but it is not a problem users should be forced to deal with.





SolydXK 201902 -- Browsing settings

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



There are two graphical front-ends for managing background services. One, called Services, lists programs which will be run in the background at boot time. The other, called systemadm, allows us to start and stop existing systemd services. While using these tools I made some interesting discoveries. One is that the OpenVPN service and the exim4 mail service are both enabled. I did not find any use for the mail service and disabled it. I also did not find any indication OpenVPN was configured or meant to be used by default which makes me curious as to why it was installed and enabled.



Earlier I mentioned FreshClam runs periodically in the background and, whenever this happened, it slowed the system down quite a lot for a few minutes. Since I was not using the ClamAV scanner, I disabled the FreshClam service. The service continued to run though, probably launched from another tool or script and I ended up un-installing FreshClam and ClamAV to prevent them from consuming CPU and disk resources.



Hardware



I started my experiment with SolydXK in a VirtualBox environment. The distribution played well with VirtualBox, running smoothly and integrating with my host machine and using my display's full screen resolution. I had a similarly good experience when running the distribution on my workstation. Sound, networking (wired and wireless), and my screen were all handled properly.



SolydXK was highly responsive in both environments (when FreshClam was not running) and I liked how quickly Xfce would open menus and launch applications. I also liked that SolydXK ships with the CUPS PDF printer enabled, allowing us to convert any document or image to a PDF.





SolydXK 201902 -- Setting up a printer

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



The distribution was fairly light on memory, using 260MB of RAM. Disk usage was about average for a mainstream Linux distribution, consuming 5GB of space with the default applications.



Software management



SolydXK ships with two graphical tools for dealing with software. One is called Package Updater which simply checks for new software updates to install. During my trial no new packages were made available so I was unable to properly test this tool.





SolydXK 201902 -- Browsing available software

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



The other graphical front-end to APT is simply called Packages. The Packages tool shows a long list of software categories to the left of the window and specific packages on the right. There is a search bar placed at the top of the window. We can then browse categories and mark items to be installed or removed. Packages builds a queue of actions to perform and handles them all in one batch. As far as low-level package managers go, Packages is quite good. It doesn't do anything particularly special or different, and it did not cause me any problems. So far as I could tell, there is no separate software centre for desktop applications.



Conclusions



I struggled quite a bit with my feelings toward SolydXK and I think it is largely because, on paper, the distribution sets out to do a lot of things I like. It uses a stable base, runs an extended support version of Firefox with privacy add-ons, has a nice welcome screen that offers users detailed descriptions of popular applications and provides a couple of top-notch desktop editions. I can even get on board with the idea of providing anti-virus software, not because I feel it is particularly useful, but a lot of people migrating from Windows want to have it. So all of these features strike me as good to have.



However, the implementation of these ideas often yielded unpleasant side-effects. The privacy-focused Firefox broke a couple of websites, the welcome screen crashed when queuing software downloads, the anti-virus updater strongly affected performance and boot times, and the wallpaper selector seems to have been disabled. Trying to work around some of these issues was not always easy, as I found out when dealing with Chromium's many password prompts and the system's inability to work with Flatpak bundles.





SolydXK 201902 -- Trying to select new wallpaper

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



There are still several perks of SolydXK, such as the Xfce desktop's excellent performance, good hardware support and the PDF virtual printer being set up by default. However, I do not feel the distribution is as beginner friendly as it used to be. It seems conservative packaging and privacy (both good things) have taken priority over polish and ease of use (which would also be good things to have). On the whole SolydXK is a good distribution, and worked well once I made some adjustments. After the first day or two, I really appreciated its stable, high-speed desktop and lack of distractions. But there are some bugs to work around and it took me a while to hunt down and remove processes which were causing performance issues and sort out some web browser problems. On the whole this was not a bad release, but there were a lot of rough edges and extra services enabled that did not need to be included. * * * * * 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



SolydXK has a visitor supplied average rating of: 8.9/10 from 112 review(s).

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





Miscellaneous News (by Jesse Smith)

Fedora continues to prune Python 2 packages, KDE Plasma running on the PinePhone, NetBSD's virtual machine monitor arrives About a year ago we reported the Fedora project was planning to phase out Python 2 packages as upstream support for Python 2 was nearing its end of life. A year ago there were over 3,000 packages in Fedora which relied on Python 2, now around 1,000 remain and the effort to drop these packages before Fedora 31's release continues: " Python 2 is reaching end of life, and the current maintainers would like to orphan it. To prevent massive breakage, and to plan help with porting to Python 3, we will systematically track and remove packages that still depend on Python 2. The Fedora 30 change, Changes/Mass Python 2 Package Removal , continues in Fedora 31. We allow packagers to more easily abandon Python 2 parts of their packages (as an alternative to orphaning the whole package). We also start systematically collecting info on what remaining packages need to switch to Python 3. Finally, we'll use an expedited process to remove non-installable Python 2 packages from the distro. plan can be found in the Fedora wiki. * * * * * Back in February we talked about hardware accelerated virtual machines coming to NetBSD. We are happy to report the NetBSD Virtual Machine Monitor (NVMM) is now available in NetBSD's development (-current) branch and will be included in the release of NetBSD 9. The NetBSD blog has some interesting observations with regards to NVMM. " One thing you may have noticed is that the complex emulation machinery is not in the kernel, but in userland. This is an excellent security property of NVMM, because it reduces the risk for the host in case of bug or vulnerability - the host kernel remains unaffected, and also has the advantage of making the machinery easily fuzzable. Currently, this property is not found in other hypervisors such as KVM, HAXM or Bhyve, and I hope we'll be able to preserve it as we move forward with more backends. Another security property of NVMM is that the assists provided by libnvmm are invoked only if the emulator explicitly called them. In other words, the complex machinery is not launched automatically, and an emulator is free not to use it if it doesn't want to. This can limit the attack surface of applications that create limited VMs, and want to keep things simple and under control as much as possible. " * * * * * Later this year the Pine64 organization is expected to release a mobile device for open source operating systems called the PinePhone. The PinePhone is already expected to work with UBports and a development kit for the phone was recently seen running the KDE Plasma Mobile interface on top of the postmarketOS mobile operating system. This means the new phone should be able to run multiple open source operating systems, with multiple user interfaces, by the time it officially launches. * * * * * These and other news stories can be found on our Headlines page.





Technology Review (by Jesse Smith)

Bedrock Linux 0.7.2 People who distro-hop on a regular basis are probably familiar with the desire to mix components of different Linux distributions. Perhaps you want the stability of Debian, but also want to enjoy the benefits of Void's package manager. Or maybe you like the ten years of support provided by CentOS while missing Arch Linux's Arch User Repository (AUR). As someone who tries at least one different distribution every week, I often find myself appreciating how one project has solved a problem and wishing I could merge the best characteristics of all the distributions I have used. If you have had similar feelings you may be interested in an unusual project called Bedrock Linux.



Typically, when people want to enjoy special features of multiple distributions they either dual-boot or run one of the operating systems in a virtual machine. However, both of these approaches have their own issues. Virtual machines require a lot of extra resources to run, since the system is tasked with running two (or more) operating systems at the same time. Dual-booting offers better performance, but prevents the user from quickly switching back and forth between programs and features. Containers try to bridge this gap, offering a lot of the flexibility of virtual machines without the resource overhead. However, containers are meant to contain things - they isolate tasks, files and programs, making it difficult to seamlessly share resources and files.



Bedrock Linux is a meta-distribution which tries to offer a better solution by allowing users to run components from multiple operating systems side-by-side without requiring a virtual machine or container. In fact, one of the big features of Bedrock is that components work together seamlessly; nothing is contained or isolated, components from different distributions are merged together and act as one unified platform.



Some people view Bedrock as a sort of compatibility layer that sits on top of a distribution and makes it possible to run components from other projects (the way people visualize running Docker or VirtualBox on top of an existing distribution). However, it is probably better to think of Bedrock as a layer under a distribution, serving as a foundation where we can place pieces of other distributions. Bedrock is not a Linux distribution itself in the usual sense, it feels more like glue that holds other distributions together.



Personally, I find it tricky to visualize what Bedrock is, I think it is easier to explore how it works by example. To get started with Bedrock we need to begin with an existing Linux distribution. A list of supported projects can be found on the Bedrock Installation Instructions page. Once we have a supported Linux distribution on our computer, we need to download the Bedrock script and run it as the root user. The script performs some special magic that allows new distributions to be added to the system in layers or "strata". We can then reboot the computer and begin adding components from other distributions.



I began my trial with Bedrock by deciding that I wanted to run Void (one of the projects on the list of distributions known to work with Bedrock). My plan was to install a minimal Void system and then add components from Debian that were not available in Void's repositories.



Void's command line only install is quite small, using just 654MB of disk space and requiring 35MB of RAM. I downloaded the Bedrock script and ran it with "sh bedrock-linux-0.7.2-x86_64.sh --hijack initial". The "initial" text in this example is just a label and refers to the first distribution we installed. In this case I could have used the word "original" or "void" with equal effectiveness. The Bedrock script warns us, in red letters, that proceeding will convert our system into a Bedrock platform and that this cannot be reverted. Then it waits for confirmation. Once given permission, the script completes its work almost instantly and asks us to reboot the computer.



When we reboot, at first everything seems the same as before, except we have access to a couple of new commands, the most important one being "brl". The brl command is what allows us to set up other distributions on the system, remove old distributions/layers we no longer need, and run tests to see which layer provides which components. I will get to some examples of this later. Before diving in, I recommend reading the Basic Usage page on Bedrock's website as it provides a very nice overview of how the brl command can be used to manage distribution layers on the system.



I checked the list of distributions Bedrock can fetch and add to an existing system. They are, at the time of writing: Alpine Linux, Arch Linux, CentOS, Debian, Devuan, Fedora, Gentoo, Ubuntu, and Void. Interestingly enough, there are separate entries for Void's libc implementation and Void's musl platform, depending on which system library we want to use.



At any rate, I was already running Void, a minimal, rolling release distribution and I wanted to enjoy the benefits of Debian's large collection of software packages. It was my plan to use the Debian layer to install a desktop environment and a couple of games and see what would happen. I also planned to install the Chrome web browser, which is only available as an RPM or Deb package, and therefore not compatible with Void's XBPS package manager. If this sounds like a tough challenge, it is; I wanted to throw Bedrock in the deep end of the pool and see if it would swim.



I ran the command "sudo brl fetch debian" which downloaded a core collection of Debian packages and consumed 1.1GB of additional disk space. From there I was instantly able to start using Debian's APT package manager from the command line. I installed a few small, command line tools without any problems. The Debian packages installed and worked effortlessly alongside Void's programs, as if I'd installed them using Void's package manager directly. So far, so good.



I then tried something more complicated: installing a desktop environment from Debian's repositories on my Void base. Debian's APT command worked for a while to install KDE Plasma and eventually gave up with a long series of errors, most of them complaining that certain packages could not be configured. After that, I was unable to get APT to work, to either install or remove packages. This was when I discovered one of Bedrock's more useful features: the ability to remove a distribution layer. Running "brl remove debian" wiped the Debian layer off my computer immediately. I was effectively back to a Void-only experience in a matter of seconds. I could then re-install Debian using "brl fetch debian" and start over with a fresh slate.



I tried again to install a desktop environment from Debian's repositories, this time grabbing Xfce packages. This process also failed, and the key issue appeared to be that Debian's APT could not find udev software on my system. Ultimately several packages, including the X.Org server could not be configured.



I realized that this might be too tricky of a test for Bedrock. I was starting with a minimal, rolling distribution and attempting to install a larger, static distribution and desktop on it. This was a lot to ask and probably backwards to the way most people would approach mixing distributions. I decided to start over with a stable, Debian-based distribution and add rolling release packages to it.



I installed MX Linux on my machine next and then ran the Bedrock script. This appeared to go smoothly, but when I rebooted the computer I quickly ran into a couple of problems before getting to the next stage of installing a second distribution's packages. My login times had increased by about 20 seconds, whether signing in from the graphical login page or from the command line. Further, I found MX was no longer able to connect to the network and my user account was blocked from editing the network configuration.



Some research on the Bedrock website provides an explanation. Distributions that are running SysV init are listed as a potential problem. For the initial distribution it seems we should be using either systemd or runit as the init implementation. Armed with this information, I made a third attempt to work with Bedrock, installing Ubuntu MATE 18.04 LTS as the initial distribution and "hijacking" it with the Bedrock script.



Ubuntu MATE installed smoothly, using about 5GB of my disk space. I then converted the system into a Bedrock platform and used the brl command to install a layer of the Void distribution: "sudo brl fetch void". This raised the amount of disk space consumed to about 6GB. I was then immediately able to start using Void's package manager to install software from the Void repositories. In fact, at one point I decided to stress test the combined distributions a bit by performing a batch of upgrades from Ubuntu MATE's repositories and, at the same time, I used Void's XBPS package manager to install a couple of new desktop applications. Both processes ran smoothly and completed flawlessly. Afterwards Ubuntu MATE was up to date and a couple of new Void programs had been added to MATE's application menu.





Bedrock Linux 0.7.2 -- Installing new Void packages and updates from Ubuntu MATE

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



At this point it seems like a good time to mention that Bedrock offers a tool to report which layer provides a given resource. For instance, running "brl which 1" will tell us which distribution layer launched PID 1 (init). The command "brl which ls" tells us which layer installed the ls command. Should we install multiple distributions from the same family, such as Debian and Ubuntu, we can find out which one provides the default APT tools by running "brl which apt". This helps the user from getting mixed up as to which layer does what.



In the case two layers both provide the same command, we can run one specific version of the program using the strat command. For example, running "strat ubuntumate apt update" makes sure we are updating Ubuntu MATE's package list. I found running system identifying commands, such as lsb_release interesting as different stratum provided different output. "strat void lsb_release -a" and "strat ubuntumate lsb_release -a" gave entirely different identifications for the merged operating system.





Bedrock Linux 0.7.2 -- Finding out which layers provide components

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



The only problem I ran into when experimenting with my combined Ubuntu MATE and Void system was that some programs installed to the Void layer were added to the MATE application menu, but others were not. The Falkon web browser immediately showed up in the menu, but the GNU Image Manipulation Program did not, even after I had signed out and logged back into my account. It was fairly straight forward to set up a short-cut for programs which did not automatically show up in the menu and this provided me with seamless access to newer versions of programs without the hassle that comes from trying to work with portable package formats.



What I found from using Bedrock Linux is that this meta-distribution offers a very powerful approach to working with software from multiple sources and allows some Linux distributions to work on the same partition with very little overhead or resource usage, compared to virtual machines and containers. This is, in my experience, less effort and results in fewer side effects than working with portable packages and allows for smoother integration as Bedrock does not isolate system components from each other.





Bedrock Linux 0.7.2 -- Running Void's Falkon on Ubuntu MATE's desktop

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



There are some limitations. Bedrock does not, as far as I can tell, allow different layers to provide different desktop environments. And Bedrock does not work well with SysV init yet, though the lead developer tells me this will be addressed in a future release. In short, I would not suggest using Bedrock to run complete, multi-desktop distributions mixed together. However, I do think Bedrock is ideal for installing a handful of applications and command line tools on an otherwise complete main operating system and makes the experience much faster and more pleasant than dual-booting or firing up a virtual machine. * * * * * After my initial trial I had a chance to exchange e-mails with Daniel Thau, the creator of Bedrock Linux. We discussed some of the issues I ran into with converting MX Linux into a Bedrock system and sorted out most of the problems. We found the login and permission issues were due to some missing directories the login process was looking for under the /run directory and my connection problems were mostly tied to /etc/resolv.conf not being linked to a file containing DNS information. There are still a few minor issues to sort out, such as not being able to reboot the computer from within the desktop environment, and he recommended not running Bedrock with MX Linux in a production environment until this problem is resolved. However, personally, with my main two problems sorted out, I found I was able to use my hybrid MX/Bedrock/Void system fairly well and it sounds as though the remaining issues with MX and other (SysV init distributions) will probably be resolved in the next release of Bedrock.





Released Last Week

Torrent Corner

Upcoming Releases and Announcements

Opinion Poll

Reviewing an Ubuntu edition Next week a new release of Ubuntu and its many community editions is expected to arrive. We are planning to review one of the Ubuntu 19.04 flavours and are open to suggestions as to which one deserves a look. Which one would you like to see us talk about in a future Weekly?



You can see the results of our previous poll on important web browser features in last week's edition. All previous poll results can be found in our poll archives.



Reviewing an Ubuntu edition



Kubuntu: 443 (18%) Lubuntu: 249 (10%) Ubuntu: 470 (19%) Ubuntu Budgie: 179 (7%) Ubuntu Kylin: 41 (2%) Ubuntu MATE: 422 (17%) Ubuntu Studio: 135 (6%) Xubuntu: 485 (20%)