Salix OS 14.0 Xfce review - Serenity now
Salix OS is a Slackware Linux derivative with focus on simplicity, speed and ease of use. Salix Xfce 14.0 was released on the 26th of November.
What does Salix bring to the table:
- Fully backwards compatible with Slackware
- High quality package repositories with dependency support
- One application per task
- Optimized for desktop usage
- Incredibly fast package tools
- Simple & fully localized system administration tools
- Nice artwork
Whats new with Salix 14.0?
A quick roundup:
Apart from an updated Slackware base, the Salix Xfce team have made some interesting choices for their one application per task philosophy. The most controversial is probably the inclusion of Midori as the default web browser. They have some valid reasons for dropping Firefox but at the end of the day, Midori is alright for some “leisure browsing” but the lack of essential plugins and general usability makes me run back to the old fox.
The Midori browser also uses DuckDuckGo as it’s default search engine which is great for privacy but no so much for getting relevant results. Midori is part of the Xfce goodies project so it makes sense for Salix to include it for a “purer” Xfce experience but it’s probably the first application in a default install to be replaced. Also, OpenJRE 7 is available with the full installation and XFS will now be your default file system.
Salix uses a ncurses based installer, albeit somewhat different from the Slackware version. It’s linear and easy to follow but lacks an option for network configuration. The installer will also guide you through the creation of a default user account before you’re done. I must also say that the installation was faster than anything else I have experienced on this machine, I actually thought I must have missed a step with the installer but it’s really just that fast.
Salix uses the Gslapt package manager, a graphical frontend to slapt-get.
“Slapt-get provides a framework for dependency resolution for packages that follow the Slackware package format.
Gslapt is in my experience no better or worse than any other package manager. Personally I still like to resolve and handle dependencies manually, but for those who want a package manager with dependency resolution, this will surely do as long as the packagers continue to do their magic.
Another subtle difference from Slackware in regard to package management is the use of slkbuild scripts instead of the traditional SlackBuild scripts. I’m curious as to why the Salix developers felt the need to create a new framework instead of using the simpler and self contained SlackBuild templates.
Additionally Salix also uses spkg also known as the The Unofficial Slackware Linux Package Manager for short.
Salix Xfce is primarily a desktop system and covers most of your needs for everyday computing out of the box. When installed there is hardly any need to further configure the system as everything is already taken care of, either by default or during installation.
Salix is fast and simple, and just like Slackware is doesn’t interfere with how you see fit to use the system. Being built on the shoulders of dinosaurs, the system is stable, reliable and a great choice for business or pleasure.
Salix doesn’t install any potential patent restricted multimedia codecs by default, but they include a tool for the job if you choose to install the a forefront mentioned codecs. Afterwards you may then play just about any obscure multimedia format known to man. Adobe flash player is installed out of the box but be aware that this version is old and deprecated (it still get’s security fixes though). Google Chrome is the only browser that offers the latest versions of the Adobe flash player plugin due to Adobe policies.
Look and feel
Whoever does the Salix theming gets my vote. Salix always looks elegant and streamlined and gives a sense of calm and ease, if that’s even possible for an operating system. No intrusive compositing effects, no annoying conky scripts or any widgeting nonsense.
Salix in-house software
Salix does a great job with their Slackware base but how does it measure up with their arsenal of in-house developed software. These tools also (thankfully) follow the “one task per application” philosophy so you won’t get a set of tools that will make impossible to track system wide changes.
I do especially like the localization tools which are a great addition to the system. In fact, I am perfectly fine with using most of the applications instead of editing the corresponding config files by hand, which is the traditional Slackware way of doing it. There are some quirks though which I experienced while trying to modify my lilo.conf.
The “Lilo Setup” application is unfortunately flawed by design.
You get a textfield which contains instructions on how to use the application. The content of this textfield changes when hoovering the mouse above hot-spot areas as buttons or labels. This is just wrong in regards to both design and usability.
Further, if you change the boot menu label, the buttons come alive and you can actually edit the Lilo configuration file in an external text editor. While you edit the configuration file the “Lilo Setup” application hangs while it waits on focus to return from the external editor. If you change the boot loader label from within the editor, this change goes unnoticed as the config file is not parsed by “Lilo Setup” on return.
In fact, during my first edit “Lilo Setup” just terminated when I closed the editor. And if the application didn’t close unexpectedly it wouldn’t save my changes as it insisted that no changes had been made (curiously enough as it’s not possible to activate the save button without making changes). “Lilo Setup” should either be removed altogether or remade from scratch as the current version doesn’t have the quality expected from a Salix tool.
Sourcery is a graphical frontend to slapt-src and can be used to manage (build, install or remove) packages from SlackBuild repositories.
Before using this application you should pay attention to the information from the release notes:
Our mirror of the slackbuilds.org repository now includes limited dependency support. It uses only the data in each SlackBuild’s .info file and these are written with the assumption of a full Slackware installation, so some dependencies may be missing in some cases. Software that is already present in either the Salix binary repositories, or the Salix SLKBUILD repository, will not be visible through our slackbuilds.org mirror
This also imply that if you replace the default repositories with the one from slackbuilds.org, you’ll lose both dependency support and and the ability to exclude programs already available from the Salix repos.
You will probably sooner or later run into missing dependencies due to the lack of libraries that are present in the full Slackware installation. Google Chromium was the first application I tried to install with Sourcery and it failed during building, as Sourcery would inform me.
However, when I tried to open the log, Sourcery unfortunately froze due to high cpu consumption, and I was not able see what caused the compilation to fail. Therefore I had no choice but to use slapt-src to identify the cause of failure. The problem was missing dependencies as expected since SlackBuild scripts are tailored for a full Slackware installation.
Chromium was compiled and installed fine with slapt-src by issuing the following command to rein in the dependencies:
slapt-get -i mozilla-nss yasm slapt-src -i chromium
You can’t exactly blame this on Sourcery but I wonder if it would be better to skip dependency resolution altogether, than to offer a half baked solution. Sure if you compile software you should have the skills to make sure all build time dependencies are met, but since Sourcery is a GUI frontend, you make it accessible to people with a very different opinion on how software installation should work.
I was also able to bork Sourcery by deleting the source repositories from the preferences tab and clearing out the cache. After that mistake it was impossible to open the preferences menu again and Sourcery threw the following error:
Traceback (most recent call last): File "/usr/sbin/sourcery", line 593, in on_menuitem_prefs_activate for i in c.get_all('SOURCE'): File "/usr/lib64/python2.7/site-packages/simpleconfig.py", line 73, in get_all raise ValueError('No option with the name '+option) ValueError: No option with the name SOURCE
You can however recover from this situation by updating slapt-srcrc with the following command:
echo -e "\nSOURCE=http://salix.enialis.net/slkbuild/14.0/\nSOURCE=http://salix.enialis.net/sbo/14.0/">>/etc/slapt-get/slapt-srcrc slapt-src --clean slapt-src --update
Sourcery is a somewhat fascinating tool, but it raises the bar too high with it’s notion of dependency resolution. For now I’ll stick with Sbopkg for my every SlackBuild needs.
Since Salix uses the Slackware repositories you’ll get the same stable software versions that you would get with a regular Slackware installation. I’ve had Salix 13.0.2 installed on a workstation since 2009, and the only times it’s gone down has been due to external power failure.
With high quality software like LibreOffice, VideoLAN and FileZilla in addition to updated versions of your favorite browser would make the Salix repositories a welcome addition to any Slackware based system.
Salix comes in the following flavors: Xfce, MATE, LXDE, Fluxbox, KDE and Ratpoison. The distribution also offers a Live CD for those who just want to have a peek without committing. Did I mention the Ratpoison edition…. how cool is that.
Backwards compatibility with Slackware:
Salix is not just Slackware with dependency resolution, but I would think a substantial amount of it’s users stem from Slackware based distributions. In that respect it’s nice to have a recognizable system with the same philosophy. And if you don’t want to use the GUI applications in Salix, you really don’t have to.
Having the update notifier asking me to enter the root password to log on and apply updates while already having an open Gslapt session is annoying. One would think it would be possible for the update notifier to detect that Glaspt is already running and not open a new instance.
On a dual boot system like mine, having lilo configured to only show the prompt for five seconds just allowed me time to read Sal.. before booting into my Windows recovery partition. Not a good tweak if you ask me.
It’s not possible to turn off wirless with Wicd on my system, trying to do so will result in error messages like these:
Running command [‘rfkill’, ‘block’, ‘wwan’] failed: [Errno 2] No such file or directory
Running command [‘rfkill’, ‘list’] failed: [Errno 2] No such file or directory
Salix in-house software:
The Lilo Setup application is to be frank, just horrible and deviates from the design and logic of the other applications.
Sourcery has a great name and is partly useful, but with a GUI frontend to slapt-src you’re catering to people who won’t be particularly pleased with the need for manual intervention. The cpu consumption while reading large logs and the ability to bork the application if you remove all the repositories should be fixed.
The catchphrase for this review was meant to be “The best distro you’re not using” but after a week of Salix 14.0 Xfce I don’t really feel that is entirely justified. Salix is still a great choice for your desktop but I personally didn’t feel the same kind of attachment to the 14.0 release as I did with the initial Xfce 13.0.2 edition. Maybe it’s the relatively small community and the subsequent lack of useful feedback for the developers that makes it harder to iron out the bugs, but Salix 14.0 has been a long time in development.
Still, if you want a Slackware based distribution you would be hard pressed to find a better alternative to the real thing than Salix.